Knoppix remastering

autor - Kvě.24, 2013 - Linux, Postupy

Postup pro přípravu vlastní instalace KNOPPIX vycházející z Knoppix Remastering Howto, avšak upravený pro instalaci na USB klíčenku, kde bude vše potřebné schováno v jednom adresáři KNOPPIX. (Standardní instalace skriptem /usr/bin/flash-knoppix vytváří adresáře /boot, /KNOPPIX a soubor /ldlinux.sys v hlavním adresáři USB klíčenky, což zbytečně zvyšuje riziko, že některý omylem smažete při běžném používání USB klíčenky bez spouštění KNOPPIXu.)

Komu nevyhovuje výchozí instalace KNOPPIXu, má několik možností, jak ji upravit:

  • vytvořit vlastní obraz ISO (tzv. remastering);
  • používat zvláštní image souborového systému pro změny oproti původní instalaci (tj. něco jako dodatečná vrstva nad původním souborovým systémem, který je pouze na čtení);
  • použít automatizovanou aktualizaci při každém spuštění KNOPPIXu (KNOPPIX/knoppix.sh nebo KNOPPIX/update*zip (či update*tar.gz) – funguje na stejném principu jako předchozí krok.

Následující text se týká prvního bodu a je upraven specificky pro instalaci na USB disk, což má své výhody:

  • USB klíčenka nemusí být omezena velikostí jako CD ROM či DVD.
  • Pro spouštění se používá syslinux, který umožňuje umístit zavaděč operačního systému do libovolného adresáře (isolinux musí být buď v isolinux/ nebo boot/isolinux).
  • Tutéž USB klíčenku lze používat i pro ukládání souborů – ať už přímo ze spuštěného KNOPPIXu či z jakéhokoliv jiného počítače.
  • Remastering se provede přímo z běžícího KNOPPIXu bez nutnosti chrootu (tj. vytvoří se nové ISO odpovídající aktuálnímu stavu systému, vč. různých uživatelských úprav), přičemž KNOPPIX lze spustit buď na fyzickém počítači či ve virtuálním stroji (Qemu, KVM).
  • POZOR: souborový systém klíčenky by měl být FAT16 či FAT32 (max. velikost souboru 4 GB).

Upravte KNOPPIX k obrazu svému

Spusťte na počítači KNOPPIX, ať už z DVD či jiné USB klíčenky.

Aktualizujte databázi balíčků, doinstalujte či odinstalujte programy.

$ sudo apt-get update
$ sudo apt-get install ...
$ sudo apt-get purge ...

Nastavte šetřič obrazovky, změňte obrázek plochy, výchozí terminál a správce souborů a zkrátka všechno, co vám nevyhovuje.

V žádném případě neprovádějte kompletní aktualizaci systému, nejspíše by to vedlo k poškození KNOPPIXu a nemusel by se příště spustit – tedy instalujte pouze jednotlivé uživatelské programy. Taktéž neprovádějte úpravy některých systémových nastavení, např. /etc/resolv.conf, /etc/hostname, /etc/default/locale, /etc/environment – tyto soubory jsou nastaveny dle paramaterů při spouštění systému, což je flexibilnější.

Generování nového obrazu ISO

Než vytvoříte nový obraz ISO, promažte různé dočasné soubory (zbytečně by zabíraly místo) ve /var/cache a /var/log. Více detailů viz původní „Howto“.

Budete potřebovat dočasné úložiště pro soubor isotemp (velikost shodná s konečnou velikostí ISO) a pro nové ISO. Tím uložištěm může být USB klíčenka (zde /dev/sdc1 připojená v /media/sdc1) – pokud původní DVD ISO KNOPPIXu mělo 4 GB, budete potřebovat minimálně dvojnásobný prostor.

Připojte USB klíčenku (třeba pomocí souborového manažera) a vytvořte na ní složku KNOPPIX/syslinux:

$ su -
# mkdir -p /media/sdc1/KNOPPIX/syslinux

Vygenerujte nový obraz ISO, který bude odrážet současný stav souborového systému připojený v /UNIONFS.

# genisoimage -R -l -D -V "KNOPPIX.net filesystem" -publisher "KNOPPIX www.knoppix.net" -no-bak -quiet -no-split-symlink-components -no-split-symlink-fields -hide-rr-moved -cache-inodes /UNIONFS | /usr/sbin/create_compressed_fs -B 65536 -t 8 -L 9 -f /media/sdc1/isotemp - /media/sdc1/KNOPPIX/KNOPPIX

V závislosti na rychlosti počítače (komprese dat) a USB klíčenky (čtení/zápis) to může trvat hodně dlouho.

Live USB

Zbývá zkopírovat ostatní soubory, které jsou třeba pro spouštění počítače. Nejprve zkontrolujte, zda je připojeno zdrojové CD/DVD – dále uvedené příkazy předpokládají, že je připojeno do /mnt-system/:

# rsync -rv --exclude="*ldlinux.sys" --exclude="*boot.cat" /mnt-system/boot/[si][ys][so]linux/ /media/sdc1/KNOPPIX/syslinux
# rsync -rv --exclude="KNOPPIX" --exclude="sha1sums" --exclude="knoppix-data.img" /mnt-system/KNOPPIX/ /media/sdc1/KNOPPIX

Máte-li KNOPPIX spuštěn z CD/DVD, je třeba přejmenovat konfigurační soubor na syslinux.cfg (používá se shodný konfigurační soubor jako pro isolinux na CD/DVD, jen se musí jinak jmenovat). (Pokud máte KNOPPIX spuštěn z jiné Live USB klíčenky, soubor se již jmenuje správně.)

# mv /media/sdc1/KNOPPIX/syslinux/isolinux.cfg /media/sdc1/KNOPPIX/syslinux/syslinux.cfg

Vytvořte kontrolní součty:

# cd /media/sdc1/KNOPPIX ; find -type f -not -name sha1sums -not -name boot.cat -exec sha1sum '{}' \; > sha1sums

Odpojte souborový systém USB klíčenky, nainstalujte zavaděč syslinux (kromě jiného přidá soubor KNOPPIX/syslinux/ldlinux.sys), nakopírujte master boot record kompatibilní s Microsoft a nakonec aktivujte první diskový oddíl systému (příznak boot):

# umount /dev/sdc1
# syslinux --install --directory KNOPPIX/syslinux /dev/sdc1
# ms-sys -s /dev/sdc
# sfdisk -A1 /dev/sdc

A je to.

Ostatní poznámky

Několik poznámek k vydání KNOPPIX 7.0

  • boot parametry: lang=cz keyboard=cz (protože výchozí parametry v /etc/init.d/knoppix-autoconfig COUNTRY=“cs/cz“ XKEYBOARD=“cs/cz“, a zdá se být i chybně nastaven vt1-7)
  • minirt.gz se rozbalí a zabalí:
    • gunzip minirt.gz && cd some_dir && cpio -imd –no-absolute-filenames < ../minirt
    • find . | cpio -oH newc | gzip -9 > ../minirt.gz
  • dekomprimovat KNOPPIX: extract_compressed_fs KNOPPIX KNOPPIX.iso
  • Některé verze syslinuxu (6.0.2) nenajdou syslinux.cfg v nestandardní cestě (přestože při instalaci nevarují – asi bug). Alternativně lze použít extlinux (i pro FAT[16|32]).
  • Místo FAT16/32 lze použít i exFAT:
    • syslinux nepodporuje exFAT, Grub 2.x ano.
      # grub-install --boot-directory=/media/sdc1/KNOPPIX /dev/sdc

      Výpis KNOPPIX/grub/grub.cfg (diskový oddíl sdc1 je pojmenován „KNOPPIX“):

      ### BEGIN /etc/grub.d/00_header ###
      insmod part_msdos
      if [ -s $prefix/grubenv ]; then
        load_env
      fi
      set default="0"
      
      if [ x"${feature_menuentry_id}" = xy ]; then
        menuentry_id_option="--id"
      else
        menuentry_id_option=""
      fi
      
      export menuentry_id_option
      
      if [ "${prev_saved_entry}" ]; then
        set saved_entry="${prev_saved_entry}"
        save_env saved_entry
        set prev_saved_entry=
        save_env prev_saved_entry
        set boot_once=true
      fi
      
      function savedefault {
        if [ -z "${boot_once}" ]; then
          saved_entry="${chosen}"
          save_env saved_entry
        fi
      }
      
      function load_video {
        if [ x$feature_all_video_module = xy ]; then
          insmod all_video
        else
          insmod efi_gop
          insmod efi_uga
          insmod ieee1275_fb
          insmod vbe
          insmod vga
          insmod video_bochs
          insmod video_cirrus
        fi
      }
      
      font=unicode
      if loadfont $font ; then
        set gfxmode=auto
        load_video
        insmod gfxterm
        set locale_dir=$prefix/locale
        set lang=cs_CZ
        insmod gettext
      fi
      terminal_input console
      terminal_output gfxterm
      set timeout=5
      ### END /etc/grub.d/00_header ###
      
      menuentry 'KNOPPIX 7.0.5' {
      	load_video
      	set gfxpayload=keep
      	insmod gzio
      	insmod part_msdos
      	insmod exfat
      	search --label --set=root KNOPPIX
      	echo	'Loading Linux core repo kernel ...'
      	linux	/KNOPPIX/syslinux/linux root=/dev/disk/by-label/KNOPPIX ro  quiet
      	echo	'Loading initial ramdisk ...'
      	initrd	/KNOPPIX/syslinux/minirt.gz
      }
    • do minirt.gz je třeba doplnit /bin/mount.exfat-fuse + knihovny + aktualizovat ld cache + upravit trymount() v /init.
K pročtení:

Struktura přípojných míst

  • /mnt-system …. USB klíčenka či CD/DVD, ze kterého byl spuštěn KNOPPIX.
  • /KNOPPIX … obraz ISO z klíčenky/CD/DVD připojený do smyčky (loopback)
  • /mnt-system/KNOPPIX/knoppix-data.img … soubor s obrazem disku pro ukládání změn vůči ISO obrazu – zde se lze podívat, jaké změny byly provedeny.
  • /KNOPPIX-DATA … obraz disku knoppix-data.img připojený do smyčky (loopback)
  • /UNIONFS … sloučení původního (read-only) obrazu ISO se změnami v knoppix-data.img (tj. není shodný s kořenovým adresářem – např. neobsahuje /proc, /sys, aktuální /dev atd.)
  • /media/* … názvy diskových oddílů nalezených během startu počítače. Připojí se automaticky po kliknutí na příslušný disk v souborovém manažeru (thunar).

Vlastní úpravy DVD obrazu

  • Odstranit vše s názvem balíčku obsahujícím „KDE“.
  • Odstranit abiword.
  • Aktualizovat: darktable, gimp, lm-sensors, x2go-client
:,

Zanechte komentář

Archivy