KDE im chroot/nl

=Algemeen= Deze toelichting beschrijft een relatief zekere methode om KDE op de Wetab te starten. KDE loopt in een chroot omgeving, waardoor het "normale" WeTab systeem niet wordt beïnvloed. Voorzeker werkt in KDE nog niet alles perfect, bij het starten komen al twee meldungen van de crashmanager. Echter, dit -Howto- moet aanknopingspunten geven om duidelijk te maken wat mogelijk is. Als het zo uit komt kun je het in eigen projecten toepassen en misschien zelfs verbeteren... ;-)

'''Pas op: De KDE wordt in de chroot als root uitgevoerd. Dit levert natuurlijk een risico op omdat via de proc en dev directory de WeTab software omgeving diepgaand kan worden beïnvloed.'''

Wat is chroot
Hier een kleine samenvatting: "chroot staat voor „change root“ en is een functie op Unix-systemen, om van root directory te veranderen. Het heeft alleen invloed op het actuele proces en daaraan verbonden kind-processen."

=Voorbereiding=

Nodig is een werkend (K)Ubuntu 32 Bit systeem. Dit moet worden gestart, daarna als gebruiker met gewone rechten een root shell openen.

debootstrap installeren
sudo aptitude install debootstrap

Image van de file structuur samenstellen, formateren en mounten
Vervolgens een 5GB grote Image file aanmaken (De grootte kan naar behoefte worden aangepast) dd if=/dev/zero of=~/ubuntu.img bs=1M count=5000 De Image file verbinden met een Loop-Device sudo losetup /dev/loop0 ~/ubuntu.img ext3 file systeem in het Image inrichten sudo mkfs.ext3 /dev/loop0 Een tijdelijke folder voor het mounten inrichten mkdir /tmp/chroot het root-file systeem mounten sudo mount /dev/loop0 /tmp/chroot

Ubuntu basissysteem via een debootstrap installeren
sudo debootstrap lucid /tmp/chroot/ Nu is er wat tijd beschikbaar voor het drinken van een kop koffie... ;-)

Afsluitende configuratie
De Locales datafile kopiëren sudo cp /var/lib/locales/supported.d/local /tmp/chroot/var/lib/locales/supported.d ga naar chroot en richt de plaats voor de Locales datafile in sudo chroot /tmp/chroot/ dpkg-reconfigure locales verlaat chroot exit Verbreek de verbinding met de filesystemen en de wis de loop-verbinding sudo umount /tmp/chroot sudo losetup -d /dev/loop0

=Kopiëren en starten van de Ubuntu Images= Die file ~/ubuntu.img op een of andere manier op de WeTab overbrengen (bijv. USB Stick, scp enz.) Als gevolg van z'n afmeting zul je het niet zondermeer op een FAT geformateerde USB Stick kunnen kopiëren. Ik heb het simpelweg via scp gekopieerd: scp ~/ubuntu.img BenutzerAufDemWeTab@IpVomWeTab:/home/BenutzerAufDemWeTab Vanaf nu ga ik er van uit dat de file in je Home directory staat. Eventueel moeten padverwijzingen worden aangepast! Al het nu volgende wordt in de root-shell van de WeTab ingetypt (SSH of zoals hier beschreven: Konsole unter STRG+ALT+F6)

Filesystemen aankoppelen
Als eerste een folder inrichten om de Images te kunnen mounten: mkdir ~/ubuntu Vervolgens het root-filesysteem en /proc en /dev mounten sudo mount -o loop ubuntu.img ~/ubuntu sudo mount -t proc /proc ~/ubuntu/proc sudo mount -o bind /dev ~/ubuntu/dev fstab en host file kopiëren sudo cp /etc/hosts ~/ubuntu/etc/ sudo cp /etc/fstab ~/ubuntu/etc/

ga naar chroot
sudo chroot ~/ubuntu

KDE installeren
Door het hierna volgende commando wordt de gehele Kubuntu Desktop Distribution geïnstalleerd (incl. OpenOffice, Kontact, Konversation, amaroK, K3B, en nog veel meer.) Wie dat alles niet wil kan ook aleen de kde-core installeren en de volgende applicaties dan handmatig installeren. aptitude install kubuntu-desktop Nu is er weer tijd om koffie te drinken... ;-)

WeTab GUI beëindigen en KDE starten
verlaat chroot exit Ga naar de multi-user mode zonder X sudo init 3 X Server starten (Pas op, een grote X intypen, dan spatie, dan ampersand &) X & ga weer naar chroot sudo chroot ~/ubuntu KDE starten export DISPLAY=:0 startkde

'''Pas op: De KDE wordt in de chroot als root uitgevoerd. Dit levert natuurlijk een risico op omdat via de proc en dev directory de WeTab software omgeving diepgaand kan worden beïnvloed.'''

= Weblinks =
 * Marco Martin KDE-Mobile Blog entry