2007.02.14.
Slackware Linux telepÃtÅ‘ USB pendrive-on
A feleségem elhatározta, hogy neki márpedig pendrive kell. Észrevettétek, hogy a nÅ‘k milyen öntudatosak és határozottak, ha meglátnak valamit egy hipermarketben? Éppen reklámáron kÃnálták a Kingston USB cuccokat, és olyan nagyvonalú voltam a feleségemmel, hogy nem szúrtam ki a szemét egy 512 MB-os kütyüvel, hanem neki adtam az én 1 GB-os Kingston DataTraveler USB kulcsomat. Én meg upgrade-eltem annak a nagyobbik testvérére, egy 2 GB-os DataTraveler-re.
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.





September 14th, 2008 at 10:25:09
Hello!
Utólagos engedelmeddel kitettem egy linket a pendrivelinux.hu/syslinux oldalra, ami ide, a Slackware telepÃtésrÅ‘l Ãrt oldalra mutat. Ha bármi kifogásod lenne ellene, természetesen leveszem. Ha hozzájárulsz, akkor a leÃrást tartalmi változtatás nélkül, de stÃlusomra formázva szÃvesen kiteszem egy külön oldalra a leÃrások közzé. Köszönettel: yanosh
September 14th, 2008 at 10:50:41
Persze, nyugodtan felhasználhatod.