LPS:OrionXP/Vytvoření autoinstalačního disku pomocí SLAXe
Z HelpDesk
OrionXP - vytvoření autoinstalačního disku pomocí SLAXe
Beta verze. Dotazy na 2733 nebo dextor@students.zcu.cz
- Tento návod je určen pro skupinu CIV-LPS, aby byli schopní někdy v budoucnu vytvořit CD nebo DVD, které po jeho nabootování automaticky nahraje na stanici image. Upozornění: Odkazy uvedené v návodu nemusí být v budoucnu platné!!
- Co je k tomu potřeba:
- Hotový patřičný dd image.
- Pracovní stanici s linuxem a přístupem k internetu.
- Prázdné CD nebo DVD (podle velikosti image), pro případ prvotního nezdaru doporučeno RW.
Příprava Slaxe
- Stáhneme si USB verzi Slaxe ze jeho domovských stránek http://www.slax.org/get_slax.php. (V době psaní návodu stačí udělat wget http://www.slax.org/get_slax.php?download=tar)
- Rozbalíme tar xvf slax-x.y.z.tar a archiv smažeme rm slax-x.y.z.tar
- Smažeme přebytečné věci - Slax je sice malý ale pro naše účely může být ještě menší. Nepotřebujeme v něm Xka, KDE, OOo, atd... Proto smažeme vše kromě základního systému (001-base.lzm). Pokud jsme v adresáři s rozbaleným tarem, příkaz bude vypadat nějak takhle: for i in `ls slax/base/ | grep -v 001`;do rm slax/base/$i; done. Bezpečnější asi bude smazat přebytečné balíky ručně třeba přes mc.
Dodatečné balíky
- Ve Slaxovi bohužel nejsou NTFSProgs, bez kterých není možné úspěšně nahrát image. Nejjednodušší bude přidat je z hotových binárek například z Debianu.
- Stáhneme ntfsprogs pro architekturu i386 a také libntfs pro stejnou architekturu do nově vytvořeného adresáře např. ntfs. (mkdir ntfs; cd ntfs; wget http://ftp.cz.debian.org/debian/pool/main/l/linux-ntfs/ntfsprogs_1.13.1-6+b2_i386.deb; wget http://ftp.cz.debian.org/debian/pool/main/l/linux-ntfs/libntfs9_1.13.1-6+b2_i386.deb)
- Rozbalíme Debianí balíky a následně gzip archívy. (ar -x ntfsprogs_1.13.1-6+b2_i386.deb; tar xvzf data.tar.gz; ar -x libntfs9_1.13.1-6+b2_i386.deb; tar xvzf data.tar.gz)
- Smažeme archivy (rm *)
- Vytvoříme lzm balík pomocí toolu dir2lzm cd ../slax/tools/; ./dir2lzm ../../ntfs/ ../base/002-ntfs.lzm
- Pokud byl proces úspěšný, adresar ntfs smažeme nebo pro jistotu jenom někam přesuneme (kdyby se něco nepovedlo). cd ../..; rm -r ntfs
Samoinstalační skript
- Nyní musíme vytvořit skript, který se spusti po naběhnutí Slaxe a přeinstaluje stanici. Následující skript je převzán z původního reinstalačního CD a upraven pro Slaxe:
#!/bin/bash clear
echo "Instaluji pocitac Dell Optiplex 755" echo "Nyni dojde k prerozdeleni disku.." fdisk /dev/sda</etc/partition.table
echo "Vytvari se system souboru pro disk D:" mkntfs /dev/sda2 -f -L Data
echo "Vytvari se system souboru pro disk C:" mkntfs /dev/sda1 -f -L System
mount /dev/sr0
zcat /mnt/sr0/optiplex755-oxp-sp3-w3k-ahci-all_vga-final.dd.gz | dd of=/dev/sda1
echo "Probiha kontrola konzistence disku.." ntfsfix /dev/sda1
echo "Zarovnava se system souboru.." yes | ntfsresize /dev/sda1 -f
poweroff
- Jednotlivé přikazy si nyní rozebereme (clear a echo vynechám):
- fdisk /dev/sda</etc/partition.table
- Přerozdělí disk podle souboru /etc/partition.table, který zatím nemáme, ale za chvíli se podíváme, jak na něj.
- mkntfs /dev/sda2 -f -L Data a mkntfs /dev/sda1 -f -L System
- Vytvoří systém souborů NTFS na již vytvořených oddílech a pojmenuje je.
- mount /dev/sr0
- Namountuje CD mechaniku /dev/sr0 do /mnt/sr0 (je potřeba zjistit, jak se mechanika jmenuje na stanici, pro kterou děláme autoinstalační medium a případně sr0 nahradit).
- zcat /mnt/sr0/optiplex755-oxp-sp3-w3k-ahci-all_vga-final.dd.gz | dd of=/dev/sda1
- Samotné nahrání image na pevný disk počítače, zde je nutné dát si pozor na umistění a název image a také vybrat spravný disk.
- ntfsfix /dev/sda1 a yes | ntfsresize /dev/sda1 -f
- Oprava chyb a zvětšení filesystemu na velikost partition.
- poweroff
- Vypne PC, v některých případech je lepší použít reboot pro restartování.
- fdisk /dev/sda</etc/partition.table
- Důležité: Po napsání skript uložíme pod vhodným jménem např. dell755 a nastavníme mu parametr eXecutable (chmod +x dell755).
Automatické rozdělení disku (soubor partition.table)
- Nejjistější způsob jak přerozdělit správně disky je použít fdisk a k němu soubor s odpověďmi.
d 1 d 2 d 3 d 4 n p 1
+25600M n p 2
t 1 7 t 2 7 a 1 w
- Co to udělá
- Smaže všechny případné oddíly
- Vytvoří oddíl na začátku disku s velikostí 25600 MB
- Vytvoří druhý oddíl o velikosti zbytku disku
- Nastaví oba oddíly jako NTFS
- Nastaví první oddíl jako BOOTABLE
- Uloží rozdělení disku
Máme skript, máme rozdělení disku, co s tím dál
- Vytvoříme adresář např. 755 a v něm další adresáře a to etc, a usr a v něm bin (mkdir -p 755/etc; mkdir -p 755/usr/bin).
- Do nami vytvořeného etc vložíme soubor partition.table.
- Do usr/bin dáme náš samoinstalační skript.
- Vytvoříme lzm balík pomocí toolu dir2lzm cd slax/tools/; ./dir2lzm ../../755/ ../base/003-755.lzm
- Smažeme nebo raději přesuneme adresář 755 na bezpečné místo (pro případ, že by skript nefungoval).
Editace konfiguračního souboru zavaděče
- Aby Slax fungoval automaticky, musíme poeditovat zavaděč. Použíjte vim nebo jiný textový editor (vim boot/slax.cfg).
- V defaultu je v konfiguráku spousta zbytečných věcí, tady je příklad, jak by měl vypadat upravený konfigurák:
PROMPT 0 TIMEOUT 10 DEFAULT /boot/vesamenu.c32
LABEL slax MENU LABEL Slax Text mode KERNEL /boot/vmlinuz APPEND initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw noauto autoexec=dell755 changes=/slax/
- Co je potřeba upravit:
- Na posledním řádku vidíme parametr noauto, který defaultně v konfiguráku není. Pro správné fungování výše uvedeného instalačního skriptu je ale nutné ho v tomto konfiguráku uvést.
- Dalším nutným parametrem je autoexec=dell755, kde dell755 je název našeho skriptu.
- Hodnotu u TIMEOUT nastavit na rozumný čas.
Vytvoření ISO image
- Než se do toho dáme, zkontrolujeme, zda:
- Máme upravený slax.cfg
- Máme v slax/base soubory 001-core.lzm, 002-ntfs.lzm a 003-755.lzm
- Máme v našem pracovním adresáři pouze adresáře boot a slax. Ostatní přesuneme nebo smažeme. Nahrajeme sem dd image. Výpis příkazu ls bude tedy vypadat nějak takto:
root@ui423p10-lps:~/slax# ls boot optiplex755-oxp-sp3-w3k-ahci-all_vga-final.dd.gz slax
- Nyní přejdeme do adresáře slax a spustíme skript na vytvoření isa sh make_iso.sh.
- Zeptá se nás, kam chceme výsledné ISO uložit, výchozí volba je /root/slax.iso. Můžete nechat nebo změnit podle libosti.
- Nyní již stačí ISO vypálit a vyzkoušet. Pokud funguje, gratulujeme!