Ubuntu Linux casper initrd

  • Упрощенный вариант live-boot initrd (Debian)
  • В репозиториях ubuntu live-boot есть. Потребуется пересобрать initrd

Параметры загрузки ядра

Примеры использования

Загрузка из 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»
    • такую флэшку можно сделать с помощью mkusb : 1 ; 2
  • Еще примеры : 1 ; 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 и т.п

Сборка

Переупаковка

Печать/экспорт