Uncategorized

Slackware Linux telepítő USB pendrive-on

Már korábban is szerettem volna, ha az USB kulcsra egy Linux telepítő is felkerül. Az új pendrive-val pedig már nem lehet több kifogás. Az alábbiakban azt mutatom meg, hogyan sikerült egy redukált Slackware telepítőt applikálni a pendrive-omra.

Az USB kulcsra csak a legszükségesebb csomagokat és egyéb kellékeket teszem fel, ha pedig utólag még szükség lesz valamire, azt majd letöltöm valamelyik Slackware tükörről vagy a pendrive másik partíciójára másolom. A művelethez szükség lesz egy Slackware telepítő CD-re (vagy DVD-re) esetleg egy friss ISO file-ra. Ha már van adat (bármi) a kulcsodon, végezz egy mentést róla.

Praktikus okok miatt hozzunk létre két partíciót az USB kulcson, hogy az alábbihoz hasonló módon nézzen ki az fdisk kimenete (nálam /dev/sda az USB pendrive):

fdisk -l /dev/sda

Disk /dev/sda: 2063 MB, 2063597568 bytes
64 heads, 62 sectors/track, 1015 cylinders
Units = cylinders of 3968 * 512 = 2031616 bytes


Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 126945 6 FAT16
/dev/sda2 65 1015 1886784 6 FAT16

Én már el is készítettem a szükséges FAT16 filerendszert mindkét partíción:

mkdosfs -F 16 /dev/sda1
mkdosfs -F 16 /dev/sda2

A kisebbik (kb. 128 MB) partíción lesz a Slackware telepítő, a nagyobbikon (majdnem 1,9 GB) pedig az adatok (ez nálam mindenféle dokumentációt, konfigurációkat, mentéseket és ennek a site-nak a tartalmát jelenti).

Csatoljuk fel a kisebbik partíciót:

mount -t vfat /dev/sda1 /mnt/pendrive

Készítsük el rajta az alábbi szerkezetet:

ls -l /mnt/pendrive/

total 5006
-rwxr-xr-x 1 sj jogyerek 2375298 2007-02-14 18:06 bzImage
-rwxr-xr-x 1 sj jogyerek 2731362 2007-02-14 18:36 initrd.img
-r-xr-xr-x 1 sj jogyerek 8236 2007-02-14 20:34 ldlinux.sys
-rwxr-xr-x 1 sj jogyerek 830 2007-02-14 20:28 message.txt
drwxr-xr-x 6 sj jogyerek 2048 2007-02-14 21:11 slackware
-rwxr-xr-x 1 sj jogyerek 309 2007-02-14 20:30 syslinux.cfg

A slackware/ könyvtár ugyanaz, mint ami a standard telepítő CD-n is megtalálható. Nekem most elég az “A”, “AP”, “D” és az “N” kollekció:

ls -l /mnt/pendrive/slackware/

total 32
drwxr-xr-x 2 sj jogyerek 22528 2007-02-14 17:03 a
drwxr-xr-x 2 sj jogyerek 4096 2007-02-14 21:04 ap
drwxr-xr-x 2 sj jogyerek 2048 2007-02-14 21:11 d
drwxr-xr-x 2 sj jogyerek 4096 2007-02-14 17:03 n

Persze ezekből sem szerepel az összes csomag, csak azok, amelyeket szükségesnek ítéltem. Pl. az “n” könyvtár csak az alábbi csomagokat tartalmazza:

ls -l /mnt/pendrive/slackware/n/

total 6190
-rwxr-xr-x 1 sj jogyerek 2897 2007-02-14 17:03 install-packages
-rwxr-xr-x 1 sj jogyerek 446 2007-02-14 17:03 install.end
-rwxr-xr-x 1 sj jogyerek 1297 2007-02-14 17:03 maketag
-rwxr-xr-x 1 sj jogyerek 5423 2007-02-14 17:03 maketag.ez
-rwxr-xr-x 1 sj jogyerek 493080 2007-02-14 17:03 ncftp-3.2.0-i486-2.tgz
-rwxr-xr-x 1 sj jogyerek 189 2007-02-14 17:03 ncftp-3.2.0-i486-2.tgz.asc
-rwxr-xr-x 1 sj jogyerek 324 2007-02-14 17:03 ncftp-3.2.0-i486-2.txt
-rwxr-xr-x 1 sj jogyerek 783961 2007-02-14 17:03 openssh-4.4p1-i486-1.tgz
-rwxr-xr-x 1 sj jogyerek 189 2007-02-14 17:03 openssh-4.4p1-i486-1.tgz.asc
-rwxr-xr-x 1 sj jogyerek 676 2007-02-14 17:03 openssh-4.4p1-i486-1.txt
-rwxr-xr-x 1 sj jogyerek 3479851 2007-02-14 17:03 openssl-0.9.8d-i486-1.tgz
-rwxr-xr-x 1 sj jogyerek 189 2007-02-14 17:03 openssl-0.9.8d-i486-1.tgz.asc
-rwxr-xr-x 1 sj jogyerek 561 2007-02-14 17:03 openssl-0.9.8d-i486-1.txt
-rwxr-xr-x 1 sj jogyerek 103393 2007-02-14 17:03 rp-pppoe-3.8-i486-2.tgz
-rwxr-xr-x 1 sj jogyerek 189 2007-02-14 17:03 rp-pppoe-3.8-i486-2.tgz.asc
-rwxr-xr-x 1 sj jogyerek 499 2007-02-14 17:03 rp-pppoe-3.8-i486-2.txt
-rwxr-xr-x 1 sj jogyerek 1274 2007-02-14 17:03 tagfile
-rwxr-xr-x 1 sj jogyerek 833414 2007-02-14 17:03 tcpip-0.17-i486-39.tgz
-rwxr-xr-x 1 sj jogyerek 189 2007-02-14 17:03 tcpip-0.17-i486-39.tgz.asc
-rwxr-xr-x 1 sj jogyerek 589 2007-02-14 17:03 tcpip-0.17-i486-39.txt
-rwxr-xr-x 1 sj jogyerek 599349 2007-02-14 17:03 wget-1.10.2-i486-2.tgz
-rwxr-xr-x 1 sj jogyerek 189 2007-02-14 17:03 wget-1.10.2-i486-2.tgz.asc
-rwxr-xr-x 1 sj jogyerek 398 2007-02-14 17:03 wget-1.10.2-i486-2.txt

Hogy a telepitő panaszkodását eleve kizárjuk, elég módosítani a “maketag” állományt, és csomagok leírásánál a hiányzókat kitöröljük, hogy csak az alábbi csomagok maradjanak:

"ncftp" "NcFTP file transfer utilities" "on" \
"openssh" "OpenSSH Secure Shell" "on" \
"openssl" "OpenSSL Secure Sockets Layer toolkit" "on" \
"rp-pppoe" "Connect to ADSL ISPs that use PPPoE" "on" \
"tcpip" "Basic TCP/IP network programs and daemons" "on" \
"wget" "WWW/FTP retrieval tool" "on" \

Természetesen arra is lehetőség van, hogy egy adott csomag alapértelmezésben ne legyen kiválasztva, ebben az esetben a leírása után szereplő “on” kapcsolót állítsuk át “off“-ra.

Az ISO file-ban is megtalálható isolinux/ könyvtár alól másoljuk az /mnt/pendrive alá az initrd.img és a message.txt file-okat, ez utóbbit – igény esetén – kedvünkre szerkeszthetjük.

A kernels/ könyvtár alól válasszunk ki egy kernelt, pl. sata.i, és az abban levő kernelt másoljuk a /mnt/pendrive könyvtárba:

cp kernels/sata.i/bzImage /mnt/pendrive

Végül hozzuk létre a /mnt/pendrive/syslinux.cfg file-t. Ez nagyon hasonlít az isolinux/isolinux.cfg állományra, nálam így néz ki (Figyelem! Ebben a példában a file 7 soros):

cat /mnt/pendrive/syslinux.cfg
default bzImage initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=bzImage
prompt 1
timeout 100
display message.txt
label bzImage
kernel bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=bzImage

Igény szerint több kernelre is hivatkozhatunk, csak készítsünk neki egy bejegyzést a syslinux.cfg-ben, ill.a kernelt is másoljuk a /mnt/pendrive alá.

Ha idáig eljutottunk, akkor futtassuk a “syslinux /dev/sda1” parancsot, amely elkészíti a
/mnt/pendrive/ldlinux.sys állományt.

A syslinux program a “syslinux” csomagban található, és szükségünk lesz még a “floppy
nevű csomagra is (az mcopy parancshoz).

Ha elkészültünk ezzel is, akkor csatoljuk le a pendrive-ot (umount /mnt/pendrive), indítsuk újra a gépet, és szükség szerint állítsuk be a BIOS-ban, hogy az USB eszközről boot-oljon a gépünk. Ha mindent jól csináltunk, akkor a Slackware szokásos telepitő üzenete köszönti az olvasót.