У меня есть встроенная система ARM с процессором AT91SAM9G45.
Система состоит из двух компонентов:
- Ядро Linux (4.14.79)
- Busybox 1.29.3 как образ initramfs.
Я подключаюсь к устройству, используя шпаклевку и подключаясь к последовательному порту.
Когда ядро запускается, все идет хорошо.Ядро распаковывает образ initramfs, все файлы найдены и перечислены (я вижу это по сообщениям отладки).Но когда он запускается / init, сообщения журнала:
Freeing unused kernel memory: 384K
This architecture does not have kernel memory protection.
run_init_process BEFORE /init
run_init_process AFTER /init, result = 0
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
/ init - это символическая ссылка на / bin / busybox.Я попытался заменить / init на / sbin / init, / bin / busybox, / linuxrc, но результаты те же.
/ etc / inittab file:
# Begin /etc/inittab
id::initdefault:
si::sysinit:/etc/init.d/rc S
#l0::wait:/etc/rc.d/init.d/rc 0
#l1::wait:/etc/rc.d/init.d/rc 1
#l2::wait:/etc/rc.d/init.d/rc 2
#l3::wait:/etc/rc.d/init.d/rc 3
#l4::wait:/etc/rc.d/init.d/rc 4
#l5::wait:/etc/rc.d/init.d/rc 5
#l6::wait:/etc/rc.d/init.d/rc 6
ca::ctrlaltdel:/sbin/shutdown -t1 -a -r now
su::once:/sbin/sulogin
1::respawn:/sbin/getty ttyS1 115200
2::respawn:/sbin/getty ttyS2 115200
3::respawn:/sbin/getty ttyS3 115200
4::respawn:/sbin/getty ttyS4 115200
5::respawn:/sbin/getty ttyS5 115200
6::respawn:/sbin/getty ttyS6 115200
# End /etc/inittab
/ etc /Файл init.d / rcS (разрешено выполнение этого файла):
#!/bin/busybox sh
echo "Hello world!"
Я не знаю, запускается ли хотя бы / init процесс синтаксического анализа / etc / inittab или он падает до получения / etc / inittabнекоторые причины, которые я не могу выяснить.Возможно, в моих файлах / etc / inittab и /etc/init.d/rcS есть ошибки.Возможно, есть некоторые ошибки с терминалом (/etc/init.d/rcS не может записать в стандартный вывод, потому что он заблокирован, приостановлен, используется другим процессом и т. Д.).
Как точно убедиться, что / etc / inittab запущен?