Difference between revisions of "Knoppix remastering"
From linux360
(Added secondary category bindings) |
|||
Line 191: | Line 191: | ||
[[Category:HowTo]] | [[Category:HowTo]] | ||
+ | [[Category:Distros]] | ||
+ | [[Category:Distros/Knoppix|Knoppix]] | ||
+ | [[Category:Distros/LiveCD|Live CD]] |
Revision as of 22:05, 30 November 2005
Contents
Introducere
In continuare voi descrie procesul de remastering pentru distributia live cd Knoppix. Prin remastering se intelege modificarea distributiei, cu instalarea / dezinstalarea unor pachete, modificarea fisierelor de configurare, etc... In final vom obtine o distributie live-cd customizata.
Cerinte de sistem
Cerintele de sistem pentru cele 2 variante de Knoppix, live-cd si live-dvd, sunt:
- CD-ISO
- cel putin 1 GB liber de RAM + swap (ex: 256M ram liber, si 750M swap liber)
- 3 GB liberi pe un sistem de fisiere Linux (ext2/3, xfs, etc.)
- DVD-ISO
- cel putin 5 GB liberi de RAM + swap (pentru versiunea DVD fullsize)
- 15 GB liberi pe un sistem de fisiere Linux (ext2/3, xfs, etc.)
Pregatirea pentru remastering
- Booteaza CD-ul Knoppix
- Deschide un root shell:
- Menu: Kmenu->Knoppix->Root Shell
- Nota: Toate comenzile care urmeaza vor fi rulate din acest root shell
- Configurarea conexiunii la internet, vom aveam nevoie de ea mai tarziu pentru a instala pachete folosind apt-get.
- Nota: Pentru a verifica conexiunea ruleaza comanda ifconfig.
- Gaseste o partitie de lucru cu cel putin 3G spatiu liber. In exemplul nostru aceasta se numeste hda1.
- Mounteaza partitia:
mount -rw /dev/hda1 /mnt/hda1
- Nota: Asigura-te ca partitia este mountata read/write, altfel vei avea erori mai tarziu, cand vei chroota.
- Creeaza directorul root in care vom lucra:
mkdir /mnt/hda1/knx
- Daca nu ai 1 GB RAM (cat /proc/meminfo - iti arata memoria fizica + swap) atunci vei avea nevoie de un fisier swap:
cd /mnt/hda1/knx
dd if=/dev/zero of=swapfile bs=1M count=750 mkswap swapfile
swapon swapfile- In directorul creat mai sus, cream alte 2 subdirectoare, unul pentru noul Master CD iar celalalt pentru sursa. Deasemenea in aceste directoare vom crea cate un subdirector KNOPPIX:
<nowiki>
mkdir -p /mnt/hda1/knx/master/KNOPPIX
mkdir -p /mnt/hda1/knx/source/KNOPPIX</nowiki>- Acum copiaza fisierele KNOPPIX in directorul sursa:
cp -Rp /KNOPPIX/* /mnt/hda1/knx/source/KNOPPIX
- Note: Va dura un pic.
- In plus trebuie copiat si directorul 'boot' de pe cdrom - este necesar mai tarziu, cand vom construi imaginea de CD:
cp -ar /cdrom/boot /mnt/hda1/knx/master/boot
- Copiaza de pe cd toate fisierele necesare, exceptand fisierul KNOPPIX de ~700 Mb
- pentru Knoppix >= 3.4:
cd /cdrom && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/ \;
- pentru versiunea DVD, trebuie sa folosesti -size -15000k si sa copiezi si directorul KNOPPIX, cu urmatoarea comanda:
cp /cdrom/KNOPPIX/KNOPPIX2 /mnt/hda1/knx/master/KNOPPIX/
- pentru Knoppix >= 3.4:
- Acum poti chroota in directorul KNOPPIX copiat pe hdd:
chroot /mnt/hda1/knx/source/KNOPPIX
- Acum esti chrootat, adica "/" este defapt "/mnt/hda1/knx/source/KNOPPIX".
- Daca primeste erori legate de /dev/null, vezi sectiunea "Probleme frecvente".
Lucrul in mediul chrootat
Tine minte ca orice faci sau creezi in mediul chrootat va fi scris pe CD. Daca faci schimbari (ex: configuratia APT, setarile pt. proxy, etc...), trebuie sa ai grija ca acestea sa nu apara si pe CD.
Acces Internet
Pentru a avea acces la internet trebuie sa mountezi /proc:
mount -t proc proc /proc
Deasemenea, daca nu folosesti DHCP, trebuie sa adaugi in fisierul /etc/resolv.conf DNS-urile preferate, sa setezi ip-ul, ex:
ifconfig eth0 10.0.0.2 netmask 255.255.255.0 up
si sa setezi gateway-ul, ex:
route add default gw 10.0.0.1
Pentru a verifica conexiunea la internet pentru mediul chrootat:
ping google.com
Lucrul cu pachete
In continuare voi prezenta cateva comenzi utile in lucrul cu pachete. Va recomand sa instalati interfata grafica pentru apt-get synaptic si sa-l rulati intr-un server X (vezi mai jos).
Inainte de a folosi apt-get trebuie sa faceti update:
apt-get update
Pentru a instala un pachet:
apt-get install numele-pachetului-de-instalat
Pentru a sterge pachetele din cache-ul apt:
apt-get clean
Pentru a vedea lista completa de pachete:
dpkg-query -l
Pentru a sterge un pachet si toate dependentele lui:
apt-get remove --purge numele-pachetului-de-sters
Pentru a verifica toate pachetele orfane:
deborphan
Pentru a sterge toate pachetele orfane:
deborphan | xargs apt-get -y remove
Setarile pentru utilizatori
Setarile pentru utilizatori sunt in directorul /etc/skel. In acest director sunt fisierele cu setarile pentru diverse medii grafice si programe.
Atentie: Dupa ce bootati, fisierele din acest director nu sunt copiate automat in directorul home, asa cum va asteptati. De acest lucru se ocupa cateva scripturi pe care le voi prezenta in sectiunile urmatoare.
Autoconfigurare KNOPPIX
Sunt cateva fisiere care ajuta la configurarea Knoppix:
- /etc/init.d/knoppix-autoconfig
- imaginea de fundal in X este setata ca fiind fisierul /cdrom/KNOPPIX/background.gif (|.jpg, .png)
- acest script modifica cateva fisiere importante, ceea ce are ca rezultat stabilirea managerului de ferestre default (KDE)
- /etc/X11/Xsession.d/45xsession
- in acest fisier sunt define si apelate functiile care lanseaza managerul de ferestre
Configurarea serverului X
Putem rula programe in mod grafic din interiorul mediul chrootat. Pentru acesta avem la dispozitie 2 optiuni:
- Sa rulam programele din mediul chrootat in serverul X curent. Pentru aceasta, in mediul chrootat rulam comanda:
export DISPLAY=localhost:0.0
- Sa creeam un nou server X, in care sa rulam numai programele din mediul chrootat. Aceasta optiune este utila atunci cand vrem sa testam un manager de ferestre din mediul chrootat.
- Pentru aceasta, inafara mediul chrootat pornim un nou server X:
Xnest -ac :1
- In interiorul mediul chrootat, setam variabila DISPLAY:
export DISPLAY=localhost:1
Remastering
In continuare sunt prezentati pasii necesari crearii unei imagini .iso continand distributia pe care am modificat-o anterior.
Parasirea mediului chrootat
Daca ati mountat /proc trebuie sa-l demountati. Din meniul chrootat rulati comanda:
umount /proc
Atentie: Daca sariti aceasta etapa sistemuld e fisiere /proc va fi inclus in imaginea iso finala, ceea ce este o greseala.
Apasa CTRL+D pentru a parasi mediul chrootat.
Stergerea fisierelor temporare
Dupa ce am terminat customizarea, trebuie sa facem curat:
- stergem fisierele .bash_history, fisierele temporare, etc..
- refacem setarile care nu vrem sa le salvam pe cd
- stergem fisierele temporare:
rm -rf /mnt/hda1/knx/source/KNOPPIX/.rr_moved
- stergem fisierele din cache-ul apt-get:
apt-get clean
Crearea imaginii compresate KNOPPIX
Inainte de a incepe trebuie sa te asiguri ca ai destul RAM si swap liber.
In continuare vom crea fisierul mare KNOPPIX, care este un sistem de fisiere ISO 9660 compresat, pentru a fi folosit de driverul cloop:
mkisofs -R -U -V "KNOPPIX.net filesystem" -publisher "KNOPPIX www.knoppix.net" \ -hide-rr-moved -cache-inodes -no-bak -pad /mnt/hda1/knx/source/KNOPPIX \ | nice -5 /usr/bin/create_compressed_fs - 65536 > /mnt/hda1/knx/master/KNOPPIX/KNOPPIX
Atentie: operatia dureaza, pe un AMD 64 3000+ a durat ~ 20 minute.
Crearea imaginii de cd finale
Inainte de a crea imaginea trebuie sa updatam hasurile md5 ale fisierelor incluse in imaginea ISO. Acestea vor fi folosite pentru testele de integritate:
cd /mnt/hda1/knx/master find -type f -not -name md5sums -not -name boot.cat -not -name isolinux.bin \ -exec md5sum '{}' \; > KNOPPIX/md5sums
Imaginea iso finala este creata cu urmatoarea comanda:
mkisofs -pad -l -r -J -v -V "KNOPPIX" -no-emul-boot -boot-load-size 4 \ -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \ -hide-rr-moved -o /mnt/hda1/knx/knoppix.iso /mnt/hda1/knx/master
Fisierul ISO este salvat in /mnt/hda1/knx/knoppix.iso. Acesta este fisierul final pe care puteti sa-l inscriptionati.
Scripturi utile
Am creat un script care creaza imaginea .iso finala. Modificati variabilele de la inceput pentru configuratia voastra.
#!/bin/sh REMASTER_DIR=/mnt/hdd1/knx MASTER_DIR=$REMASTER_DIR/master SOURCE_DIR=$REMASTER_DIR/source ISO_FILE=$REMASTER_DIR/knoppix.iso mkisofs -R -U -V "KNOPPIX.net filesystem" -publisher "KNOPPIX www.knoppix.net" \ -hide-rr-moved -cache-inodes -no-bak -pad $SOURCE_DIR/KNOPPIX \ | nice -5 $REMASTER_DIR/create_compressed_fs - 65536 > $MASTER_DIR/KNOPPIX/KNOPPIX cd $MASTER_DIR rm -f KNOPPIX/md5sums find -type f -not -name md5sums -not -name boot.cat -not -name isolinux.bin \ -exec md5sum '{}' \; > KNOPPIX/md5sums mkisofs -pad -l -r -J -v -V "KNOPPIX" -no-emul-boot -boot-load-size 4 \ -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \ -hide-rr-moved -o $ISO_FILE $MASTER_DIR
Linkuri utile
Acest tutorial este o traducere si rezumat al tutorialului: http://www.knoppix.net/wiki/Knoppix_Remastering_Howto