Hlavní navigace

Oživte si svůj Debian (i Ubuntu)

9. 6. 2017 10:43 (aktualizováno) | Tomas Matějíček

Skripty pro vytvoření „živé“ linuxové distribuce z aktuálně nainstalovaného systému jsou již řadu let k dispozici na www.linux-live.org. Vždy byly primárně určené hlavně pro vyrobení Slaxu ze Slackware. Nyní došlo na několik potřebných úprav, které umožňují snadné použití skriptů na Debianu a Ubuntu.

Musím konstatovat, že jsem Slackware již přestal používat. Všechno je na něm hrozně pracné. „Udělej si sám“ už mi moc nevyhovuje. Vyrobit si své živé distro vždy jako první krok vyžadovalo zajištění podpory AUFS v jádře. To na Slackwaru znamenalo zdlouhavé patchování a rekompilaci jádra. Debian a Ubuntu mají, k mému milému překvapení, aufs přímo v distribučním kernelu. Není nutné cokoli dělat. Nádhera. Budoucí verze Debianu už sice aufs přímo obsahovat nebudou, ale k mému dalšímu překvapení jde aufs přidat jednoduše jedním příkazem:

apt-get install aufs-dkms

Tím je stěžejní krok k vlastnímu live distru hotový. Linux-live skripty bylo potřeba jen malinko doupravit v následujících bodech:

  • Ubuntu nezná hotplug. Nepřišel jsem na to, jak donutit jádro aby po detekci hardwaru spustilo nějaký program, tak jak to dělal hotplug (kterým jsem úspěšně spouštěl mdev z busyboxu, pro vytváření souborů se zařizeními v /dev/). Tento problém jsem obešel tím, že se mdev musí ve skriptech při bootu spouštět explicitně na několika místech
  • Ubuntu používá hned po instalaci initramfs, a proto si může dovolit absenci zakompilované podpory většiny filesystem či USB ovladačů v jádru – jsou jen jako moduly. Proto bylo potřeba tyto moduly přidat i do initramfs živého distra, tím image narostl asi o 2 MB, což už dnes ale nic neznamená
  • S tím souvisí potřeba tyhle moduly modprobovat explicitně, a nespoléhat se na to, že je podpora již v jádru
  • Moderní distribuce neznají mkisofs, takže pokud není k dispozici, je třeba použít genisoimage

Aktuální verzi linux-live skriptů jsem označil číslem 2.0 a považuji ji za stabilní, protože jsem s její pomocí vytvořil živý jak Debian, tak Ubuntu. Je k dispozici na githubu. Více info na www.linux-live.org

Jak tedy prakticky postupovat při vytvoření vlastního živého Debianu?

  1. Nainstalujte Debian a nabootujte ho
  2. Pokud používáte testing, nainstalujte aufs příkazem apt-get install aufs-dkms
  3. Pokud nemáte, nainstalujte následující: apt-get install squashfs-tools zip genisoimage
  4. Nastavte systém tak, jak chcete aby vypadal. Nainstalujte aplikace, které požadujete, a odinstalujte aplikace které nechcete.
  5. Smažte nepotřebné soubory,  jako /usr/doc, locales, man pages, atd.
  6. Stáhněte linux-live skripty z githubu a rozbalte v /tmp adresáři
  7. Nalogujte se jako root a spusťte ./build skript

Vaše živé distro, vyrobené z aktuálně běžícího systému, bude uloženo v /tmp jako ISO obraz pro CD a také jako ZIP archiv (s totožným obsahem jako CD).

Pokud váš živý systém sice bootuje, ale není online, budete muset editovat /etc/network/interfaces a přidat vaši konkrétní konfiguraci sítě. Nepodařilo se mi zjistit, jak udělám, aby se po nabootování v Debianu automaticky spustilo DHCP pro všechny nalezené interfejsy, obešel jsem to tím, že jsem do /etc/network/interfaces nadefinoval dhcp auto pro všechny možnosti co mě napadly, jako eth0, eth1, eno0, eno1, ens0, ens1, enp0s0, enp1s0, … atd. Přijde mi to šílené, ale funguje to. Taky budete asi chtít smazat /var/lib/dhcp/*.leases a /root/.bash_history