Custom Live USB
Содержание
Цель
Получить копию вашей ОС ROSA Desktop.Fresh в виде живой флэшки (live usb) c возможностью установки этой копии на любую машину стандартным установщиком из live-режима. Вместо флэшки может использоваться жесткий диск.
Средства
Для достижения цели вам понадобятся:
- урезанная версия или полная версия (если официальный torrent не устраивает, то можете скачать напрямую) сборки MagOS на пакетной базе ROSA Desktop.Fresh 2012
- наличие в системе установленного пакета squashfs-tools версии 4.х
- если нужна возможность установки вашей системы с live usb, то нужно установить пакет draklive-install.
- носитель, который будет использоваться в роли загрузочного. Необходимую емкость вы сможете определить в процессе подготовки.
Процесс
- проверяем наличие всех необходимых пакетов.
- делаем файл-слепок (модуль) системы командой (из-под root):
mksquashfs / /media/папка_назначения/10-имя_файла-слепка.xzm -e /etc/fstab /media /mnt /sys /dev /proc /run /tmp /var/tmp
(параметром -e /etc/fstab /media ... исключаются папки и файлы, которые не нужны для копирования).
Вместо одного целого файла можно сделать несколько модулей, содержащих слепки отдельных частей системы. Например, можно выделить /home раздел в отдельный модуль или же выделить в отдельные модули каждую пользовательскую папку. Если существующие пользовательские данные не нужны, то тогда можно создать пустого пользователя и его использовать для включения в домашний модуль, а остальных исключить (есть нюансы, будут описаны позднее). Все зависит от потребностей.
Если вы решили сделать просто живую флешку с единственным "временным" пользователем, который не нужен будет после установки с live usb, то назовите этого пользователя live, тогда после установки на компьютер его там не будет. Если live не нравится, то назовите как угодно, но тогда перед тем как делать слепок в файле /etc/draklive-install.d/run.d/remove-live-user.sh в команде userdel -r live замените (из-под root'а) live на вашего пользователя
- смотрим размер получившегося файла(ов) .xzm и подбираем носитель подходящего размера (плюс место для MagOS).
- распаковываем содержимое архива Custom-ROSA-liveusb.tgz. там будут папки boot, MagOS и MagOS-Data. Копируем их на носитель. Если вы использовали полную версию сборки MagOS, то из папки /MagOS/base/ удаляете все модули .xzm, кроме 00-kernel.xzm и 01-firmware.xzm. туда же копируете свой(и) файл(ы) .xzm.
- делаете загрузочным носитель. заходите в папку boot/syslinux/install.lin(.win) на носителе и выполняете bootinst.sh(.bat).
- загружаетесь с подготовленного носителя и выбираете "чистый режим". Должна загрузиться копия вашей системы в живом режиме. Правда, крутиться она будет в текущей версии MagOS на ядре 3.6.10-nrj-desktop-pae-1rosa, но пока это не сильно разнится с текущим ядром (разве что -pae), а дальше и MagOS обновится.
- Если вы хотите работать с live usb в режиме сохранения пользовательских данных (все изменения, происходящие в /home), то необходимо подготовить файл-контейнер, который будет использоваться в качестве раздела /home (по умолчанию доступен файл /MagOS-Data/home.img размером ~750 Мб):
- Загружаемся в "чистый режим" и в терминале из-под root:
- создаете папку mkdir /mnt/home
- монтируете в нее наш файл-контейнер mount /mnt/livemedia/MagOS-Data/home.img /mnt/home
- далее вы должны создать папки существующих в системе пользователей mkdir /mnt/home/[user] и меняете владельца и группу chown [user]:[user] /mnt/home/[user] или скопировать их из текущей /home, если вам нужно все содержимое пользовательских папок.
- все. теперь можно грузиться в режим "с сохранением данных" и работать. Учтите, что содержимое пользователских папок в "чистом" режиме и "с сохранением" будет разное.
- для установки своей системы выберете в списке приложений "Установщик в режиме live" и пройдите быструю процедуру установки как с обычного официального установочного диска.
В конце установки программа сообщит об ошибке копирования initrd.img в папку /boot - не обращайте внимания - все что надо уже установлено. Далее опять может появиться окно установщика - просто закройте его.
При первом входе в установленную систему он попросит ввести пароль для root и нового пользователя. при этом старые пользователи все уже есть, поэтому если новый пользователь не нужен введите любого не существующего - потом удалите.
В папке /boot установленной системы помимо вашего ядра будут находиться "ядерные" -pae файлы (config-3.6.10-nrj-desktop-pae-1rosa, symvers-3.6.10-nrj-desktop-pae-1rosa.xz, System.map-3.6.10-nrj-desktop-pae-1rosa, пустая ссылка initrd.gz, initrd-3.6.10-nrj-desktop-pae-1rosa.img), доставшиеся в нагрузку от MagOS при установке. Если мешают можете удалить. Только будьте внимательны и не удалите файлы действующего ядра.
Бонус
Примером работы такого способа является сборка Porta ROSA - система установленная с официального iso-образа, обновленная по состоянию на 25 января 2013 года и превращенная в живую флэшку с возможностью сохранения данных (тех что сохраняются в пользовательской папке /home). Процесс создания загрузочного носителя аналогичен вышеописанному.
Благодарность
Огромное спасибо Михаилу Зарипову (МихаилZ) и Антону Горошкину (neobht) за проект MagOS и полезные советы!