Как запустить скрипт перед Switch_root в initramfs?

Это потому, что команда echo не является частью сценария. Сценарий выполняется в подоболочке en, ​​когда сценарий завершает работу, переменная FILES больше не доступна. Чтобы сделать переменную FILES доступной для текущей оболочки, используйте:

$ source ./TEST.txt
$ echo ${FILES[@]}
1
03.08.2018, 08:07
2 ответа

Создайте сценарий очистки как/etc/initramfs-tools/scripts/init-bottom/cleanup.sh:

#!/bin/sh
echo "Killing dropbear"
killall dropbear
exit 0

...и сделать его исполняемым:

chmod +x /etc/initramfs-tools/scripts/init-bottom/cleanup.sh

Обновите initramfs как обычно:

update-initramfs -u 
0
27.01.2020, 23:43

У вас уже есть скрипт, который вызывает переключатель _root, поэтому просто вставьте туда строку, чтобы остановить dropbear.

Вы также можете остановить его из вашего ssh-соединения. Как только вы входите в систему, есть два процесса dropbear. Первый — это процесс, который принимает новые соединения, второй — это процесс, обслуживающий ваше соединение. На этом этапе вы можете убить первый процесс, так как вам не нужно более одного соединения. Второй процесс завершится после отключения.

На этом раннем этапе процесса загрузки вы можете быть уверены, что процесс, принимающий новые подключения, имеет меньший номер процесса, хотя есть и другие способы его идентификации.

1
27.01.2020, 23:43

Теги

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