WEB KIOSK - korijenita prilagodba

Na portalu za sistemce na lokaciji http://sistemac.carnet.hr/node/368 je uputa kako prilagoditi Webconverger za vlastite potrebe, tako da raspakirate iso image CD-a i promijenite neke boot parametre grub "bootloaderu" (konkretno: inicijalnu web stranicu - obično je to web stranica vlastite ustanove - i hrvatsku tipkovnicu).
Da bi napravili korijenitije izmjene u Webconverger iso-image datoteci, iz koje se kreira kiosk CD, treba ići korak dalje i raspakirati još i komprimirani squashfs filesystem u kojem su sadržani svi ugrađeni paketi na kojima počiva web-kiosk. Taj postupak za tzv. live CD distribucije uobičajeno se zove remastering.

0) PREDRADNJE

EDITIRANO 2015-01-12

Webconverger je dostupan na linku: http://dl.webconverger.com/latest.iso

Prvo treba presnimiti mini verziju Webconvergera s lokacije:

http://download.webconverger.com/mini/webc-4.3.mini.iso.

Ako trebate i podršku za pisač, onda presnimite maksi verziju:

http://download.webconverger.com/maxi/webc-4.3.maxi.iso

(aktualna inačica je 4.3, i sve slijedeće opisane radnje iztestirali smo na njoj)

Na linux particiji (strogo se preporuča da radite na neprodukcijskom sistemu!) napraviti slijedeće direktorije:

mkdir -p ~/remaster/master ~/remaster/source ~/remaster/tmp
mkdir -p ~/remaster/tmp1 ~/remaster/source1

(~ tildu stavite ispred ako želite da budu u vašem matičnom direktoriju)

Premjestite iso-datoteku webc-4.3.mini.iso u direktorij ~/remaster

mv webc-4.3.mini.iso ~/remaster

(Primjedba: neke trivijalne naredbe u tekstu su namjerno pisane kako su pisane, da bi vam se pomoglo da izbjegnete tipfelere i koristite udobno copy/paste metodu)

Od sada radite iz direktorija remaster:

cd ~/remaster

Postanite root!

Da bi ste mogli napraviti remastering, trebate imati ugrađen paket squashfs-tools i odgovarajući kernel modul za squashfs.

Izvršite naredbu:

uname -r

da vidite koju verziju kernela imate, a potom će vam naredba:

apt-cache search squashfs-modules

izlistati sve postojeće squashfs-module, pa izaberite prema svojoj verziji kernela, npr. squashfs-modules-2.6.26-1-686.  Možda sve već imate ugrađeno. Ako nemate, dogradite najkasnije kad vam se pojavi greška da vam nedostaje odgovarajući paket ili modul.  U Debianu to ide lako s:

apt-get install <ime_paketa>

1) RASPAKIRAVANJE ISO DATOTEKE

Na direktorij tmp montirajte webc-4.3.mini.iso

mount -o loop webc-4.3.mini.iso tmp

Kopirajte tmp direktorij u source i omogućite pisanje:

cp -R tmp/* source/
chmod -R u+w source/*

provjerite

ls source

pa ako nije prazno odmontirajte tmp

umount tmp

Ako želite napraviti samo prilagodbu, sva potrebna raspakiravanja završavaju ovim korakom, kao što je opisano na http://sistemac.carnet.hr/node/368
No, za remastering su potrebna daljnja raspakiravanja kako se vidi iz daljnjeg teksta.

Na direktorij tmp1 montirajte filesystem.squashfs:

mount -t squashfs -o loop source/live/filesystem.squashfs tmp1

Kopirajte tmp1 direktorij u source1 i omogućite pisanje:

cp -R tmp1/* source1/
chmod -R u+w source1/*

provjerite:

ls source1

Izlistavanjem source1 vidjet ćete da u njemu imate kompletno raspakiran datotečni sustav Webconvergera. Ako je tako, onda odmontirajte tmp1:

umount tmp1

2) INSTALACIJA/DEINSTALACIJA PROGRAMA

Ako napravite 'chroot' da postanete root u source1 datotečnom sustavu, onda možete instalirati i deinstalirati  programe po želji.

chroot source1
mount -t proc /proc proc

Trebala bi Vam raditi i mreža, probajte s npr:

ping sistemac.carnet.hr

(Ako ne radi napustite chroot okoliš i kopirajte resolv.conf:

umount /proc
exit
cp /etc/resolv.conf source1/etc/

pa ponovo pokušajte)

S apt alatima sada možete doinstalirati potrebne pakete, odnosno brisati nepotrebne.
Primjer: možete ukloniti dhcp servis i u datoteci /etc/network/interfaces postaviti statičku IP adresu, ako vam se to čini kao sigurnije, nego da je kiosk u privatnoj mreži.

3) PAKIRANJE U ISO DATOTEKU

(Ovdje jedan savjet: slijedeće korake, osim snimanja CD-a, možete obaviti i prije nego ste napravili ikakve nadogradnje -  jedanput poradi testiranja - da vidite da li će proći sve kompresije na vašem sustavu, pa ako dobijete funkcionalan iso image, onda obavite nadogradnju/izmjene kao u koraku 2).

Kada ste nadogradili/brisali što ste htjeli (ako ste dodavali datoteku /etc/resolv.conf u koraku 2, možete je sada obrisati) izađite iz chroot okoliša:

umount /proc
exit

I dalje ste u direktoriju remaster. Zapakirajte nazad source1:

mksquashfs source1 source/live/filesystem.squashfs 

Ova naredba će ažurirati staru source/live/filesystem.squashfs datoteku uz upozorenja da neke datoteke već postoje, no ako vas ta upozorenja zbunjuju i hoćete ići na sigurno možete staru datoteku source/live/filesystem.squashfs prije gornje naredbe obrisati.

4) KREIRANJE NOVOG ISO IMAGEA

Ako želite napraviti još i prilagodbu, tj. zamijeniti Webconvergerovu inicijalnu webstranicu u stranicu vlastite ustanove i postaviti hrv. tipkovnicu, onda to učinite prije slijedećeg koraka prema uputi na http://sistemac.carnet.hr/node/368

Napravite webconverger.iso datoteku koja je vjerna kopija budućeg CD-a za web kiosk:

mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o webconverger.iso  source 

(gornja naredba treba ići sva u jedan red (ili s '\' rasporediti u više njih), a ako se ne izvrši ili javi grešku, možda ni nemate instaliran paket mkisofs, pa ga doinstalirajte)

5) TESTIRANJE

Dobivenu webconverger.iso kiosk datoteku možete snimiti s programom k3b na CD (odaberete snimanje iso-imagea) i imate funkcionalan kiosk CD. Prije toga s nekim emulatorom (ovdje je primjer za qemu), možete testirati novokreiranu .iso datoteku.

qemu -cdrom webconverger.iso 

Ovako nećete nepotrebno uništiti CD, ako stvar ne radi. Naravno, ako nemate već instaliran, instalirajte Debian ili rpm paket qemu.

 

Zahvala: Autor se zahvaljuje kolegi Velimiru Skrozi s Ekonomskog fakulteta u Splitu, na čije prijedloge su načinjene ispravke i dopune u tekstu

Kuharice: 
Kategorije: 
Vote: 
0
No votes yet