Устанавливаем Debian sid на флешку

prolinux

Опубликован:  2023-07-15T06:46:45.039251Z
Отредактирован:  2023-07-15T06:46:45.039251Z
Статус:  публичный
60
0
0

Привет, Интернет... Продолжаем приключения с Debian sid на внешнем HDD, установленная в прошлых выпусках этого блога система полностью настроена и готова к полноценной работе на домашнем компьютере, но прежде чем устанавливать на неё дополнительные приложения, которых будет много, я сделаю из этой системы живую загрузочную флешку, импровизированный LiveUSB с собственными настройками и предпочтениями. Такой накопитель, кстати, понадобится мне, чтобы перенести систему с внешнего HDD на пару компьютеров.

Зачем?

Вопрос вполне резонный, просто потому, что в природе существует достаточное количество дистрибутивных LiveUSB iso-образов. Кроме этого, флешка, если говорить о стандарте USB2, - достаточно медленный носитель, и пока с него загрузится система, можно уснуть.

Тем не менее, причину найти не сложно... В дистрибутивных iso, как правило, нет возможности сохранить изменения в настройках текущего сеанса, а дефолтные настройки таких LiveUSB очень часто во многом не устраивают конкретного администратора компьютера. Более того, часто в дистрибутивных iso не хватает какой-нибудь программы, при том, что размер такого iso просто зашкаливает. Live, который я сделаю сейчас по размерам будет меньше рассмотренных ранее конкурсантов, настройки текущего сеанса в нём будут сохраняться, и в нём будут все необходимые мне программы. Давно хотелось иметь такую флешку.

Кроме этого, в стандарте USB3 сделанная в этой демонстрации флешка будет работать приемлемо быстро. Причины достаточно весомы. Приступим...

Подготовка окружения

Для реализации задуманного мне понадобится специальный инструмент - программа, которая сделает всю работу, это linux-live. Иду на github.com нахожу ссылку и скачиваю архив программы. Подключаю в USB-разъём внешний HDD с уже готовой системой, монтирую его и копирую в домашний каталог пользователя jazz только что скачанный архив с именем linux-live.zip.

Запускаю VirtualBox и в нём включаю виртуальную машину, к которой подключен внешний HDD. Дожидаюсь полной загрузки операционной системы, на рабочем столе уже будет запущен терминал Sakura - его я положил в автозагрузку.

В этом терминале становлюсь суперпользователем.

$ sudo -i

И захожу в каталог /tmp.

# cd /tmp

94czw2m7XD.png

В этом терминале я и создам iso-образ с копией операционной системы, в которой этот терминал работает.

Linux Live Kit

Распаковываю полученный ранее с github.com архив в текущий рабочий каталог.

# unzip /home/jazz/linux-live.zip

Если посмотреть с помощью команды ls на текущий рабочий каталог, можно увидеть, что в нём появился каталог с именем linux-live-master.

7x0hJNmxG7.png

Удаляю некоторые ненужные на данный момент в системе файлы.

# rm -rf /home/jazz/linux-live.zip /home/jazz/.bash_history /root/.bash_history

И запускаю скрипт build из каталога linux-live-master.

# linux-live-master/build

Mkhkp2mGp6.png

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

Вот как выглядит мой терминал, после успешного завершения запущенного только что процесса.

F24TbSnPFB.png

В выхлопе указано имя и адрес скрипта, с помощью которого можно создать iso-образ, но перед его созданием следует настроить поведение базового загрузчика в этом образе. Для этого копирую ранее подготовленное изображение bootlogo.png в каталог базового загрузчика.

# cp /home/jazz/bootlogo.png /tmp/linux-data-1073/linux/boot

Открываю в тестовом редакторе файл настроек загрузчика и редактирую его соответствующим образом.

# nvim /tmp/linux-data-1073/linux/boot/syslinux.cfg

e0pmDi9SKK.png

Сохраняю изменения в файл и покидаю текстовый редактор. Теперь можно запустить созданный командой build скрипт.

# ./gen_linux_iso.sh

Программа из этого скрипта создаст iso-образ, на это уйдёт некоторый промежуток времени. И в текущем рабочем каталоге появится файл с именем linux-x86_64.iso, этот файл я перемещу в домашний каталог пользователя jazz но с другим именем - sid-14-07-2023.iso.

# mv -v linux-x86_64.iso /home/jazz/sid-14-07-2023.iso

Поскольку созданный iso не является гибридным, его можно записать только на DVD-накопитель, чтобы загрузить с него компьютер, а мне нужна загрузочная флешка, упакую полученные в результате работы программы build файлы в архив с именем sid-14-07-2023.iso в домашний каталог пользователя jazz.

# tar cvf /home/jazz/sid-14-07-2023.tar -C /tmp/linux-data-1073/ linux

Всё... Выключаю виртуальную машину, переношу с внешнего HDD только что созданные файлы на диск своего компьютера. В результате у меня есть два файла:

  • sid-14-07-2023.iso;

  • sid-14-07-2023.tar.

Тестируем iso-образ

Подключаю полученный только что iso-файл в виртуальную машину.

jB6rd1FvG7.png

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

glVyXu1HqJ.png

Таймаут 5 секунд, можно его переждать, либо нажать enter. Операционная система начнёт загружаться с iso-образа. Дожидаюсь полной загрузки. В результате, в окне виртуальной машины появляется уже хорошо знакомый мне рабочий стол. Из выхлопа lsblk узнаю, что операционная система действительно загружена из DVD-привода виртуальной машины.

oYpX6qRhy0.png

Можно попробовать запускать приложения из системного меню, подключиться к сети и так далее. Обычный тестовый сеанс... Выключаю виртуальную машину.

Запись на флешку

Внешний HDD можно отключить из разъёма, на его место подключаю флешку. Полученные на предыдущих этапах iso-образ и tar-архив имеют примерно одинаковые размеры, около 1.7ГиБ. Включаю программу GParted и делю дисковое пространство флешки, её размер 4ГБ, на два раздела.

YsCOOssUPG.png

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

Монтирую раздел флешки sdb1.

$ sudo mount /dev/sdb1 /mnt

Распаковываю на него полученный архив.

$ sudo tar xf sid-14-07-2023.tar -C /mnt

И запускаю программу для записи на флешку базового загрузчика.

$ sudo /mnt/linux/boot/bootinst.sh

R11FUUjuYq.png

Как видно на снимке экрана выше, процесс записи закончился успешно, с выводом сообщения: "Boot installation finished." Никаких ошибок и предупреждений выхлоп не содержит. Флешка готова, её можно отмонтировать и безопасно извлечь.

Тестируем флешку на другом компьютере

В моём нехитром хозяйстве есть второй лэптоп. Подключаю только что записанную флешку в его USB-разъём, включаю компьютер и загружаю с этого USB-накопителя.

Флешка - достаточно медленный носитель информации, пару минут на загрузку операционной системы с неё гарантированной уйдёт. В итоге я получаю рабочий стол полностью работоспособной и хорошо настроенной на мой вкус операционной системы.

sIKGYhoyMp.png

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

Продолжение следует

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