moko@didier ~ $ make flash-qemu-local ( cd build/qemu && openmoko/flash.sh ../tmp/deploy/glibc/images/neo1973 ) /usr/bin/gmake which: no gecho in (/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i486-pc-linux-gnu/armv4tl-softfloat-linux-gnueabi/gcc-bin/4.2.4:/usr/i486-pc-linux-gnu/gcc-bin/4.1.2:/usr/games/bin) /usr/bin/pngtopnm /usr/bin/ppmtorgb3 gmake[1]: entrant dans le répertoire « /home/moko/build/qemu/openmoko » wget http://svn.openmoko.org/trunk/src/host/splash/splashimg.pl --2008-09-17 15:34:36-- http://svn.openmoko.org/trunk/src/host/splash/splashimg.pl Résolution de svn.openmoko.org... 88.198.160.205 Connexion vers svn.openmoko.org|88.198.160.205|:80...connecté. requête HTTP transmise, en attente de la réponse...200 OK Longueur: 2301 (2,2K) [text/plain] Saving to: `splashimg.pl' 100%[=================================================================================================================================>] 2.301 --.-K/s in 0,004s 2008-09-17 15:34:37 (631 KB/s) - « splashimg.pl » sauvegardé [2301/2301] chmod 0755 splashimg.pl wget http://wiki.openmoko.org/images/c/c2/System_boot.png --2008-09-17 15:34:37-- http://wiki.openmoko.org/images/c/c2/System_boot.png Résolution de wiki.openmoko.org... 88.198.93.221 Connexion vers wiki.openmoko.org|88.198.93.221|:80...connecté. requête HTTP transmise, en attente de la réponse...200 OK Longueur: 46258 (45K) [image/png] Saving to: `System_boot.png' 100%[=================================================================================================================================>] 46.258 215K/s in 0,2s 2008-09-17 15:34:37 (215 KB/s) - « System_boot.png » sauvegardé [46258/46258] [ -x splashimg.pl ] [ -s System_boot.png ] ./splashimg.pl System_boot.png > splash 480 x 640 (255) gzip -c < splash > splash.gz gmake[1]: quittant le répertoire « /home/moko/build/qemu/openmoko » Using 'uImage-2.6.24+git0+a1e97c611253511ffc2d8c45e3e6d6894fa03fa3-r1.01-om-gta01.bin' as the kernel image. Using 'Openmoko-openmoko-asu-image-glibc-opk-P1-Snapshot-20080917-om-gta01.rootfs.jffs2' as the root filesystem image. Using 'u-boot-gta01bv4-1.3.2rc2+0+650149a53dbdd48bf6dfef90930c8ab182adb512-r1.bin' as bootloader. gmake[1]: entrant dans le répertoire « /home/moko/build/qemu/openmoko » # Making an empty/erased flash image. Need a correct echo behavior. echo -en \\0377\\0377\\0377\\0377\\0377\\0377\\0377\\0377 > .8b cat .8b .8b > .16b # OOB is 16 bytes cat .16b .16b .16b .16b .16b .16b .16b .16b > .512b cat .16b .16b .16b .16b .16b .16b .16b .16b >> .512b cat .16b .16b .16b .16b .16b .16b .16b .16b >> .512b cat .16b .16b .16b .16b .16b .16b .16b .16b >> .512b cat .512b .16b > .sec # A sector is 512 bytes of data + OOB cat .sec .sec .sec .sec .sec .sec .sec .sec > .8sec cat .8sec .8sec .8sec .8sec .8sec .8sec .8sec .8sec > .64sec cat .64sec .64sec .64sec .64sec .64sec .64sec .64sec .64sec > .512sec cat .512sec .512sec .512sec .512sec > .2ksec cat .2ksec .2ksec .2ksec .2ksec .2ksec .2ksec .2ksec .2ksec > .16ksec # Neo NAND is 128k sectors big cat .16ksec .16ksec .16ksec .16ksec .16ksec .16ksec .16ksec .16ksec > openmoko-flash.base rm -rf .8b .16b .512b .sec .8sec .64sec .512sec .2ksec .16ksec gmake[1]: quittant le répertoire « /home/moko/build/qemu/openmoko » Please wait, programming the NAND flash... neo_gsm_switch: GSM disabled. U-Boot 1.3.2-moko12 (Sep 17 2008 - 14:19:44) I2C: ready DRAM: 128 MB NAND: Bad block table not found for chip 0 Bad block table not found for chip 0 128 MiB Video: 640x480x8 31kHz 59Hz USB: S3C2410 USB Deviced mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' pcf_write: charging in Qualification Mode. pcf_write: charge voltage 4.20V. neo_lcd_rst_switch: LCD reset. jbt6k74_command: Display on. neo_vib_switch: Buzz, buzz. neo_vib_switch: Vibrator stopped. neo_bl_switch: LCD Backlight now on. GTA01Bv4 # GTA01Bv4 # GTA01Bv4 # setenv dontask y GTA01Bv4 # nand createbbt Create BBT and erase everything ? Skipping bad block at 0x07f80000 Skipping bad block at 0x07fa0000 Skipping bad block at 0x07fc0000 Skipping bad block at 0x07fe0000 Creating BBT. Please wait ...Bad block table not found for chip 0 Bad block table not found for chip 0 Bad block table written to 0x07fe0000, version 0x01 Bad block table written to 0x07fc0000, version 0x01 GTA01Bv4 # setenv bootcmd 'setenv bootargs ${bootargs_base} ${mtdparts}; bootm 0x30100000' GTA01Bv4 # setenv menu_1 'Set console to USB: setenv stdin usbtty; setenv stdout usbtty; setenv stderr usbtty' GTA01Bv4 # setenv menu_2 'Set console to serial: setenv stdin serial; setenv stdout serial; setenv stderr serial' GTA01Bv4 # setenv menu_3 'Power off: neo1973 power-off' GTA01Bv4 # setenv splashimage 'nand read.e 0x36000000 splash 0x5000; unzip 0x36000000 0x33d00000 0x96000' GTA01Bv4 # setenv mtdids nand0=neo1973-nand GTA01Bv4 # #setenv mtdparts mtdparts=neo1973-nand:0x00050000(u-boot),0x00004000(u-boot_env),0x00208000(kernel),0x00010000(splash),0x039a4000(rootfs) Unknown command '#setenv' - try 'help' GTA01Bv4 # dynpart mtdparts mtdparts=neo1973-nand:0x00040000(u-boot),0x00004000(u-boot_env),0x00200000(kernel),0x000a0000(splash),0x03d1c000(rootfs) nand0: partition (u-boot_env) size alignment incorrect nand0: partition (u-boot_env) size alignment incorrect nand0: partition (u-boot_env) size alignment incorrect nand0: partition (u-boot_env) size alignment incorrect nand0: partition (u-boot_env) size alignment incorrect GTA01Bv4 # nand write.e 0x30100000 u-boot 0x35840 NAND write: nand0: partition (u-boot_env) size alignment incorrect 'u-boot' is not a number GTA01Bv4 # dynenv set u-boot_env nand0: partition (u-boot_env) size alignment incorrect 'u-boot_env' is not a number Offset or partition name expected GTA01Bv4 # saveenv Saving Environment to NAND... Erasing Nand...GTA01Bv4 # neo1973 power-off poweroff pcf_write: Power-off requested. Please wait, programming the NAND flash... neo_gsm_switch: GSM disabled. U-Boot 1.3.2-moko12 (Sep 17 2008 - 14:19:44) I2C: ready DRAM: 128 MB NAND: Bad block table not found for chip 0 Bad block table not found for chip 0 128 MiB *** Warning - bad CRC or NAND, using default environment Video: 640x480x8 31kHz 59Hz USB: S3C2410 USB Deviced mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' pcf_write: charging in Qualification Mode. pcf_write: charge voltage 4.20V. neo_lcd_rst_switch: LCD reset. jbt6k74_command: Display on. neo_vib_switch: Buzz, buzz. neo_vib_switch: Vibrator stopped. neo_bl_switch: LCD Backlight now on. poweroff pcf_write: Power-off requested. openmoko/flash.sh: line 91: 21320 Complété ( sleep $2; kill $pid; sleep 1; kill -KILL $pid ) Please wait, programming the NAND flash... neo_gsm_switch: GSM disabled. U-Boot 1.3.2-moko12 (Sep 17 2008 - 14:19:44) I2C: ready DRAM: 128 MB NAND: Bad block table not found for chip 0 Bad block table not found for chip 0 128 MiB *** Warning - bad CRC or NAND, using default environment Video: 640x480x8 31kHz 59Hz USB: S3C2410 USB Deviced mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' pcf_write: charging in Qualification Mode. pcf_write: charge voltage 4.20V. neo_lcd_rst_switch: LCD reset. jbt6k74_command: Display on. neo_vib_switch: Buzz, buzz. neo_vib_switch: Vibrator stopped. neo_bl_switch: LCD Backlight now on. poweroff pcf_write: Power-off requested. openmoko/flash.sh: line 91: 21323 Complété ( sleep $2; kill $pid; sleep 1; kill -KILL $pid ) Please wait, programming the NAND flash... neo_gsm_switch: GSM disabled. U-Boot 1.3.2-moko12 (Sep 17 2008 - 14:19:44) I2C: ready DRAM: 128 MB NAND: Bad block table not found for chip 0 Bad block table not found for chip 0 128 MiB *** Warning - bad CRC or NAND, using default environment Video: 640x480x8 31kHz 59Hz USB: S3C2410 USB Deviced mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' mtdparts variable not set, see 'help mtdparts' pcf_write: charging in Qualification Mode. pcf_write: charge voltage 4.20V. neo_lcd_rst_switch: LCD reset. jbt6k74_command: Display on. neo_vib_switch: Buzz, buzz. neo_vib_switch: Vibrator stopped. neo_bl_switch: LCD Backlight now on. poweroff pcf_write: Power-off requested. openmoko/flash.sh: line 91: 21331 Complété ( sleep $2; kill $pid; sleep 1; kill -KILL $pid ) openmoko/flash.sh: line 131: 21334 Complété ( sleep $2; kill $pid; sleep 1; kill -KILL $pid ) (wd: ~/build/qemu) gmake[1]: entrant dans le répertoire « /home/moko/build/qemu/openmoko » ../qemu-img create -b openmoko-flash.base -f qcow2 openmoko-flash.image Formatting 'openmoko-flash.image', fmt=qcow2, backing_file=openmoko-flash.base, size=130946 kB gmake[1]: quittant le répertoire « /home/moko/build/qemu/openmoko » All done. Read the qemu manual and use a commandline like the following to boot: $ arm-softmmu/qemu-system-arm -M gta02fake -m 130 -mtdblock openmoko/openmoko-flash.image -kernel openmoko/openmoko-kernel.bin -usb -show-cursor Append '-snapshot' to make the flash image read-only so that every time emulation starts in the original unmodified state. Use [Enter] for AUX button, [Space] for POWER. Append '-usbdevice keyboard' to attach a standard keyboard. If you've configured qemu with --enable-phonesim (requieres Qt4 and a C++ toolchain), use the following commandline to run phonesim: $ (cd phonesim; LD_LIBRARY_PATH=lib ./phonesim -gui ../openmoko/neo1973.xml)& The GUI is optional. When phonesim is running, append '-serial tcp:localhost:12345' to qemu invocation. Security note a la GLSA: phonesim listens on 0.0.0.0. openmoko/flash.sh: line 156: kill: (-21245) - Aucun processus de ce type