Eric Hameleers 24.12.2015 в своём блоге Alien Pastures сообщил о доступности третьей беты Slackware Live Edition.
Ниже представлен перевод указанной статьи.
Доступна Slackware Live Edition Beta3
Потребовалось некоторое время чтобы достичь состояния, в котором могу опубликовать очередное обновление сценариев «liveslak» для Slackware Live Edition. Полагаю, в обновлённом коде получилось учесть массу замечаний и пожеланий из отзывов на две предыдущие статьи о живой ОС. Тем не менее, мой список планов уменьшился только на один пункт.
Beta3 — это то, что имеем на сегодняшний день. Вехой для выпуска новой беты стала поддержка UEFI-загрузки. Надеюсь, с этим справился. У меня работает... уже того стоило.
Что такое Slackware Live Edition?
Для лучшего понимания, а также чтобы не пришлось излишне повторяться :-), прочтите две предыдущие статьи "Slackware Live Edition" и "Beta 2".
Речь идет о «живой ОС», которую можно запускать с CD, DVD или USB-носителя без установки на жёсткий диск компьютера. Вариант для флешки можно носить с собой в кармане. У вас будет настроенная работающая Slackware как только в руках окажется компьютер с портом USB. Версия для USB сохраняет изменения на флешку. Версии для CD/DVD (и USB, если настроить соответственно) изменения не сохраняют, после перезагрузки все изменения теряются.
Живая редакция Slackware создается как демонстрация разработки Slackware. Это не генератор любых живых дистрибутивов, поддерживается только последняя Slackware-current. Это средство для удовлетворения вашего любопытства!
Основной сценарий "make_slackware_live.sh" создаёт ISO «с нуля». Сценарий устанавливает пакеты или наборы пакетов Slackware в сжатые модули squashfs, настраивает и оптимизирует целевую файловую систему для запуска в «живой» среде, затем создаёт файл начального диска в памяти, содержащего загружаемую «живую» среду. Всё это помещается в файл загрузочного образа ISO. Благодаря ядру Linux 4.x и добавленному в Slackware-current пакету squashfs-tools, процесс создания живой редакции Slackware не требует ни компиляции, ни нестандартных пакетов (разумеется, варианты Plasma, Mate и Cinnamon требуют сторонних пакетов).
Недостатком является необходимость создания ISO в Slackware-current (предыдущие версии Slackware не содержат необходимых инструментов). Следовательно, единственный подходящий для живой редакции выпуск — это разрабатываемая ветка "-current". Разумеется, подойдут и все последующие выпуски.
Сценарии «liveslak» способны генерировать различные варианты Slackware. По умолчанию создается с нуля ISO, содержащий полную 64-разрядную живую редакцию Slackware-current. Сценарии могут также создавать уменьшенный XFCE-вариант с XDM в качестве графического менеджера входа размером в 700 МБ, помещающийся на CD или флешку в 1ГБ; и к моему удовольствию (хочу надеяться, и к вашему тоже) возможно создание образа ISO размером 3,0 ГБ с Slackware64-current и Plasma 5 вместо KDE 4, а также некоторыми дополнительными моими пакетами: vlc, libreoffice, calibre, qbittorrent, ffmpeg, chromium, openjdk, veracrypt.
Начиная с Beta 2 сценарии способны создавать варианты Slackware с Mate и Cinnamon (в качестве замены KDE 4) благодаря хранилищам Willy Sudiarto Raharjo.
Как создать флешку, сохраняющую изменения?
Файл ISO можно прожечь на DVD, скопировать на флешку при помощи «dd» или даже «cp», но результатом будет носитель только для чтения, все изменения хранятся в ОЗУ. Для создания на флешке живой ОС, сохраняющей изменения между перезапусками, можно воспользоваться сценарием "iso2usb.sh". Сделанные в сеансе работы живой Slackware изменения сохраняются между перезагрузками, поскольку ОС записывает все эти изменения в каталог «persistence» в корне флешки. Обычно нужно запустить сценарий как минимум с входным и выходным параметрами:
# ./iso2usb.sh -i ~/Download/slackware64-live-current.iso -o /dev/sdX
... где /dev/sdX — имя устройства накопителя USB, который будет отформатирован и все данные на нём будут стёрты. Сценарий остановится, чтобы показать вам характеристики целевого устройства и переспросить, действительно ли нужно продолжать. Легко стереть свой жёсткий диск не сможете, если только вам действительно не всё равно!
Загрузка живой ОС
Когда загружаете живую Slackware на компьютере с BIOS, загрузкой будет управлять syslinux, выводя следующее меню:
* Start (SLACKWARE | PLASMA5 | XFCE | MATE) Live (в зависимости от загружаемого ISO)
* Non-US Keyboard selection (выбор не-US клавиатуры)
* Non-US Language selection (выбор не-US языка)
* Memory test with memtest86+ (тестирование памяти memtest86+)
Можно выбрать соответствующую компьютеру раскладку клавиатуры. И/или загрузить Slackware на языке, помимо английского. Если вы захотите изменить часовой пояс, syslinux позволит отредактировать загрузочную командную строку по нажатию <TAB>, но загрузочное меню выбрать часовой пояс не предлагает.
На компьютере с UEFI загрузкой управляет GRUB2, выводя меню, сходное с syslinux (и с похожим оформлением):
* Start (SLACKWARE | PLASMA5 | XFCE | MATE) Live (в зависимости от загружаемого ISO)
* Non-US Keyboard selection (выбор не-US клавиатуры)
* Non-US Language selection (выбор не-US языка)
* Non-US Timezone selection (выбор не-US часового пояса)
* Detect/boot any installed operating system (Обнаружить/загрузить установленную ОС)
* Memory test with memtest86+ (тестирование памяти memtest86+)
Grub понимает переменные, что сильно упростило создание меню и позволило добавить меню выбора часового пояса. Меню Grub можно редактировать по клавише «e». После внесения изменений в командную строку нажмите <F10> для загрузки.
Поведение меню в Syslinux и Grub различается. После выбора раскладки, языка и/или часового пояса каждый раз происходит возврат в главное меню. Для загрузки нужно выбрать «Start Slackware Live». В меню Syslinux только выбор раскладки вернёт в главное меню (оно похожее, но другое). Выбор языка запустит загрузку. Это из-за ограничений Syslinux, которые можно преодолеть только создав намного больше файлов меню, чем уже есть.
Параметры загрузки
Можно использовать следующие параметры загрузочной командной строки:
* 0|1|2|3|4|5|6|S|s|single (Выбор уровня загрузки; по умолчанию 4 — графический вход)
* lang=nl_NL kbd=nl tz=Europe/Amsterdam (Пример задания языка, раскладки и/или часового пояса)
* nop (no persistence — не сохранять изменения)
* nomodeset (Загрузка с KMS — задание графического режима ядром — необходимо для некоторых машин)
* load=nvidia (Загрузка и настройка бинарного драйвера nvidia, присутствующего в некоторых ISO)
* rootdelay=10 (Пауза в 10 секунд, чтобы дать ядру больше времени на инициализацию USB, попробуйте, если живая ОС не грузится)
* hostname=aliens (Задание имени хоста, по умолчанию «darkstar»)
* livepw=«строка» (Изменение пароля пользователя «live»)
* rootpw=«строка» (Изменение пароля пользователя «root»)
* load=mod1[,mod2[...]] (Загрузка указанных модулей squashfs из каталога «/liveslack/optional»; по умолчанию модули из этого каталога не загружаются)
* noload=mod1[,mod2[...]] (Не загружать указанные модули squashfs из каталога «/liveslack/addons»; по умолчанию загружаются все модули из этого каталога)
* rescue (После инициализации будет активирована аварийная оболочка, где доступно низкоуровневое обслуживание; то же самое происходит при сбое загрузки ОС)
* debug (В ходе инициализации останавливаться на важных этапах сборки файловой системы и отображать относящуюся к монтированию информацию)
* swap (Позволить живой ОС использовать разделы подкачки на локальных носителях; по умолчанию локальные диски не используются)
* livemedia=/dev/sdX (Указывает сценарию раздел с живой Slackware ОС для загрузки; нужен, если другая копия живой Slackware ОС уже установлена на другом разделе)
* livemain=имя_каталога (Используйте, если скопировали содержимое ISO в другой каталог, а не в «liveslack» по умолчанию)
Загрузка образов ISO
Образы ISO для вариантов SLACKWARE, XFCE, PLASMA5 и MATE созданы на основе доступных на сегодня последних пакетов. Они находятся по следующим адресам:
* Основное зеркало: http://taper.alienbase.nl/mirrors/slackware-live/ (rsync URI: rsync://taper.alienbase.nl/mirrors/slackware-live/)
* Зеркало Willy: http://repo.ukdw.ac.id/slackware-live/
* Зеркало Ryan: https://seattleslack.ryanpcmcquen.org/mirrors/slackware-live/
Учитывайте время, необходимое для синхронизации зеркал.
В образах настроены 2 учетных записи: root (с паролем «root») и live (с паролем «live»). Советую входить как live, для получения прав root использовать «su» или «sudo».
Могу я создать свой ISO?
Безусловно! Можете загрузить исходный код и применить по назначению. Помимо исходников и сценариев вам потребуются локальные копии хранилищ с пакетами. Образы Slackware и XFCE потребуют зеркало дерева пакетов Slackware. Образ Plasma5 потребует также зеркал хранилища "ktown" и "хранилища слакбилдов". Образ Mate помимо Slackware зависит также от зеркала Mate от Willy.
Хранилище сценарием в git находится здесь:
http://taper.alienbase.nl/cgit/liveslak/
Его выгрузки находятся здесь:
http://www.slackware.com/~alien/liveslak/
http://taper.alienbase.nl/mirrors/people/alien/liveslak/
Если интересно, как создан модуль squashfs с драйвером nVidia (0060-nvidia-352.63_4.1.15-current-x86_64.sxz), см. ниже. Сценариями SBo nvidia-kernel и nvidia-driver собраны два пакета. Затем создан временный каталог, куда установлены указанные пакеты, а также xf86-video-nouveau-blacklist из Slackware (при помощи команды «installpkg –root»). Затем сценарию «makemod» параметрами передан указанный выше каталог и «0060-nvidia-352.63_4.1.15-current-x86_64.sxz», в результате создан .SXZ модуль squashfs, который находится в ./graphics/. Просто!
Удачного хакинга!
Эрик
>>> Оригинал статьи