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.

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

mount --bind /dev isofiles/dev
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 update
apt-get install dialog dbus --yes
dbus-uuidgen > /var/lib/dbus/machine-id

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 live-boot fluxbox network-manager net-tools wireless-tools wpagui tcpdump wget openssh-client pciutils usbutils gparted ntfsprogs hfsprogs rsync dosfstools syslinux partclone nano pv chntpw vim xinit 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 -p livecd/live
mkdir -p livecd/isolinux

Vytvoříme system SquashFS, parametr -e vynechá složku boot

mksquashfs isofiles filesystem.squashfs -e boot

Následně ho přesuneme do složky live

mv filesystem.squashfs livecd/live/

Přesuneme Kernel a InirRamDisk, pozor název po přejmenování volte bez "-", "_" jinak vam to boot nevezme.

mv isofiles/boot/vmlinuz-3.2.0-4-686-pae livecd/live/vmlinuz
mv isofiles/boot/initrd.img-3.2.0-4-686-pae livecd/live/initrd.img

Vytvoříme jednoduché menu pro boot a uložíme jako isolinux.cfg do složky isolinux

cat > livecd/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 livecd/isolinux
cp /usr/lib/syslinux/menu.c32 livecd/isolinux
cp /boot/memtest86+.bin livecd/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 livecd

liveCD.iso je název výstupního souboru

isofiles je složka ze které se iso vytvoří

"Debian Live" je název CD

Scripty pro vytvoření liveCD, spouští se scriptem start, pri přidání balíků přidejte apt-get install --yes pod již instalované balíky.

Soubor:Scripty.tar.gz