LINUX.ORG.RU

Самописный init


0

0

Гружу ядро с параметром init=/my_prog.

my_prog пишет нечто в файл /my_file.txt и потом заканчивается.

1. Что нужно написать в my_prog, чтобы сбросить буфера на диск? 2. Что нужно написать в my_prog, чтобы ребутнуть машину?

Зранее спасибо за помощь.


Re: Самописный init

через /proc/sysrq-trigger можно(там же и кэш сбросишь), можно так же устроить кернел-паник с echo "10" > /proc/sys/kernel/panic. Короче, вариантов много.

Я рекомендую перед ребутом делать mount -no remount,ro / на всякий случай, а другие разделы вообще отмонтировать.

true_admin ★★★★★ ()
Ответ на: Re: Самописный init от true_admin

Re: Самописный init

>> можно так же устроить кернел-паник с echo "10" > /proc/sys/kernel/panic

Это не устроит kernel panic. Это настройка задержки перед перезагрузкой когда ядро уходит в kernel panic.

Deleted ()
Ответ на: Re: Самописный init от Deleted

Re: Самописный init

конечно не устроит, это даст перезагрузить тачку. Я же говорю, надо и кернел паник и эту сиськтльку.

Кстати, совсем, забыл, через /proc/sysrq-trigger можно ребутнуть тачку. Или посмотреть исходники команды halt :)

true_admin ★★★★★ ()
Ответ на: Re: Самописный init от random_code

Re: Самописный init

> reboot в init'е даст 'Kernel panic: attempt to kill init'.

это значит что init кривой, он и не должен подыхать. Обычно такое бывает когда init=/bin/bash.

Такая надпись появляется когда init подыхает, соотв. если не сдохнет то не появится :). Делаешь reboot -f и нет проблем. Тока диски отмаунтить надо итп.

true_admin ★★★★★ ()
Ответ на: Re: Самописный init от random_code

Re: Самописный init

> reboot в init'е даст 'Kernel panic: attempt to kill init'.

никто не говорил, что fork запрещен. Хотя я честно говоря сомневаюсь, что reboot завершает текущий процесс, делающий этот системный вызов, так что откуда вы это взяли - хз.

quarck ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.