Jelenlegi hely
Slackware 10.0 live CD készítése
h, 2005-07-18 21:31 - kesigomu
Először is installáljuk kedvenc disztribúciónkat egy merevlemezre. A következőket tartsuk szem előtt: - Swap partíciót NE hozzunk létre. - Az összeállítás ne legyen túl nagy legfeljebb 500-800 Mbyte. Ebbe már sokminden belefér: hálózati szolgáltatások, grafikus felület, saját demo-anyagok, böngésző, és rengeteg segédeszköz is. - Optimalizáljuk a telepített rendszert. -- Készítsük el a megfelelő kernelt és, ha az minden tekintetben megfelelő számunkra a kernel forrás távolítsuk el (- 150 Mbyte!) Minél kevesebb kenel-modult használjunk. A kernelt szabályosan fordítsuk:
A rootfs tartalmaz minden olyan fájlt, amelynek jelen kell lennie a rendszer indításakor, illetve ha felállt a rendszer írhatónak kell lennie. Nézzük tételesen:
Ezt nekem egy script végzi. Vesézzük ki ezt a scriptet!
A CD-re felkerülő anyagot a /meditor/initrd/xhrs_iso/ könyvtárban tárolom. Nézzük mit is tartalmaz ez a könyvtár. a/ A kernelt. Ez az optimalizált merevlemezről átmásolható. Nálam: vmlinuz.med. Be szoktam ide másolni a System.map.med fájl és a config.med fájlt is, hogy könnyebben reprodukálható legyen a rendszer. b/ A CD-bootoláshoz szükséges dolgok, úgymint: - isolinux.bin - isolinux.boot - isolinux.cfg (nézzünk bele, érteni fogjuk a tartalmát) - msg.txt Az első két fájl a CD-boot kódját tartalmazza, a harmadik a boot mikéntjét, a negyedik a boot-oláskor kiírandó üzenetet. c/ A LIVE_CD könyvtárait. - xhrs_ird.gz : a rootfs tartalma ebből inícializálódik a rendszer. - xhrs_home.img: a /home könyvtár - xhrs_usr.img : az /usr könyvtár >> [3. számú melléklet: isolinux.* fájlok]
Talán ez a legegyszerűbb feladat: futtassuk le a create_bootiso scriptet. Ime a script (no comment):
Szokolya, 2005. január 12. Végvári Lajos, meditor
Hogyan készítsünk kedvenc disztrónkból live CD-t?
Ebben környezetben végeztem a munkát:
intel Pentium 4 - 2400 Mhz - 512 Mb RAM
Slackware 10.0 + 2.4.26 kernel.
1. lépés - egy működő rendszer készítése merevlemezre.
Először is installáljuk kedvenc disztribúciónkat egy merevlemezre. A következőket tartsuk szem előtt: - Swap partíciót NE hozzunk létre. - Az összeállítás ne legyen túl nagy legfeljebb 500-800 Mbyte. Ebbe már sokminden belefér: hálózati szolgáltatások, grafikus felület, saját demo-anyagok, böngésző, és rengeteg segédeszköz is. - Optimalizáljuk a telepített rendszert. -- Készítsük el a megfelelő kernelt és, ha az minden tekintetben megfelelő számunkra a kernel forrás távolítsuk el (- 150 Mbyte!) Minél kevesebb kenel-modult használjunk. A kernelt szabályosan fordítsuk:
--- make dep
--- make clean
--- make bzImage
--- make modules
--- make modules_install
--- make bzlilo
Ezt azért írom, mert így a /lib könyyvtár csak a szükséges
modulokat fogja tartalmazni, nem terhelik a rendszert az
előző fordításkor ottmarad felelsleges modulok.
-- Ha grafikus felületet is akarunk használni, állítsuk be az
X window-t. Használjunk ehhez vesa-framebuffert, így
biztosíthatjuk, hogy a lehető legtöbb gépen fusson a
rendszerünk.
-- Nézzük át alaposan az összes konfigurációs fájlt.
A különféle loggolásokat irányítsuk a kukába (/dev/zero),
vagy valamelyik konzolra (syslog.conf).
-- Az indító scriptekről készítsünk másolatot és a másolatokban
vezessük át a megfelelő változtatásokat. Néhány scriptben
más tartalom szükséges a LIVE_CD-esetében, mint a merevlemezes
normál futás esetében. Én az rc.S és az rc.6 fájlokban
változtattam és új scriptkén hozzáadtam a rendszerhez
az rc.cdsearch scriptet.
Az optimalizált rendszert állítsuk le, indítsuk el azt a rendszert, amelyikkel általában is dolgozunk, de úgy, hogy a LIVE_CD-re szánt anyag becsatolható legyen.
>> [1. számú melléklet: az /etc/rc.d/ könyvtár tartalma]
2. lépés - a rootfs összeállítása
A rootfs tartalmaz minden olyan fájlt, amelynek jelen kell lennie a rendszer indításakor, illetve ha felállt a rendszer írhatónak kell lennie. Nézzük tételesen:
------------------------------------------------------------------ könyvtár szerepe ------------------------------------------------------------------ /bin Ez nem úszható meg. Ha van türelmünk és nincs RAM-unk optimalizáljuk a tartalmát. /boot Nincs jelentősége. A teljesség kedvéért vegyük fel és hagyjuk üresen. /dev Na, ez nélkülözhetetlen. /etc Itt van a konfigurációs fájlok legtöbbje, köztük olyanok is, amelyek boot-időben szükségesek. /home Vegyük fel, hagyjuk üresen. Ezt a könyvtárat majd a CD-ről fogjuk becsatolni. Abban az esetben, ha írható tartalommal kell rendelkeznie, úgy vegyük fel az /etc konyvtárhoz hasonlóan. /lib Betöltéskor szükséges dolgokat tartalmaz. sok hely spórolható meg, ha a kernel-modulokat kis számba használjuk csak. /meditor Itt tartom a saját dolgaimat, köztük a bemutató anyagot. Tudom, az /opt könyvtárban volna a helye. /mnt Néhány üres alkönyvtára van, alig foglal helyet. /opt Nálam üres, de előfordulhat, hogy olyan alkalmazás van a LIVE_CD-n, amely ebben a könyvtárban lakik. /proc Üres könyvtár, ide csatolódik be a procfs. /root Ne legyen benne sok dolog. Nekem néhány root-specifikus konfigurációs fájlt tartalmaz. /sbin Néhány kísérlet után beláttam, hogy ezt is jobb felvenni teljes tartalmával együtt. /sys Ez az én rendszeremben egy üres könyvtár, nem igazán tudom mi a szerepe. Van és kész. /tmp Ez ad definitivem üres. /usr Üres könyvtárként vegyük fel. Tartalmát majd a CD-ről fogjuk becsatolni. A teljes adatmennyiség nagy része az /usr könyvtárban van! /var Vegyük fel teljes tartalommal együtt. A logfájlokat ürítsük ki. Feltehetőleg a loggolás jó részét letiltottuk, mindenesetre bízzunk benne, hogy nem hízik nagyra. ------------------------------------------------------------------Én úgy hozom létre a rootfs-t, hogy becsatolom a LIVE_CD-t tartalmazó merevlemezt és a /meditor/initrd/rootfs/ könyvtárba bemásolom a megfelelő tartalmakat a fenti táblázatnak megfelelően.
3. Készitsük el a lenyomatokat (image-eket)
Ezt nekem egy script végzi. Vesézzük ki ezt a scriptet!
#!/bin/sh # make a ramdisk root_filesystem (initrd) ... # ... and anything else # Meditor Digital Strategies since 1989. # Sol omnibus lucet. ## a munkakönyvtár beállítása cd /meditor/initrd ## az iso könytár a ./xhrs_iso IPFX=xhrs_iso ## rootfs_initrd lenyomat: yes make_ird=y ## usr könyvtár lenyomat: yes make_usr=y ## home könyvtár lenyomat: yes make_home=y ########### ## initrd # ########### if test $make_ird = "y" then echo "Make initrd..." ## 64 Mbyte-os lesz a RAM_DISK RDSIZE=65536 ## az image neve IMG=./$IPFX/xhrs_ird ## dummy készítése... dd if=/dev/zero of=$IMG bs=1k count=$RDSIZE ## ... és formázása mke2fs -F -v -m0 $IMG ## becsatoljuk ... mount -o loop $IMG ./mount_ird ## ... belemásoljuk a tartalmát cp -av ./rootfs/* ./mount_ird 1>/dev/zero ## lecsatoljuk umount ./mount_ird ## jó alaposan összetömörítjük gzip -9 $IMG > $IMG.gz ## a munkaállományt letöröljük rm -f $IMG fi ################# ## xhrs_usr.img # ################# ## Ugyanaz, mint előbb de: ## A diskméret jóval nagyobb, mert igazodik az ## /usr/ könyvtár méretéhez. Az /usr/ könyvtár ## méretét a du paranccsal állapíthatjuk meg. ## A megadott méret legyen oszthetó 1024-gyel. ## Az előkészített (optimalizált) merevlemezt ## előzőleg becsatoltam a /mnt/hd könyvtárba. if test $make_usr = "y" then echo "Make usr..." RDSIZE=645120 IMG=./$IPFX/xhrs_usr.img dd if=/dev/zero of=$IMG bs=1k count=$RDSIZE mke2fs -F -v -m0 $IMG mount -o loop $IMG ./mount_ird cp -av /mnt/hd/usr/* ./mount_ird 1>/dev/zero umount ./mount_ird fi ################## ## xhrs_home.img # ################## ## ugyanaz mint az /usr/, csak kisebb a ## könyvtárméret. if test $make_home = "y" then echo "Make home..." RDSIZE=28672 IMG=./$IPFX/xhrs_home.img dd if=/dev/zero of=$IMG bs=1k count=$RDSIZE mke2fs -F -v -m0 $IMG mount -o loop $IMG ./mount_ird cp -av /mnt/hd/home/* ./mount_ird 1>/dev/zero umount ./mount_ird fi ## kész vagyunk (-:: echo "ready." # end of scriptMegjegyzés: kísérjük figyelemmel a script futását, hibaüzenet esetén állítsuk le, javítsuk a hibát, majd futtassuk újra a scriptet. Leggyakoribb az a hiba, hogy a létrehozott üres lenyomat kisebb, mint a belemásolandó könyvtár. >> [2. számú melléklet: mk_images]
4. A LIVE_CD-re felkerülő anyag összeállítása
A CD-re felkerülő anyagot a /meditor/initrd/xhrs_iso/ könyvtárban tárolom. Nézzük mit is tartalmaz ez a könyvtár. a/ A kernelt. Ez az optimalizált merevlemezről átmásolható. Nálam: vmlinuz.med. Be szoktam ide másolni a System.map.med fájl és a config.med fájlt is, hogy könnyebben reprodukálható legyen a rendszer. b/ A CD-bootoláshoz szükséges dolgok, úgymint: - isolinux.bin - isolinux.boot - isolinux.cfg (nézzünk bele, érteni fogjuk a tartalmát) - msg.txt Az első két fájl a CD-boot kódját tartalmazza, a harmadik a boot mikéntjét, a negyedik a boot-oláskor kiírandó üzenetet. c/ A LIVE_CD könyvtárait. - xhrs_ird.gz : a rootfs tartalma ebből inícializálódik a rendszer. - xhrs_home.img: a /home könyvtár - xhrs_usr.img : az /usr könyvtár >> [3. számú melléklet: isolinux.* fájlok]
5. Készítsük el a LIVE_CD lenyomatát.
Talán ez a legegyszerűbb feladat: futtassuk le a create_bootiso scriptet. Ime a script (no comment):
#!/bin/bash # to create a bootable iso from files in current directory # just copy all these files to it and then run this script # isolinux.bin is a CD boot image from isolinux, cd /meditor/initrd/xhrs_iso LABEL="XHRS LIVE CD" mkisofs -o /home/images/xhrs_live_1pre.iso -R -J -V "$LABEL" -hide-rr-moved -v -d -N -no-emul-boot -boot-load-size 32 -boot-info-table -b isolinux.bin -c isolinux.boot -A "$LABEL" . # end of scriptEgy megjegyzést mégiscsak teszek: a lenyomat a /home/images/xhrs_live_1pre.iso fájlba kerül. ... végül Égessük fel az anyagot egy CD-re és próbáljuk ki! Leveleket a témával kapcsolatban a meditor@meditor.hu címre várok. Mindenkinek sok szerencsét és jó munkát kívánok! Ez a dokumentáció mellékletekkel együtt letölthető a meditor ftp szerveréről így:
ftp -p meditor.hu vagy ftp -p 62.77.254.100
login: public
password: [enter] (== nyomj egy entert, vagyis nincs jelszó)
cd /livecd_doc
get livecd_doc.tar.gz
Szokolya, 2005. január 12. Végvári Lajos, meditor
Témakörök:
»
- A hozzászóláshoz regisztráció és belépés szükséges

Hozzászólások
Örülök...
Köszönöm, hogy az új oldalra is átvettétek ezt a cikket... Jó fél éve
írtam, de mind a mai napig rendszeresen töltögetig le az ftp-mről
a hozzávaló anyagokat. Remélem sokaknak vált hasznára. (-::
> Sol omnibus lucet.
Jo a cikk:)
Egyertelmu volt!:) Jo a cikk igy egyertelmu volt, h kikerul az uj oldalra is.:)
-------------------------------------
"Nekem káosz kell, nem bírom a rendet
Zaj kell, ami megöli a csendet
Élet kell és szabadság
nem valami ostoba hazugság"
Nagyon.
Nagyon szeretek ilyen dolgokkal bütykölni, csak sajnos
ritkán vetem papírra a megoldásokat. Van olyan dolog,
amit 1-2 év múlva újból ki kell találnom, mert hülye
fejemmel egy sor sok, annyit sem írtam le róla. (-::
> Sol omnibus lucet.
Detto
Ezzel en is ugyan igy vagyok, ezert csinaltuk volna a config.hu-t , amit sajnos ido hianyaban nem tudtuk igazan "csinalni". De remenyeink szerint ugy mint a slackware.hu az is meg fog ujulni!
-------------------------------------
"Nekem káosz kell, nem bírom a rendet
Zaj kell, ami megöli a csendet
Élet kell és szabadság
nem valami ostoba hazugság"
Amit lehet...
Amit lehet bedobok a közösbe. Ha Ti gondozzátok, az nekem
garancia.
> Sol omnibus lucet.
Nem ertem:)
Nem ertem.:) MOndjuk ebben a pillanatban keltem fel es kocka mondon azonnal a slackware.hu-t neztem meg. Nem fogom fel a a kis agyammal a jeleket, kora van meg.:)
-------------------------------------
"Nekem káosz kell, nem bírom a rendet
Zaj kell, ami megöli a csendet
Élet kell és szabadság
nem valami ostoba hazugság"
Várjuk anyagaidat
meditor bátran küld az írásaidat
.:] A kíváncsiság megölte a macskát [:.
Felfogtam
Ittam egy virtualis kv-t es felfogtam a dolgokat.:D
-------------------------------------
"Nekem káosz kell, nem bírom a rendet
Zaj kell, ami megöli a csendet
Élet kell és szabadság
nem valami ostoba hazugság"