Как я могу удаленно отладить поврежденный initrd?

[113359]flock - управляет замками из скриптов оболочки
  • man flock
  • , например
  • flock -x lockfile -c команда[113366].

    2
    30.07.2014, 01:09
    2 ответа

    После начала сеанса SSH, другие сеансы могут писать и там, записывая в /dev/pts/. Поэтому, чтобы увидеть, что происходит, так как я уже могу контролировать, какой PID 1 будет в конечном итоге запущен, мне просто нужно заставить его написать туда. Используя exec 0<>/dev/pts/0 1<>/dev/pts/0 2<>/dev/pts/0 из PID 1 и убедившись, что там больше ничего не читается/не записывается, я могу увидеть, что происходит. Когда в конце концов это не удаётся, скрипт init дистрибутива спрашивает, что делать, и даже правильно отвечает мне, вводя R, чтобы перезагрузиться.

    Похоже, что реальная проблема, с которой я столкнулся, вызвана тем, что требуемые модули ядра не загружаются. Несмотря на то, что я смог заставить всё работать вручную, что, очевидно, означает наличие и загрузку модулей блоков, RAID и файловой системы, initscript дистрибутива полагается на udev, и оказывается, что требуется несколько дополнительных модулей, в частности unix (который я бы никогда не выбрал сам, чтобы не встраиваться в ядро).

    0
    27.01.2020, 22:59

    Общая идея для этого заключается в замене init на скрипт, который порождает initrd-основанный бутскрипт в фоновом режиме, переходит к монтированию системного корня и делает [ -x /root/sbini/init ] && exec chroot /root /sbin/init. (Поместите некоторый код ниже, чтобы справиться с несуществующим.)

    .
    0
    27.01.2020, 22:59

    Теги

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