Здравствуйте. У меня возникла проблема при запуске приложения Qt gui. При запуске приложения из-под рута ядро падает в панику с сообщением и попытке убиения init.
Цитата Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
CPU: 0 PID: 1 Comm: init Not tainted 3.16.1 #3
[<c000d5d8>] (unwind_backtrace) from [<c000bd20>] (show_stack+0x10/0x14)
[<c000bd20>] (show_stack) from [<c0267ab4>] (panic+0x78/0x1d0)
[<c0267ab4>] (panic) from [<c0016364>] (do_exit+0x378/0x75c)
[<c0016364>] (do_exit) from [<c0017408>] (do_group_exit+0x4c/0xb0)
[<c0017408>] (do_group_exit) from [<c0020498>] (get_signal_to_deliver+0x424/0x474)
[<c0020498>] (get_signal_to_deliver) from [<c000b45c>] (do_signal+0xa8/0x3a0)
[<c000b45c>] (do_signal) from [<c000b8a4>] (do_work_pending+0x5c/0xe0)
[<c000b8a4>] (do_work_pending) from [<c00095dc>] (work_pending+0xc/0x20)
---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
При запуске из-под пользователя с ограниченными правами - segmentation с зависанием системы.
Причем приложения qt, не использующие gui, работают нормально. Подозреваю, что что-то неправильно в настройке framebuffer либо в ядре, либо в qt. Проблема повторяется для разных версий qt 4 и 5.
В ядре в DTS настроен framebuffer:
Цитата fb0: fb@0x00500000 {
display = <&display0>;
status = "okay";
display0: display {
bits-per-pixel = <32>;
atmel,lcdcon-backlight;
atmel,dmacon = <0x1>;
atmel,lcdcon2 = <0x80008002>;
atmel,guard-time = <9>;
atmel,lcd-wiring-mode = "RGB";
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <9000000>;
hactive = <480>;
vactive = <272>;
hback-porch = <2>;
hfront-porch = <2>;
vback-porch = <22>;
vfront-porch = <0>;
hsync-len = <48>;
vsync-len = <16>;
};
};
};
};
В конфигурации qt в билдруте включена поддержка linux framebuffer.
Ядро 3.16.1 для at91sam9 с поддержкой dts
Цитата #
# Other GUIs
#
# BR2_PACKAGE_EFL is not set
BR2_PACKAGE_QT=y
BR2_PACKAGE_QT_DEBUG=y
BR2_PACKAGE_QT_DEMOS=y
# BR2_PACKAGE_QT_TRANSLATION_FILES is not set
BR2_PACKAGE_QT_EXAMPLES=y
BR2_PACKAGE_QT_SHARED=y
# BR2_PACKAGE_QT_STATIC is not set
BR2_PACKAGE_QT_LICENSE_APPROVED=y
BR2_PACKAGE_QT_CONFIG_FILE=""
# BR2_PACKAGE_QT_QT3SUPPORT is not set
BR2_PACKAGE_QT_GUI_MODULE=y
#
# Pixel depths
#
#
# Deselecting each option leads to Qt's default (8,16,32)
#
# BR2_PACKAGE_QT_PIXEL_DEPTH_1 is not set
# BR2_PACKAGE_QT_PIXEL_DEPTH_4 is not set
BR2_PACKAGE_QT_PIXEL_DEPTH_8=y
# BR2_PACKAGE_QT_PIXEL_DEPTH_12 is not set
# BR2_PACKAGE_QT_PIXEL_DEPTH_15 is not set
BR2_PACKAGE_QT_PIXEL_DEPTH_16=y
# BR2_PACKAGE_QT_PIXEL_DEPTH_18 is not set
BR2_PACKAGE_QT_PIXEL_DEPTH_24=y
BR2_PACKAGE_QT_PIXEL_DEPTH_32=y
#
# Fonts
#
BR2_PACKAGE_QT_FONT_MICRO=y
BR2_PACKAGE_QT_FONT_FIXED=y
BR2_PACKAGE_QT_FONT_HELVETICA=y
# BR2_PACKAGE_QT_FONT_JAPANESE is not set
# BR2_PACKAGE_QT_FONT_UNIFONT is not set
BR2_PACKAGE_QT_NOFREETYPE=y
# BR2_PACKAGE_QT_QTFREETYPE is not set
# BR2_PACKAGE_QT_SYSTEMFREETYPE is not set
# BR2_PACKAGE_QT_GIF is not set
# BR2_PACKAGE_QT_LIBMNG is not set
BR2_PACKAGE_QT_NOJPEG=y
# BR2_PACKAGE_QT_SYSTEMJPEG is not set
# BR2_PACKAGE_QT_QTJPEG is not set
BR2_PACKAGE_QT_NOPNG=y
# BR2_PACKAGE_QT_SYSTEMPNG is not set
# BR2_PACKAGE_QT_QTPNG is not set
BR2_PACKAGE_QT_NOTIFF=y
# BR2_PACKAGE_QT_SYSTEMTIFF is not set
# BR2_PACKAGE_QT_QTTIFF is not set
BR2_PACKAGE_QT_QTZLIB=y
# BR2_PACKAGE_QT_SYSTEMZLIB is not set
# BR2_PACKAGE_QT_SQL_MODULE is not set
#
# Graphics drivers
#
BR2_PACKAGE_QT_GFX_LINUXFB=y
# BR2_PACKAGE_QT_GFX_TRANSFORMED is not set
BR2_PACKAGE_QT_GFX_QVFB=y
# BR2_PACKAGE_QT_GFX_VNC is not set
# BR2_PACKAGE_QT_GFX_MULTISCREEN is not set
#
# directfb Qt driver not available (need directfb)
#
#
# Mouse drivers
#
# BR2_PACKAGE_QT_MOUSE_PC is not set
# BR2_PACKAGE_QT_MOUSE_LINUXTP is not set
BR2_PACKAGE_QT_MOUSE_LINUXINPUT=y
# BR2_PACKAGE_QT_MOUSE_TSLIB is not set
# BR2_PACKAGE_QT_MOUSE_QVFB is not set
#
# Mouse Options
#
# BR2_PACKAGE_QT_MOUSE_NO_QWS_CURSOR is not set
#
# Keyboard drivers
#
# BR2_PACKAGE_QT_KEYBOARD_TTY is not set
BR2_PACKAGE_QT_KEYBOARD_LINUXINPUT=y
# BR2_PACKAGE_QT_KEYBOARD_QVFB is not set
#
# Phonon module needs gstreamer
#
# BR2_PACKAGE_QT_DBUS is not set
BR2_PACKAGE_QT_XML=y
# BR2_PACKAGE_QT_XMLPATTERNS is not set
# BR2_PACKAGE_QT_MULTIMEDIA is not set
# BR2_PACKAGE_QT_SVG is not set
BR2_PACKAGE_QT_NETWORK=y
BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT=y
# BR2_PACKAGE_QT_WEBKIT is not set
# BR2_PACKAGE_QT_STL is not set
# BR2_PACKAGE_QT_OPENSSL is not set
BR2_PACKAGE_QT_SCRIPT=y
# BR2_PACKAGE_QT_SCRIPTTOOLS is not set
# BR2_PACKAGE_QT_DECLARATIVE is not set
# BR2_PACKAGE_QT_TEST is not set
#
# QT libraries and helper libraries
#
# BR2_PACKAGE_GRANTLEE is not set
# BR2_PACKAGE_QEXTSERIALPORT is not set
# BR2_PACKAGE_QJSON is not set
# BR2_PACKAGE_QTUIO is not set
# BR2_PACKAGE_QWT is not set
BR2_PACKAGE_QT5_JSCORE_AVAILABLE=y
В пользу правильной настройки в ядре говорит наличие пингвина на экране с начала загрузки ядра, он и не пропадает никуда при запуске приложения qt.
Если не трудно, проверьте, пожалуйста, конфиги, наверняка я где-то лажанулся.