====== Ubuntu Linux casper initrd ====== *Упрощенный вариант live-boot initrd (Debian) *В репозиториях ubuntu live-boot [[https://packages.ubuntu.com/search?suite=jammy§ion=all&arch=any&keywords=live-boot&searchon=names|есть]]. Потребуется пересобрать initrd ====== Параметры загрузки ядра ====== *https://manpages.ubuntu.com/manpages/kinetic/en/man7/casper.7.html *[[https://manpages.ubuntu.com/manpages/kinetic/en/man7/live-boot.7.html|persistence-label=]] не документировано, но работает ====== Примеры использования ====== ===== Загрузка из iso (grub2) с сохранением===== Более удобно (простым копированием iso, без правки меню) удобно в Ventoy или [[https://archlinux.org.ru/forum/topic/19029/|Multiboot ISO]] menuentry "Start Linux Ubuntu" { set isofile="/iso/linuxmint-21-cinnamon-64bit.iso" search --no-floppy --file --set=root ${isofile} loopback loop ${isofile} set p="persistent persistence-label=F32 persistent-path=/u22 showmounts show-cow" set r="locale=ru_RU bootkbd=ru console-setup/layoutcode=ru" linux (loop)/casper/vmlinuz $p $r boot=casper iso-scan/filename=${isofile} quiet noeject noprompt -- initrd (loop)/casper/initrd.lz } *В примере выше - сохранение в файл /u22/writable на FAT32 ([[https://forum.ubuntu.ru/index.php?topic=298166.0|на другой ФС работать не будет]]) разделе F32 *Отсюда и ограничение не максимальный размер этого файла - 4гб и имена файлов в формате 8.3 по английски *writable предварительно нужно создать : dd if=/dev/zero of=writable bs=1M count=399M && mkfs.ext4 writable *В ubuntu <20 вместо writable - casper-rw *Кроме того, можно сделать сохранение в раздел ext4 с меткой writable (casper-rw) : set p="persistent" *такую флэшку можно сделать с помощью mkusb : [[http://bourabai.ru/os/mkusb.htm|1]] ; [[https://askubuntu.com/questions/1181854/how-is-it-easier-to-make-a-persistent-live-drive-with-ubuntu-19-10|2]] *https://help.ubuntu.com/community/LiveCD/Persistence *Еще примеры : [[https://forum.ubuntu.ru/index.php?topic=312954.0|1]] ; [[https://forum.ubuntu.ru/index.php?topic=278535.15|2]] ===== FRUGAL установка ===== *Переписать из iso содержимое /casper в /u22 menuentry "Ubuntu [RU]" { set gfxpayload=keep set p="persistent persistence-label=F32 persistent-path=/u22 showmounts show-cow" set r="locale=ru_RU bootkbd=ru console-setup/layoutcode=ru" set d=u22 set u="username=live hostname=$d" search --no-floppy --file --set=root /$d/vmlinuz linux /$d/vmlinuz $r $p $u live-media-path=/$d boot=casper quiet splash -- #locale=ru_RU.UTF-8 initrd /$d/initrd } *В $d можно добавить : *squashfs модули с расширением .squashfs *fs-in-file с расширением .ext2 . Актуально только на fat и ntfs *создать - аналогично writable. *монтировать : sudo mkdir -p tmp && sudo mount 1.ext2 tmp . После чего наполнить файлами и sudo umount tmp *папку с расширением .dir . Только на линукс ФС *Например сделать RW сохранение состояния writable и заморозить его в RO переносом с переименованием в writable.ext2 *Аналогичным образом можно заменить ядро (может понадобиться пересборка под него initrd) и т.п. *Посмотреть из чего собран корень : mount |egrep "^/cow " *Раздел с $d будет смонтирован RO в /cdrom. Перемонтировать в RW : sudo mount -o remount,rw /cdrom *В свежих версиях Ubuntu в качестве слоеной ФС используется overleyfs. Еще больше возможностей будет если использовать для FRUGAL более специализированный initrd типа porteus, uird и т.п ====== Сборка ====== *https://wiki.ubuntu.com/Initramfs *https://wiki.debian.org/initramfs ====== Переупаковка ====== *http://manpages.ubuntu.com/manpages/bionic/man8/unmkinitramfs.8.html *https://packages.ubuntu.com/jammy/all/initramfs-tools-core/download