LINUX.ORG.RU

История изменений

Исправление HighMan, (текущая версия) :

А дальше, не знаю, может начинать вставлять отладочную печать в swich_root и пр. бинарники, то есть править исходники и перекомпилять. Так как не понято на каком этапе падает, там у вас 4 бинарника: runas, environ, swich_root, systemd и каждый, если завершается, а не превращается в другой через exec(), то это ″kill init!″…

Строка выпадения в основную систему взята из родного init скрипта.

Что интересно все работает нормально, если не вызывать: exec setsid bash -c ‘exec bash </dev/tty1 >/dev/tty1 2>&1’ Если же вызвать, посмотреть наличие смонтированного root раздела, то при выходе из bash все падает

UPD странная история…

После выхода из bash я добавил еще несколько строк, включая echo и, блин, они не срабатывают! Получается, что как только завершается сеанс вызванного bash, то он завершает и bash в котором крутится вызвавший его /init.

Еще: в порожденном процессе bash я посмотрел его PID и он 1. Т.е. это не породился новый процесс, а как-то он продолжает работать в основном! Его завершение приводит к завершению всго init процесса.

Что-то начало проясняться…

Исправление HighMan, :

А дальше, не знаю, может начинать вставлять отладочную печать в swich_root и пр. бинарники, то есть править исходники и перекомпилять. Так как не понято на каком этапе падает, там у вас 4 бинарника: runas, environ, swich_root, systemd и каждый, если завершается, а не превращается в другой через exec(), то это ″kill init!″…

Строка выпадения в основную систему взята из родного init скрипта.

Что интересно все работает нормально, если не вызывать: exec setsid bash -c ‘exec bash </dev/tty1 >/dev/tty1 2>&1’ Если же вызвать, посмотреть наличие смонтированного root раздела, то при выходе из bash все падает

UPD странная история…

После выхода из bash я добавил еще несколько строк, включая echo и, блин, они не срабатывают! Получается, что как только завершается сеанс вызванного bash, то он завершает и bash в котором крутится вызвавший его /init.

Еще: в порожденном процессе bash я посмотрел его PID и он 1. Т.е. это не породился новый процесс, а как-то он продолжает работать в основном! Его завершение приводит к завершению всго init процесса.

Честно говоря, не понимаю как это разрулить.

Исправление HighMan, :

А дальше, не знаю, может начинать вставлять отладочную печать в swich_root и пр. бинарники, то есть править исходники и перекомпилять. Так как не понято на каком этапе падает, там у вас 4 бинарника: runas, environ, swich_root, systemd и каждый, если завершается, а не превращается в другой через exec(), то это ″kill init!″…

Строка выпадения в основную систему взята из родного init скрипта.

Что интересно все работает нормально, если не вызывать: exec setsid bash -c ‘exec bash </dev/tty1 >/dev/tty1 2>&1’ Если же вызвать, посмотреть наличие смонтированного root раздела, то при выходе из bash все падает

UPD странная история…

После выхода из bash я добавил еще несколько строк, включая echo и, блин, они не срабатывают! Получается, что как только завершается сеанс вызванного bash, то он завершает и bash в котором крутится вызвавший его /init.

Исходная версия HighMan, :

А дальше, не знаю, может начинать вставлять отладочную печать в swich_root и пр. бинарники, то есть править исходники и перекомпилять. Так как не понято на каком этапе падает, там у вас 4 бинарника: runas, environ, swich_root, systemd и каждый, если завершается, а не превращается в другой через exec(), то это ″kill init!″…

Строка выпадения в основную систему взята из родного init скрипта.

Что интересно все работает нормально, если не вызывать: exec setsid bash -c ‘exec bash </dev/tty1 >/dev/tty1 2>&1’ Если же вызвать, посмотреть наличие смонтированного root раздела, то при выходе из bash все падает