Host-based development with Xoo and Xephyr/it

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m
m (Replacing 'OpenMoko' with 'Openmoko')
Line 1: Line 1:
Vedere anche [[Getting OpenMoko working on host with Xephyr/it|Far funzionare OpenMoko su host con Xephyr]], è probabile che contenga informazioni più aggiornate.
+
Vedere anche [[Getting Openmoko working on host with Xephyr/it|Far funzionare Openmoko su host con Xephyr]], è probabile che contenga informazioni più aggiornate.
  
 
== Cosa è Xoo ==
 
== Cosa è Xoo ==
Line 6: Line 6:
 
Attualmente, viene trattato solo come far funzionare Xoo con '''Xnest'''. Sono comunque pianificate istruzioni per far funzionare Xoo con [http://projects.o-hand.com/xephyr Xephyr].
 
Attualmente, viene trattato solo come far funzionare Xoo con '''Xnest'''. Sono comunque pianificate istruzioni per far funzionare Xoo con [http://projects.o-hand.com/xephyr Xephyr].
  
''Xoo non è necessario per simulare l'hardware OpenMoko - semplicemente migliora la presentazione''
+
''Xoo non è necessario per simulare l'hardware Openmoko - semplicemente migliora la presentazione''
  
 
== Installare Xoo sul proprio host ==
 
== Installare Xoo sul proprio host ==
Line 18: Line 18:
 
Per gli altri, trovare un modo per farlo con la propria distro.
 
Per gli altri, trovare un modo per farlo con la propria distro.
  
==  Creare l'immagine OpenMoko (ottenere rootfs) ==
+
==  Creare l'immagine Openmoko (ottenere rootfs) ==
 
Prima di tutto, bisogna creare una openmoko-devel-image e ottenere la directory rootfs. Un buon metodo è fare in modo che rootfs sia adatta alla macchina host visto che la maggior parte di noi non ha l'hardware giusto.
 
Prima di tutto, bisogna creare una openmoko-devel-image e ottenere la directory rootfs. Un buon metodo è fare in modo che rootfs sia adatta alla macchina host visto che la maggior parte di noi non ha l'hardware giusto.
  
Per creare una openmoko-devel-image per la propria architettura, seguire [[MokoMakefile/it|Creare OpenMoko usando MokoMakefile]].
+
Per creare una openmoko-devel-image per la propria architettura, seguire [[MokoMakefile/it|Creare Openmoko usando MokoMakefile]].
  
 
Prima di eseguire make openmoko-devel-image ed ottenere rootfs (prima del passo 5) eseguire:
 
Prima di eseguire make openmoko-devel-image ed ottenere rootfs (prima del passo 5) eseguire:
Line 61: Line 61:
 
=== Avviare Xoo ===
 
=== Avviare Xoo ===
 
In un terminale diverso (non legato al chroot mokobox), avviare Xoo. Scaricare
 
In un terminale diverso (non legato al chroot mokobox), avviare Xoo. Scaricare
[http://www.datenfreihafen.org/~stefan/OpenMoko/neo1973-xoo-device.tar.bz2] ed eseguire per un tema neo 1973 carino.
+
[http://www.datenfreihafen.org/~stefan/Openmoko/neo1973-xoo-device.tar.bz2] ed eseguire per un tema neo 1973 carino.
 
  # xoo --device neo1973.xml
 
  # xoo --device neo1973.xml
  
Line 70: Line 70:
 
Avviare il window manager.
 
Avviare il window manager.
 
  # x-window-manager
 
  # x-window-manager
Da questo momento dovresti avere Xnest & Xoo che eseguono OpenMoko in una finestra.
+
Da questo momento dovresti avere Xnest & Xoo che eseguono Openmoko in una finestra.
  
  

Revision as of 00:04, 23 August 2008

Vedere anche Far funzionare Openmoko su host con Xephyr, è probabile che contenga informazioni più aggiornate.

Contents

Cosa è Xoo

Xoo è un wrapper per Server X annidati, basato su GTK2. Tipicamente, il Server X è Xnest, il Server X annidato, o Xephyr. Si rivolge a sviluppatori di sistemi embedded che hanno bisogno di simulare device particolari (con dimensioni del display accurate, tasti hardware, etc) su macchine desktop.

Attualmente, viene trattato solo come far funzionare Xoo con Xnest. Sono comunque pianificate istruzioni per far funzionare Xoo con Xephyr.

Xoo non è necessario per simulare l'hardware Openmoko - semplicemente migliora la presentazione

Installare Xoo sul proprio host

Per gli utenti gentoo, eseguire

# emerge xoo

Debian/Ubuntu

# sudo apt-get install xoo xnest

Per Fedora (il pacchetto è stato inviato a Fedora per l'approvazione, vedere https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=236297):

# ftp://ftp.xelerance.com/xoo/

Per gli altri, trovare un modo per farlo con la propria distro.

Creare l'immagine Openmoko (ottenere rootfs)

Prima di tutto, bisogna creare una openmoko-devel-image e ottenere la directory rootfs. Un buon metodo è fare in modo che rootfs sia adatta alla macchina host visto che la maggior parte di noi non ha l'hardware giusto.

Per creare una openmoko-devel-image per la propria architettura, seguire Creare Openmoko usando MokoMakefile.

Prima di eseguire make openmoko-devel-image ed ottenere rootfs (prima del passo 5) eseguire:

# sed -i 's/fic-gta01/x86/' build/conf/local.conf

ed eseguire make openmoko-devel-image. Dopo parecchio tempo (parecchio tempo) dovrebbe terminare con successo.

Potrebbe essere necessario aggiungere

TARGET_FPU = ""

al file build/conf/local.conf per evitare l'errore:

NOTE: <type 'exceptions.Exception'>:variable TARGET_FPU references itself! while evaluating:${TARGET_FPU}

Problemi di compilazione

Vedere questo bug tracker se si verificano problemi durante la compilazione di libelf (do_stage fallisce).

Configurazione Filesystem dell'immagine

Il filesystem dell'immagine che vogliamo eseguire in ambiente chroot può essere trovato in build/tmp/rootfs .

Questa immagine può anche essere compressa come file openmoko-devel-image-x86-$(DATE).rootfs.tar.gz in build/tmp/image/ - la mia è qui [1].

Cooperare con X

  • Assicurarsi che iptables non blocchi le connessioni alla porta 6000(x11) di localhost
  • Assicurarsi che X sia in ascolto sulla porta 6000(x11) di localhost (netstat è tuo amico)
  • Abilitare le connessioni da localhost
# xhost localhost

Preparare rootfs

Scompattare il file rootfs e copiare il contenuto in una directory chiamata /home/moko/mokobox. Questa sarà il nostro ambiente chroot.

Assicurarsi che /dev della macchina host sia visibile dall'ambiente chroot

# sudo mount --bind /dev/ /home/moko/mokobox/dev

Avviare l'ambiente protetto mokobox

# sudo chroot /home/moko/mokobox /bin/sh

Avviare il server X annidato

Avviare Xoo

In un terminale diverso (non legato al chroot mokobox), avviare Xoo. Scaricare [2] ed eseguire per un tema neo 1973 carino.

# xoo --device neo1973.xml

Avviare il client X

Tornare nell'ambiente chroot, avviare il client X:

Esportare la variabile display

# export DISPLAY=localhost:1.0

Avviare il window manager.

# x-window-manager

Da questo momento dovresti avere Xnest & Xoo che eseguono Openmoko in una finestra.


Personal tools

Vedere anche Far funzionare OpenMoko su host con Xephyr, è probabile che contenga informazioni più aggiornate.

Cosa è Xoo

Xoo è un wrapper per Server X annidati, basato su GTK2. Tipicamente, il Server X è Xnest, il Server X annidato, o Xephyr. Si rivolge a sviluppatori di sistemi embedded che hanno bisogno di simulare device particolari (con dimensioni del display accurate, tasti hardware, etc) su macchine desktop.

Attualmente, viene trattato solo come far funzionare Xoo con Xnest. Sono comunque pianificate istruzioni per far funzionare Xoo con Xephyr.

Xoo non è necessario per simulare l'hardware OpenMoko - semplicemente migliora la presentazione

Installare Xoo sul proprio host

Per gli utenti gentoo, eseguire

# emerge xoo

Debian/Ubuntu

# sudo apt-get install xoo xnest

Per Fedora (il pacchetto è stato inviato a Fedora per l'approvazione, vedere https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=236297):

# ftp://ftp.xelerance.com/xoo/

Per gli altri, trovare un modo per farlo con la propria distro.

Creare l'immagine OpenMoko (ottenere rootfs)

Prima di tutto, bisogna creare una openmoko-devel-image e ottenere la directory rootfs. Un buon metodo è fare in modo che rootfs sia adatta alla macchina host visto che la maggior parte di noi non ha l'hardware giusto.

Per creare una openmoko-devel-image per la propria architettura, seguire Creare OpenMoko usando MokoMakefile.

Prima di eseguire make openmoko-devel-image ed ottenere rootfs (prima del passo 5) eseguire:

# sed -i 's/fic-gta01/x86/' build/conf/local.conf

ed eseguire make openmoko-devel-image. Dopo parecchio tempo (parecchio tempo) dovrebbe terminare con successo.

Potrebbe essere necessario aggiungere

TARGET_FPU = ""

al file build/conf/local.conf per evitare l'errore:

NOTE: <type 'exceptions.Exception'>:variable TARGET_FPU references itself! while evaluating:${TARGET_FPU}

Problemi di compilazione

Vedere questo bug tracker se si verificano problemi durante la compilazione di libelf (do_stage fallisce).

Configurazione Filesystem dell'immagine

Il filesystem dell'immagine che vogliamo eseguire in ambiente chroot può essere trovato in build/tmp/rootfs .

Questa immagine può anche essere compressa come file openmoko-devel-image-x86-$(DATE).rootfs.tar.gz in build/tmp/image/ - la mia è qui [1].

Cooperare con X

  • Assicurarsi che iptables non blocchi le connessioni alla porta 6000(x11) di localhost
  • Assicurarsi che X sia in ascolto sulla porta 6000(x11) di localhost (netstat è tuo amico)
  • Abilitare le connessioni da localhost
# xhost localhost

Preparare rootfs

Scompattare il file rootfs e copiare il contenuto in una directory chiamata /home/moko/mokobox. Questa sarà il nostro ambiente chroot.

Assicurarsi che /dev della macchina host sia visibile dall'ambiente chroot

# sudo mount --bind /dev/ /home/moko/mokobox/dev

Avviare l'ambiente protetto mokobox

# sudo chroot /home/moko/mokobox /bin/sh

Avviare il server X annidato

Avviare Xoo

In un terminale diverso (non legato al chroot mokobox), avviare Xoo. Scaricare [2] ed eseguire per un tema neo 1973 carino.

# xoo --device neo1973.xml

Avviare il client X

Tornare nell'ambiente chroot, avviare il client X:

Esportare la variabile display

# export DISPLAY=localhost:1.0

Avviare il window manager.

# x-window-manager

Da questo momento dovresti avere Xnest & Xoo che eseguono OpenMoko in una finestra.