Getting Openmoko working on host with Xephyr/it
From Openmoko
(→Configurare il filesystem dell'immagine) |
(→Configurare il filesystem dell'immagine) |
||
Line 24: | Line 24: | ||
== Configurare il filesystem dell'immagine == | == Configurare il filesystem dell'immagine == | ||
− | + | Vedere anche lo script d'esempio alla fine di questo articolo. Sarà molto utile. | |
− | + | Il filesystem dell'immagine che vogliamo eseguire nell'ambiente chroot, si trova in /home/moko/build/tmp/rootfs . | |
− | + | Bisogna copiare la directory rootfs da qualche parte per poterla poi ricostruire (usando MokoMakefile per esempio) senza sovrascriverla. | |
− | + | Assicurarsi di avere i privilegi di root: | |
su - | su - | ||
− | + | Copia rootfs in una directory chiamata MokoBox. Di seguito chiameremo l'ambiente chroot MokoBox. | |
cp -r /home/moko/build/tmp/rootfs /home/moko/mokobox | cp -r /home/moko/build/tmp/rootfs /home/moko/mokobox | ||
− | + | Assicurarsi che /dev e /proc della macchina host siano visibili dall'interno di MokoBox. | |
mount --bind /dev /home/moko/mokobox/dev | mount --bind /dev /home/moko/mokobox/dev | ||
mount -t proc none /home/moko/mokobox/proc | mount -t proc none /home/moko/mokobox/proc | ||
− | + | Avviare l'ambiente protetto MokoBox. | |
chroot /home/moko/mokobox /bin/sh | chroot /home/moko/mokobox /bin/sh |
Revision as of 16:24, 11 July 2007
Lo scopo di questa pagina è quello di mostrare come eseguire un'immagine OpenMoko su una macchina x86 in un ambiente chroot.
Contents |
Cosa è Xephyr
Xephyr è un moderno Server X eseguito in una finestra che può essere utilizzato per simulare un piccolo display in un ambiente di sviluppo su desktop. Xephyr è mantenuto sulla pagina del progetto OpenedHand. Da notare che nonostante OpenMoko verrà renderizzato pixel per pixel, probabilmente verrà visualizzato 4 volte più grande di quanto non sia nella realtà. Questo perché i dispositivi portatili tendono ad avere pixel più piccoli rispetto ai monitor dei computer.
Creare un'immagine OpenMoko
Prima di tutto, bisogna creare una openmoko-devel-image. Il file local.conf andrà modificato durante il processo (prima del passo 5).
Per creare una openmoko-devel-image per l'architettura adatta (x86 nel nostro caso) vedere Creare OpenMoko usando MokoMakefile. Assicurarsi di avere il makefile moko in /home/moko/Makefile .
Prima di questo, modificare il file build/conf/local.conf in questo modo:
MACHINE = "x86" DISTRO = "openmoko" BUILD_ARCH = "i686" INHERIT += " devshell" SRCDATE_eds-dbus = "now"
Una volta creata l'immagine, possiamo passare alla sua configurazione.
(User:Flerchjj) Ho dovuto aggiungere anche la seguente riga al file "build/conf/local.conf" per poter completare "make openmoko-devel-image".
TARGET_FPU = ""
Configurare il filesystem dell'immagine
Vedere anche lo script d'esempio alla fine di questo articolo. Sarà molto utile.
Il filesystem dell'immagine che vogliamo eseguire nell'ambiente chroot, si trova in /home/moko/build/tmp/rootfs .
Bisogna copiare la directory rootfs da qualche parte per poterla poi ricostruire (usando MokoMakefile per esempio) senza sovrascriverla.
Assicurarsi di avere i privilegi di root:
su -
Copia rootfs in una directory chiamata MokoBox. Di seguito chiameremo l'ambiente chroot MokoBox.
cp -r /home/moko/build/tmp/rootfs /home/moko/mokobox
Assicurarsi che /dev e /proc della macchina host siano visibili dall'interno di MokoBox.
mount --bind /dev /home/moko/mokobox/dev mount -t proc none /home/moko/mokobox/proc
Avviare l'ambiente protetto MokoBox.
chroot /home/moko/mokobox /bin/sh
In chroot'ed environment
set environment variables
DISPLAY=:1 LANG=C HOME=/home/root export DISPLAY LANG HOME
Create pango.modules file
pango-querymodules > /etc/pango/pango.modules
Create gdk-pixbuf.loaders file
gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders
Remove touch screen calibrator. Since touch screen hardware is not present, the touch screen calibration prevents X start-up on PC.
rm /etc/X11/Xsession.d/30xTs_Calibrate