LPS:AutomatizovanyInstalatorKoncovychStanicOrion/Výroba vlastního LiveCD

Z Support
Přejít na: navigace, hledání
(Chroot)
(Výroba bootovatelného ISO souboru)
 
(Není zobrazeno 6 mezilehlých verzí od 1 uživatele.)
Řádka 39: Řádka 39:
 
export HOME=/root
 
export HOME=/root
 
export LC_ALL=C
 
export LC_ALL=C
 +
apt-get update
 
apt-get install dialog dbus --yes
 
apt-get install dialog dbus --yes
 
dbus-uuidgen > /var/lib/dbus/machine-id
 
dbus-uuidgen > /var/lib/dbus/machine-id
apt-get update --yes
 
 
</pre>
 
</pre>
  
Řádka 52: Řádka 52:
 
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.
 
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.
 
<pre>
 
<pre>
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  
+
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
usbutils gparted ntfsprogs hfsprogs rsync dosfstools syslinux partclone nano pv chntpw vim xinit xterm
+
 
</pre>
 
</pre>
  
Řádka 77: Řádka 76:
 
Nejdříve vytvoříme složky potřebné pro bootování.
 
Nejdříve vytvoříme složky potřebné pro bootování.
 
<pre>
 
<pre>
mkdir isofiles/live
+
mkdir -p livecd/live
mkdir isofiles/isolinux
+
mkdir -p livecd/isolinux
 
</pre>
 
</pre>
  
Řádka 85: Řádka 84:
  
 
Následně ho přesuneme do složky live
 
Následně ho přesuneme do složky live
  mv filesystem.squashfs isofiles/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.
 
Přesuneme Kernel a InirRamDisk, pozor název po přejmenování volte bez "-", "_" jinak vam to boot nevezme.
 
<pre>
 
<pre>
mv isofiles/boot/vmlinuz-3.2.0-4-686-pae isofiles/live/vmlinuz
+
mv isofiles/boot/vmlinuz-3.2.0-4-686-pae livecd/live/vmlinuz
mv isofiles/boot/initrd.img-3.2.0-4-686-pae isofiles/live/initrd.img
+
mv isofiles/boot/initrd.img-3.2.0-4-686-pae livecd/live/initrd.img
 
</pre>
 
</pre>
  
 
Vytvoříme jednoduché menu pro boot a uložíme jako isolinux.cfg do složky isolinux
 
Vytvoříme jednoduché menu pro boot a uložíme jako isolinux.cfg do složky isolinux
 
<pre>
 
<pre>
cat > isofiles/isolinux/isolinux.cfg <<EOF
+
cat > livecd/isolinux/isolinux.cfg <<EOF
  
 
UI menu.c32
 
UI menu.c32
Řádka 108: Řádka 107:
 
menu default
 
menu default
 
kernel /live/vmlinuz
 
kernel /live/vmlinuz
initrd=/live/initrd.img boot=live
+
initrd /live/initrd.img boot=live
  
  
Řádka 120: Řádka 119:
 
Poslední úpravou je nakopírování důležitých souborů
 
Poslední úpravou je nakopírování důležitých souborů
 
<pre>
 
<pre>
cp /usr/lib/syslinux/isolinux.bin isofiles/isolinux
+
cp /usr/lib/syslinux/isolinux.bin livecd/isolinux
cp /usr/lib/syslinux/menu.c32 isofiles/isolinux
+
cp /usr/lib/syslinux/menu.c32 livecd/isolinux
cp /boot/memtest86+.bin isofiles/live/memtest
+
cp /boot/memtest86+.bin livecd/live/memtest
 
</pre>
 
</pre>
  
 
=Výroba bootovatelného ISO souboru=
 
=Výroba bootovatelného ISO souboru=
 
Nejjednodušší, avšak nedílnou součástí je vytvoření 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  
+
  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
-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
 
'''liveCD.iso''' je název výstupního souboru
Řádka 136: Řádka 134:
 
'''"Debian Live"''' je název CD
 
'''"Debian Live"''' je název CD
  
Scripty pro vztvoření liveCD, spouští se scriptem start, pri přidání balíků přidejte apt-get install --yes pod již instalované balíky.
+
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]]
 
  [[Soubor:scripty.tar.gz]]

Aktuální verze z 10:17, 26 září 2013

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.

Obsah

[editovat] 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 .

[editovat] 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+

[editovat] 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.

[editovat] 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

[editovat] 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

[editovat] 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
Osobní nástroje
Jmenné prostory

Varianty
Zobrazení
Akce
Kdo jsem
Navigace
Často hledaná témata
Nástroje