Перезагрузите систему из initrd, не вызывая панику ядра

871
reox

Я хочу запустить ядро ​​Linux через pxe boot, загрузить очень маленький initram, сделать там несколько работ и перезагрузить машину.

поэтому мой скрипт инициализации выглядит так:

#!/bin/sh -e # used for initramfs export PATH . /lib/debian-installer/init-debug debugshell "just booted"  mount /proc mount /sys /lib/debian-installer/start-udev  udhcpc  tftp -l - -r /srv/tftp/welcome_test -g 10.10.10.1 sleep 10  reboot 

В основном я скопировал скрипт Debian Netinstaller и немного изменился.

проблема в том, что теперь, если я хочу перезагрузиться, я получаю эту панику ядра:

Kernel Panic - not syncing: Attemted to kill init! 

так как я могу просто перезагрузиться после того, как я сделал свою работу на машине? или мне нужно запустить отдельный скрипт через init?

1

1 ответ на вопрос

0
reox

okay i just oversaw a fact that i did not spawned any init process yet so i was just running in kernel mode all the time... strange things happen there :D

so i i adjust the script with a

exec busybox init 

and create a /etc/inittab rule like

::sysinit:/bin/bash /bin/reinstall.sh 

it works really fine!

Похожие вопросы