Personal tools

Knoppix remastering

From linux360

Revision as of 22:05, 30 November 2005 by Csdexter (talk | contribs) (Added secondary category bindings)
Jump to: navigation, search

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

  1. Booteaza CD-ul Knoppix
  2. Deschide un root shell:
    • Menu: Kmenu->Knoppix->Root Shell
    • Nota: Toate comenzile care urmeaza vor fi rulate din acest root shell
  3. 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.
  4. Gaseste o partitie de lucru cu cel putin 3G spatiu liber. In exemplul nostru aceasta se numeste hda1.
  5. 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.
  6. Creeaza directorul root in care vom lucra:
  7. mkdir /mnt/hda1/knx
  8. 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
  1. 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>
  1. Acum copiaza fisierele KNOPPIX in directorul sursa:
    • cp -Rp /KNOPPIX/* /mnt/hda1/knx/source/KNOPPIX
    • Note: Va dura un pic.
  2. In plus trebuie copiat si directorul 'boot' de pe cdrom - este necesar mai tarziu, cand vom construi imaginea de CD:
  3. cp -ar /cdrom/boot /mnt/hda1/knx/master/boot
  4. 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/
  5. Acum poti chroota in directorul KNOPPIX copiat pe hdd:
    • chroot /mnt/hda1/knx/source/KNOPPIX
  6. Acum esti chrootat, adica "/" este defapt "/mnt/hda1/knx/source/KNOPPIX".
  7. 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:

  1. Sa rulam programele din mediul chrootat in serverul X curent. Pentru aceasta, in mediul chrootat rulam comanda:
    •  export DISPLAY=localhost:0.0
  2. 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