Personal tools

Difference between revisions of "Knoppix remastering"

From linux360

Jump to: navigation, search
m (Testarea window managerului)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
==Introducere==
 
==Introducere==
 
In continuare voi descrie procesul de reeditare a distributiei live-cd Knoppix.  
 
In continuare voi descrie procesul de reeditare a distributiei live-cd Knoppix.  
Prin reeditare se intelege modificarea distributiei, cu instalarea / dezinstalarea  
+
Prin reeditare se intelege modificarea distributiei, cu instalarea/dezinstalarea  
 
de pachete, modificarea fisierelor de configurare, etc... In final vom obtine o  
 
de pachete, modificarea fisierelor de configurare, etc... In final vom obtine o  
 
distributie live-cd customizata.
 
distributie live-cd customizata.
<div id="aflknwerkamfs" style="overflow:auto;height:1px;">[http://www.zip.dk/gaeste/bog.php3?id=25415 8 borang permohonan spa] [http://www.zip.dk/gaeste/bog.php3?id=25414 med sona spa] [http://www.zip.dk/gaeste/bog.php3?id=25413 conair foot massaging productpage spa] [http://www.zip.dk/gaeste/bog.php3?id=25412 hotel pittsburgh spa] [http://www.zip.dk/gaeste/bog.php3?id=25411 hot spa springs] [http://www.zip.dk/gaeste/bog.php3?id=25410 day new spa york] [http://www.zip.dk/gaeste/bog.php3?id=25409 hot install replace spa tub] [http://www.zip.dk/gaeste/bog.php3?id=25408 hotel philadelphia spa] [http://www.zip.dk/gaeste/bog.php3?id=25407 day dc spa washington] [http://www.zip.dk/gaeste/bog.php3?id=25406 angeles day los spa] [http://www.zip.dk/gaeste/bog.php3?id=25405 certificate gift spa] [http://www.zip.dk/gaeste/bog.php3?id=25404 dealer pool spa] [http://www.zip.dk/gaeste/bog.php3?id=25403 boob bra ocean pool water] [http://www.zip.dk/gaeste/bog.php3?id=25402 clothes in pool] [http://www.zip.dk/gaeste/bog.php3?id=25401 play a free online pool game] [http://www.zip.dk/gaeste/bog.php3?id=25400 above build ground install pool swimming] [http://www.zip.dk/gaeste/bog.php3?id=25399 polyurethane reaction injection molding] [http://www.zip.dk/gaeste/bog.php3?id=25398 g5 laser logitech mouse] [http://www.zip.dk/gaeste/bog.php3?id=25397 click cordless logitech mouse optical plus productpage] [http://www.zip.dk/gaeste/bog.php3?id=25396 batt insulation poured rolled upgrade] [http://www.zip.dk/gaeste/bog.php3?id=25395 fiberglass insulation roll] [http://www.zip.dk/gaeste/bog.php3?id=25394 insulation plastic window] [http://www.zip.dk/gaeste/bog.php3?id=25393 cold heat insulation material whol] [http://www.zip.dk/gaeste/bog.php3?id=25392 high insulation temperature] [http://www.zip.dk/gaeste/bog.php3?id=25391 blowing insulation machine] [http://www.zip.dk/gaeste/bog.php3?id=25390 guitar string tighteners] [http://www.zip.dk/gaeste/bog.php3?id=25389 how to change electric guitar string] [http://www.zip.dk/gaeste/bog.php3?id=25388 box comment generator myspace] [http://www.zip.dk/gaeste/bog.php3?id=25387 friend generator myspace] [http://www.zip.dk/gaeste/bog.php3?id=25386 custom friend generator myspace space] [http://www.zip.dk/gaeste/bog.php3?id=25385 myspace layout generator] [http://www.zip.dk/gaeste/bog.php3?id=25384 carolina college foundation north] [http://www.zip.dk/gaeste/bog.php3?id=25383 adoption dave foundation thomas] [http://www.zip.dk/gaeste/bog.php3?id=25382 foundation window workflow] [http://www.zip.dk/gaeste/bog.php3?id=25381 foundation hidradenitis suppurativa] [http://www.zip.dk/gaeste/bog.php3?id=25380 foundation indian southwest] [http://www.zip.dk/gaeste/bog.php3?id=25378 colorado foundation hines] [http://www.zip.dk/gaeste/bog.php3?id=25377 elk foundation mountain rocky] [http://www.zip.dk/gaeste/bog.php3?id=25376 dave foundation thomas] [http://www.zip.dk/gaeste/bog.php3?id=25375 concrete foundation raise repair] [http://www.zip.dk/gaeste/bog.php3?id=25374 360 box dvd hd x] [http://www.zip.dk/gaeste/bog.php3?id=25373 box collector dvd friend] [http://www.zip.dk/gaeste/bog.php3?id=25372 decorating home product] [http://www.zip.dk/gaeste/bog.php3?id=25371 cheap free shipping toy] [http://www.zip.dk/gaeste/bog.php3?id=25370 overseas carpentry jobs] [http://www.zip.dk/gaeste/bog.php3?id=25369 but left their card and failed to file out a report] [http://www.zip.dk/gaeste/bog.php3?id=25368 accessory card file] [http://www.zip.dk/gaeste/bog.php3?id=25367 180 buy hcl tablet tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25366 buy hcl.idilis.ro link tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25365 buy cheap.k25.net link tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25364 buy health.20mbweb.com link tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25363 buy link online.int.tc tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25362 buy cheap.be.tc link tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25361 buy link online.blog.com tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25360 buy link online.col.nu tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25359 buy link now.ql.st tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25358 buy href isuyen.blogdrive.com tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25357 buy search tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25356 buy link myblog.de tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25355 buy gem high quality stone] [http://www.zip.dk/gaeste/bog.php3?id=25354 buy gem precious stone] [http://www.zip.dk/gaeste/bog.php3?id=25353 grossmans building supply store] [http://www.zip.dk/gaeste/bog.php3?id=25352 building material tacoma] [http://www.zip.dk/gaeste/bog.php3?id=25351 building kempsville material] [http://www.zip.dk/gaeste/bog.php3?id=25350 building chattanooga material] [http://www.zip.dk/gaeste/bog.php3?id=25349 building las material vegas] [http://www.zip.dk/gaeste/bog.php3?id=25348 building detroit material] [http://www.zip.dk/gaeste/bog.php3?id=25347 building material pasadena] [http://www.zip.dk/gaeste/bog.php3?id=25346 building greenville material sc] [http://www.zip.dk/gaeste/bog.php3?id=25345 building jackson material] [http://www.zip.dk/gaeste/bog.php3?id=25344 building fort material worth] [http://www.zip.dk/gaeste/bog.php3?id=25343 building columbia material] [http://www.zip.dk/gaeste/bog.php3?id=25342 building diego material san] [http://www.zip.dk/gaeste/bog.php3?id=25341 building distributor material] [http://www.zip.dk/gaeste/bog.php3?id=25340 building cincinnati material] [http://www.zip.dk/gaeste/bog.php3?id=25339 building chicago material] [http://www.zip.dk/gaeste/bog.php3?id=25338 building dallas material] [http://www.zip.dk/gaeste/bog.php3?id=25337 building houston material] [http://www.zip.dk/gaeste/bog.php3?id=25336 texas custom build home] [http://www.zip.dk/gaeste/bog.php3?id=25335 a frame home to build] [http://www.zip.dk/gaeste/bog.php3?id=25334 build equity in home] [http://www.zip.dk/gaeste/bog.php3?id=25333 accessory bathroom exposition] [http://www.zip.dk/gaeste/bog.php3?id=25332 airsoft gun gun stun taser] [http://www.zip.dk/gaeste/bog.php3?id=25331 airsoft gun marui tokyo] [http://www.zip.dk/gaeste/bog.php3?id=25330 airline boston ticket] [http://www.zip.dk/gaeste/bog.php3?id=25329 airline italy ticket] [http://www.zip.dk/gaeste/bog.php3?id=25328 airline phoenix southwest ticket] [http://www.zip.dk/gaeste/bog.php3?id=25327 airline miami ticket] [http://www.zip.dk/gaeste/bog.php3?id=25326 airline pittsburgh ticket] [http://www.zip.dk/gaeste/bog.php3?id=25325 airline cheap edinburgh ticket uk] [http://www.zip.dk/gaeste/bog.php3?id=25324 airline ticket travel velocity] [http://www.zip.dk/gaeste/bog.php3?id=25323 airline cheap minute ticket] [http://www.zip.dk/gaeste/bog.php3?id=25322 airline international ticket] [http://www.zip.dk/gaeste/bog.php3?id=25321 airline blue jet ticket] [http://www.zip.dk/gaeste/bog.php3?id=25320 airline cheap really ticket] [http://www.zip.dk/gaeste/bog.php3?id=25319 airline orbitz ticket] [http://jkgff84plhy.com/ jkgff84plhy] </div>
+
 
 +
Tutorialul de mai jos a fost testat cu Knoppix versiunea 5.1.1.
 +
 
 +
==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 reeditare==
 +
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 o conexiune la
 +
internet mai tarziu, pentru a instala pachete folosind apt-get. Pentru a
 +
verifica conexiunea ruleaza comanda ifconfig.
 +
 
 +
4. Gaseste o partitie de lucru cu cel putin 3 Gb spatiu liber. In exemplul
 +
nostru aceasta se numeste '''hda1'''.
 +
 
 +
5. Mounteaza partitia de lucru:
 +
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:
 +
mkdir /mnt/hda1/knx
 +
 
 +
7. Daca nu ai 1 GB RAM (cat /proc/meminfo - iti arata memoria fizica + swap) 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
 +
 
 +
8. In directorul creat mai sus, creaza alte 2 subdirectoare, unul pentru noul
 +
Master CD iar celalalt pentru sursa. Deasemenea in aceste directoare trebuie sa
 +
creezi cate un subdirector ''KNOPPIX'':
 +
mkdir -p /mnt/hda1/knx/master/KNOPPIX
 +
mkdir -p /mnt/hda1/knx/source/KNOPPIX
 +
 
 +
9. Acum copiaza fisierele KNOPPIX in directorul sursa:
 +
cp -Rp /KNOPPIX/* /mnt/hda1/knx/source/KNOPPIX
 +
Nota: Va dura un pic.
 +
 
 +
10. In plus trebuie copiat si directorul 'boot' de pe cdrom. Il vom folosi mai
 +
tarziu, cand vom construi imaginea de CD:
 +
cp -ar /cdrom/boot /mnt/hda1/knx/master/boot
 +
 
 +
11. Pentru Knoppix 5.0.1 trebuie sa copiezi si directorul 'modules':
 +
cp -ar /cdrom/KNOPPIX/modules /mnt/hda1/knx/master/KNOPPIX/.
 +
 
 +
12. Copiaza pagina html folosita pentru startup:
 +
cp /cdrom/index.html /mnt/hda1/knx/master/
 +
 
 +
13. 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/
 +
 
 +
14. Acum poti chroota in directorul KNOPPIX copiat pe hdd:
 +
chroot /mnt/hda1/knx/source/KNOPPIX
 +
Acum esti chrootat, adica "/" este de fapt "/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 sistemul de fisiere /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 in mediul chrootat ruleaza comanda:
 +
ping google.com
 +
 
 +
===Lucrul cu pachete===
 +
In continuare voi prezenta cateva comenzi utile in lucrul cu pachete. Va
 +
recomand sa instalati ''synaptic'' - interfata grafica pentru apt-get. Puteti
 +
sa-l rulati intr-un server X (vezi mai jos).
 +
 
 +
Inainte de a folosi apt-get trebuie sa-l actualizati:
 +
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
 +
 +
===Autoconfigurare KNOPPIX===
 +
Principalul script de autoconfigurare a distributiei Knoppix este:
 +
* /etc/init.d/knoppix-autoconfig
 +
 
 +
Acest script este responsabil pentru detectarea diverselor setari hardware. In
 +
plus stabileste o serie de setari software implicite, cum ar fi:
 +
* limba
 +
* maparea tastaturii
 +
* window managerul
 +
Majoritatea setarilor sunt scrise in fisierele din directorul ''/etc/sysconfig'',
 +
de unde sunt citite de alte scripturi specifice knoppix.
 +
 
 +
===Modificarea setarilor la nivel de utilizator===
 +
Setarile pentru utilizatori sunt in directorul /etc/skel. In acest director sunt
 +
fisierele cu setarile pentru diverse programe si medii grafice.
 +
 
 +
Copierea efectiva a fisierelor si directoarelor din acesta locatie este realizata
 +
de scriptul ''/etc/X11/Xsession.d/45xsession'', care este rulat la fiecare
 +
pornire a serverului X. Pentru copiere este folosita comanda sync.
 +
 
 +
==Configurarea serverului X==
 +
Putem rula programe in mod grafic din interiorul mediul chrootat. Pentru acesta
 +
avem la dispozitie 2 optiuni.
 +
 
 +
===Folosirea serverului X curent===
 +
Putem sa rulam programele din mediul chrootat folosind serverul X curent.  
 +
Pentru a putea face acest lucru, in mediul chrootat  trebuie sa rulam comanda:
 +
export DISPLAY=localhost:0.0
 +
Programele le rulam in mod normal.
 +
 
 +
===Crearea unui nou server X===
 +
In cazul in care vrem sa testam managerul de ferestre al distributiei la care
 +
lucram nu mai putem folosi serverul X curent, trebuie sa rulam un nou server X.  
 +
Asadar vom avea 2 servere X. Un server X corespunzator sistemului de operare
 +
din care lucram, si unul folosit pentru a rula programele din mediul chrootat.
 +
 
 +
Inafara mediul chrootat pornim un nou server X:
 +
Xnest -ac :1
 +
In interiorul mediul chrootat, setam variabila DISPLAY:
 +
export DISPLAY=localhost:1
 +
 
 +
==Modificarea si testarea mediul desktop==
 +
Urmand instructiunile de mai jos este foarte usor sa modificari mediul desktop
 +
implicit si apoi sa testati modificarile realizate.
 +
 
 +
===Schimbarea window managerului===
 +
Knoppix foloseste implicit mediul desktop KDE. Schimbarea mediului desktop sau a
 +
window managerului implicit se realizeaza prin editarea scriptului de configurare
 +
''/etc/init.d/knoppix-autoconfig''.
 +
 
 +
Scriptul ''/etc/X11/Xsession.d/45xsession'' este responsabil cu pornirea window
 +
managerului si contine cod specific pentru cele mai populare window managere.  
 +
Fisierul poate fi extins foarte usor pentru a suporta si alte window managere.
 +
 
 +
===Testarea window managerului===
 +
Puteti sa testati modificarile aduse mediului desktop fara a parasi mediul
 +
cdroot-at. Mai intai trebuie sa creati directorul knoppix:
 +
mkdir /home/knoppix && chown -R knoppix:users /home/knoppix/
 +
Acest director va fi popular cu fisierele din ''/etc/skel'' la fiecare rulare
 +
a unui server X.
 +
 
 +
Pentru a configura si porni un nou server X ca utilizator ''knoppix'' trebuie sa
 +
rulati comanda:
 +
su -c "DISPLAY=:1 exec /etc/X11/xinit/xinitrc" - knoppix
 +
 
 +
==Reeditarea efectiva==
 +
In continuare sunt prezentati pasii necesari crearii unei imagini .iso continand
 +
distributia pe care am modificat-o anterior.
 +
 
 +
===Parasirea mediului chrootat===
 +
Daca ati mountat sistemul de fisiere /proc trebuie sa-l demountati. Din mediul
 +
chrootat rulati comanda:
 +
umount /proc
 +
 
 +
'''Atentie''': Daca sariti aceasta etapa sistemul de fisiere /proc va fi inclus
 +
in imaginea iso finala, ceea ce are implicatii serioase.
 +
 
 +
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 aceasta etapa trebuie sa te asiguri ca ai destul RAM si
 +
swap liber.
 +
 
 +
In continuare vom crea fisierul KNOPPIX, care este defapt 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 finale a cd-ului===
 +
Inainte de a crea imaginea trebuie sa actualizam hash-urile md5 ale fisierelor
 +
ce vor fi incluse in fisierul 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
 +
 
 +
Fisierul iso final este creat 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 la adresa /mnt/hda1/knx/knoppix.iso. Acesta este
 +
fisierul final pe care il puteti inscriptiona folosind programul favorit.
 +
 
 +
==Probleme frecvente==
 +
In continuare voi prezenta solutiile la cele mai frecvente probleme intalnite la
 +
reeditarea Knoppix.
 +
 
 +
===get_pty: not enough ptys===
 +
Apare cand incerci sa rulezi un terminal (xterm, gnome-terminal, etc..) dintr-un
 +
window manager pornit folosind mediul chroot-at.
 +
 
 +
Solutia este:
 +
<code bash>
 +
# din afara mediului chrootat ruleaza comenzile:
 +
cd /mnt/hda1/knx/source/KNOPPIX/dev
 +
MAKEDEV pty
 +
 
 +
# intra in mediul chrootat
 +
chroot /mnt/hda1/knx/source/KNOPPIX/
 +
 
 +
# mounteaza /dev/pts
 +
mount -t devpts /dev/pts/ /dev/pts
 +
</code>
 +
 
 +
==Scripturi utile==
 +
Am creat un script care cuprinde comenzile de mai sus. Modificati variabilele
 +
de la inceput conform configuratiei voastre.
 +
''remaster.sh''
 +
<code bash>#!/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
 +
</code>
 +
 
 +
==Legaturi utile==
 +
Acest tutorial este o traducere si in acelasi timp un rezumat al tutorialului:
 +
http://www.knoppix.net/wiki/Knoppix_Remastering_Howto
 +
 
 +
[[Category:HowTo]]
 +
[[Category:Distributions]]
 +
[[Category:Knoppix]]
 +
[[Category:LiveCD]]

Latest revision as of 23:41, 13 January 2008

Introducere

In continuare voi descrie procesul de reeditare a distributiei live-cd Knoppix. Prin reeditare se intelege modificarea distributiei, cu instalarea/dezinstalarea de pachete, modificarea fisierelor de configurare, etc... In final vom obtine o distributie live-cd customizata.

Tutorialul de mai jos a fost testat cu Knoppix versiunea 5.1.1.

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 reeditare

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 o conexiune la internet mai tarziu, pentru a instala pachete folosind apt-get. Pentru a verifica conexiunea ruleaza comanda ifconfig.

4. Gaseste o partitie de lucru cu cel putin 3 Gb spatiu liber. In exemplul nostru aceasta se numeste hda1.

5. Mounteaza partitia de lucru:

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:

mkdir /mnt/hda1/knx

7. Daca nu ai 1 GB RAM (cat /proc/meminfo - iti arata memoria fizica + swap) 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

8. In directorul creat mai sus, creaza alte 2 subdirectoare, unul pentru noul Master CD iar celalalt pentru sursa. Deasemenea in aceste directoare trebuie sa creezi cate un subdirector KNOPPIX:

mkdir -p /mnt/hda1/knx/master/KNOPPIX
mkdir -p /mnt/hda1/knx/source/KNOPPIX

9. Acum copiaza fisierele KNOPPIX in directorul sursa:

cp -Rp /KNOPPIX/* /mnt/hda1/knx/source/KNOPPIX

Nota: Va dura un pic.

10. In plus trebuie copiat si directorul 'boot' de pe cdrom. Il vom folosi mai tarziu, cand vom construi imaginea de CD:

cp -ar /cdrom/boot /mnt/hda1/knx/master/boot

11. Pentru Knoppix 5.0.1 trebuie sa copiezi si directorul 'modules':

cp -ar /cdrom/KNOPPIX/modules /mnt/hda1/knx/master/KNOPPIX/.

12. Copiaza pagina html folosita pentru startup:

cp /cdrom/index.html /mnt/hda1/knx/master/

13. 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/

14. Acum poti chroota in directorul KNOPPIX copiat pe hdd:

chroot /mnt/hda1/knx/source/KNOPPIX

Acum esti chrootat, adica "/" este de fapt "/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 sistemul de fisiere /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 in mediul chrootat ruleaza comanda:

ping google.com

Lucrul cu pachete

In continuare voi prezenta cateva comenzi utile in lucrul cu pachete. Va recomand sa instalati synaptic - interfata grafica pentru apt-get. Puteti sa-l rulati intr-un server X (vezi mai jos).

Inainte de a folosi apt-get trebuie sa-l actualizati:

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

Autoconfigurare KNOPPIX

Principalul script de autoconfigurare a distributiei Knoppix este:

  • /etc/init.d/knoppix-autoconfig

Acest script este responsabil pentru detectarea diverselor setari hardware. In plus stabileste o serie de setari software implicite, cum ar fi:

  • limba
  • maparea tastaturii
  • window managerul

Majoritatea setarilor sunt scrise in fisierele din directorul /etc/sysconfig, de unde sunt citite de alte scripturi specifice knoppix.

Modificarea setarilor la nivel de utilizator

Setarile pentru utilizatori sunt in directorul /etc/skel. In acest director sunt fisierele cu setarile pentru diverse programe si medii grafice.

Copierea efectiva a fisierelor si directoarelor din acesta locatie este realizata de scriptul /etc/X11/Xsession.d/45xsession, care este rulat la fiecare pornire a serverului X. Pentru copiere este folosita comanda sync.

Configurarea serverului X

Putem rula programe in mod grafic din interiorul mediul chrootat. Pentru acesta avem la dispozitie 2 optiuni.

Folosirea serverului X curent

Putem sa rulam programele din mediul chrootat folosind serverul X curent. Pentru a putea face acest lucru, in mediul chrootat trebuie sa rulam comanda:

export DISPLAY=localhost:0.0

Programele le rulam in mod normal.

Crearea unui nou server X

In cazul in care vrem sa testam managerul de ferestre al distributiei la care lucram nu mai putem folosi serverul X curent, trebuie sa rulam un nou server X. Asadar vom avea 2 servere X. Un server X corespunzator sistemului de operare din care lucram, si unul folosit pentru a rula programele din mediul chrootat.

Inafara mediul chrootat pornim un nou server X:

Xnest -ac :1

In interiorul mediul chrootat, setam variabila DISPLAY:

export DISPLAY=localhost:1

Modificarea si testarea mediul desktop

Urmand instructiunile de mai jos este foarte usor sa modificari mediul desktop implicit si apoi sa testati modificarile realizate.

Schimbarea window managerului

Knoppix foloseste implicit mediul desktop KDE. Schimbarea mediului desktop sau a window managerului implicit se realizeaza prin editarea scriptului de configurare /etc/init.d/knoppix-autoconfig.

Scriptul /etc/X11/Xsession.d/45xsession este responsabil cu pornirea window managerului si contine cod specific pentru cele mai populare window managere. Fisierul poate fi extins foarte usor pentru a suporta si alte window managere.

Testarea window managerului

Puteti sa testati modificarile aduse mediului desktop fara a parasi mediul cdroot-at. Mai intai trebuie sa creati directorul knoppix:

mkdir /home/knoppix && chown -R knoppix:users /home/knoppix/

Acest director va fi popular cu fisierele din /etc/skel la fiecare rulare a unui server X.

Pentru a configura si porni un nou server X ca utilizator knoppix trebuie sa rulati comanda:

su -c "DISPLAY=:1 exec /etc/X11/xinit/xinitrc" - knoppix

Reeditarea efectiva

In continuare sunt prezentati pasii necesari crearii unei imagini .iso continand distributia pe care am modificat-o anterior.

Parasirea mediului chrootat

Daca ati mountat sistemul de fisiere /proc trebuie sa-l demountati. Din mediul chrootat rulati comanda:

umount /proc

Atentie: Daca sariti aceasta etapa sistemul de fisiere /proc va fi inclus in imaginea iso finala, ceea ce are implicatii serioase.

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 aceasta etapa trebuie sa te asiguri ca ai destul RAM si swap liber.

In continuare vom crea fisierul KNOPPIX, care este defapt 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 finale a cd-ului

Inainte de a crea imaginea trebuie sa actualizam hash-urile md5 ale fisierelor ce vor fi incluse in fisierul 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

Fisierul iso final este creat 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 la adresa /mnt/hda1/knx/knoppix.iso. Acesta este fisierul final pe care il puteti inscriptiona folosind programul favorit.

Probleme frecvente

In continuare voi prezenta solutiile la cele mai frecvente probleme intalnite la reeditarea Knoppix.

get_pty: not enough ptys

Apare cand incerci sa rulezi un terminal (xterm, gnome-terminal, etc..) dintr-un window manager pornit folosind mediul chroot-at.

Solutia este:

  1. din afara mediului chrootat ruleaza comenzile:

cd /mnt/hda1/knx/source/KNOPPIX/dev MAKEDEV pty

  1. intra in mediul chrootat

chroot /mnt/hda1/knx/source/KNOPPIX/

  1. mounteaza /dev/pts

mount -t devpts /dev/pts/ /dev/pts

Scripturi utile

Am creat un script care cuprinde comenzile de mai sus. Modificati variabilele de la inceput conform configuratiei voastre. remaster.sh #!/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

Legaturi utile

Acest tutorial este o traducere si in acelasi timp un rezumat al tutorialului: http://www.knoppix.net/wiki/Knoppix_Remastering_Howto