LPS:AutomatizovanyInstalatorKoncovychStanicOrion/Výroba vlastního LiveCD

Z HelpDesk

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