LPS:AutomatizovanyInstalatorKoncovychStanicOrion/Výroba vlastního LiveCD
Tento návod popisuje, jak si vytvořit vlastní LiveCD z linuxové distribuce. Při tomto projektu jsem narazil hned na několik slepých cest, například vytvořit vše od počátku až po konec, aniž bych použil funkci chroot. Tento návod je snad nejtriviálnější, na který sem přišel, ale vytvoření vlastního LiveCD není triviální věc. Bylo to velice těžké vytvořit, když nemáte k dispozici žádný návod. Proto se s vámi podělím o své zkušenosti a poznatky, abyste neudělali ty samé chyby.
Záloha
Provedeme nejdříve zálohu důležitých souborů, které mohou být během tvorby poškozeny nebo vymazány. Proto buďte obeztřetní a nevynechávejte žádný z příkazů.
mkdir zaloha && cd zaloha cp /etc/hostname . cp /var/lib/dbus/machine-id . cp /etc/resolv.conf .
Příprava
Je potřeba napřed aktualizovat systém a nainstalovat následující balíky
apt-get update apt-get upgrade apt-get install debootstrap syslinux squashfs-tools genisoimage memtest86 memtest86+
Debootstrap
Debootstrap vytvoří základní systém do složky isofiles.
debootstrap --arch=i386 wheezy isofiles http://ftp.zcu.cz/pub/linux/debian/
Místo isofiles můžete dát libovolnou složku, do které budete pracovat a zdroj obrazu si můžete vzbrat libovolný. Pokud tam obraz nebude udělá to debootstrap aktuálního systému. Lze pouštět pouze pod root účtem.
Konfigurace před upgradem
Chroot
Chroot(change root) vám zmení root do složky a súpustí nový shell. Dávejte pozor při provádění následujících příkazů, abyste byly pořád v chroot. Změníme root
chroot isofiles
Připojíme zařízení,která budeme potřebovat.
mount none -t proc /proc && mount none -t sysfs /sys && mount none -t devpts /dev/pts && export HOME=/root && export LC_ALL=C && apt-get install dialog dbus --yes && dbus-uuidgen > /var/lib/dbus/machine-id && apt-get update --yes
Nyní zadejte jméno našeho počítače v liveCD
echo "live" > /etc/hostname
Nastavte heslo pro root
passwd root
Nyní si nainstalujeme balíky, které chcete v daném liveCD, tyto balíky sou důležité pro fungování, kromě fluxbox to je grafické jádro.
apt-get install --yes linux-image-3.2.0-4-686-pae apt-get install --yes live-boot apt-get install --yes fluxbox apt-get install --yes network-manager apt-get install --yes net-tools apt-get install --yes wireless-tools apt-get install --yes wpagui apt-get install --yes tcpdump apt-get install --yes wget apt-get install --yes openssh-client apt-get install --yes pciutils apt-get install --yes usbutils apt-get install --yes gparted apt-get install --yes ntfsprogs apt-get install --yes hfsprogs apt-get install --yes rsync apt-get install --yes dosfstools apt-get install --yes syslinux apt-get install --yes partcloneapt-get install --yes nano apt-get install --yes pv apt-get install --yes chntpw apt-get install --yes vim apt-get install --yes xinit apt-get install --yes xterm
Teď odpojíme zařízení, která už nepotřebujeme, dávejte pozor, abyste byli v chroot.
rm -f /var/lib/dbus/machine-id && apt-get clean && rm -rf /tmp/* && rm /etc/resolv.conf && umount -lf /proc && umount -lf /sys && umount -lf /dev/pts
Vyskočíme z chroot a odpojíme zařízení.
exit umount -lf isofiles/dev
Konfigurace a kopírování potřebných souborů systému
Nejdříve vytvoříme složky potřebné pro bootování.
mkdir isofiles/live mkdir isofiles/isolinux
Vytvoříme system SquashFS
mksquashfs isofiles filesystem.squashfs -e boot
Následně ho přesuneme do složky live
mv filesystem.squashfs isofiles/live/
Přesuneme Kernel a InirRamDisk
mv isofiles/boot/vmlinuz-3.2.0-4-686-pae isofiles/live/vmlinuz mv isofiles/boot/initrd.img-3.2.0-4-686-pae isofiles/live/initrd.img
Vytvoříme jednoduché menu pro boot a uložíme jako isolinux.cfg do složky isolinux
cat > isofiles/isolinux/isolinux.cfg <<EOF UI menu.c32 prompt 0 menu title Debian Wheezy timeout 30 label Debian Live menu label ^Debian Live menu default kernel /live/vmlinuz initrd=/live/initrd.img boot=live label memtest86+ menu label ^Memory Test(memtest86+) kernel /live/memtest EOF
Poslední úpravou je nakopírování důležitých souborů
cp /usr/lib/syslinux/isolinux.bin isofiles/isolinux cp /usr/lib/syslinux/menu.c32 isofiles/isolinux cp /boot/memtest86+.bin isofiles/live/memtest
Výroba bootovatelného ISO souboru
Nejjednodušší, avšak nedílnou součástí je vytvoření bootovatelného ISO souboru.
genisoimage -rational-rock -volid "Debian Live" -cache-inodes -joliet -full-iso9660-filenames -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -iso-level 4 -output liveCD.iso isofiles
liveCD.iso je název výstupního souboru isofiles je složka ze které se iso vytvoří "Debian Live" je název CD