Если вы пытаетесь сделать это с помощью стандартных утилит, вам определенно придется найти очень хаковый обходной путь. В противном случае используйте whiptail
--
http://xmodulo.com/create-dialog-boxes-interactive-shell-script.htmlили pv
--
http://www.ivarch.com/programs/pv.shtml.
Поскольку у вас все равно есть Ubuntu, вам не нужно устанавливать другой дистрибутив. Иметь в загрузчике запись, которая запускает одну программу вместо обычной сессии. То есть, сделайте загрузчик по умолчанию
linux /vmlinuz root=/dev/sda ro init=/usr/local/sbin/simple-ftp-only
(кроме части init=...
, скопируйте то, что уже есть в записи по умолчанию). Вы можете использовать одно из многих мультизагрузочных решений.
Сценарий simple-ftp-only
, вероятно, просто настроит сеть (вызовите ifconfig
для установки фиксированного IP-адреса, вызовите route
, если вам нужно связаться с узлом, не входящим в локальную сеть) и запустит TFTP или FTP-сервер. И, возможно, предложите способ перезагрузки в "настоящую" систему.
Вместо альтернативного init
вы можете поместить TFTP-сервер в initramfs. Если вы сделаете это, вам не нужно будет ничего менять в загрузчике, но вместо этого вам нужно будет подправить скрипты initramfs. Основные скрипты находятся в /usr/share/initramfs-tools/scripts
; вы можете добавить свои собственные в /etc/initramfs-tools/scripts
.