LPS:OrionXP/Vytvoření autoinstalačního disku pomocí SLAXe

Z HelpDesk
Verze z 7. 1. 2009, 14:35, kterou vytvořil Dextor (diskuse | příspěvky) (Hotovo, dalsi editace budou snad uz jenom korektury)

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

  1. 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)
  2. Rozbalíme tar xvf slax-x.y.z.tar a archiv smažeme rm slax-x.y.z.tar
  3. 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.
  1. 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)
  2. 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)
  3. Smažeme archivy (rm *)
  4. Vytvoříme lzm balík pomocí toolu dir2lzm cd ../slax/tools/; ./dir2lzm ../../ntfs/ ../base/002-ntfs.lzm
  5. 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):
    1. 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.
    2. 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.
    3. 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).
    4. 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.
    5. ntfsfix /dev/sda1 a yes | ntfsresize /dev/sda1 -f
      • Oprava chyb a zvětšení filesystemu na velikost partition.
    6. poweroff
      • Vypne PC, v některých případech je lepší použít reboot pro restartování.
  • 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!