Содержание
Ubuntu Linux casper initrd
- Упрощенный вариант live-boot initrd (Debian)
- В репозиториях ubuntu live-boot есть. Потребуется пересобрать initrd
Параметры загрузки ядра
- persistence-label= не документировано, но работает
Примеры использования
Загрузка из iso (grub2) с сохранением
Более удобно (простым копированием iso, без правки меню) удобно в Ventoy или 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 (на другой ФС работать не будет) разделе 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»
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 и т.п