Few days ago Nokia N800 tablet emulation was released into public. Richard integrated it into Poky so now we have QEMU which can be used not only to test ARM images on ARM Versatile or Sharp Zaurus but also to run on Nokia N800 tablet. Of course it is not limited to Poky images — Maemo boots very nicely on it :)
Poky
Booting Poky is easy: runqemu nokia800
after building of “poky-image-sato” for “nokia800” machine. After few minutes (needed to create NAND Flash image and boot into JFFS2 rootfs) Poky desktop appears:
Maemo
Booting Maemo takes few steps more now (will be improved).
- Edit “scripts/poky-qemu-internal” script and in line 154 change KERNELCMDLINE to boot from “/dev/mtdblock3” instead of “/dev/mtdblock4” as Poky do not use Maemo’s “initfs”.
- Get copy of “config” flash partition from N8x0 — simple “cat /dev/mtd1ro > config.mtd” is enough. Bad news: it does not work :( And the one which works for me is not distributable as it does not came from device but was pre-generated somehow.
- Transfer it to the desktop.
- Grab OS2008 firmware image from Maemo website.
- Unpack firmware image to get kernel and images of “initfs” and “rootfs”.
-
Use
poky-nokia800-flashutil
to generate NAND Flash image:poky-nokia800-flashutil initfs.jffs2 maemo-image.qemuflash initfs poky-nokia800-flashutil config.mtd maemo-image.qemuflash config poky-nokia800-flashutil rootfs.jffs2 maemo-image.qemuflash rootfs
Then “touch maemo-image” and run one command: poky-qemu zImage maemo-image
to boot it.
Status
Basic emulation works. There is no networking yet, DSP code is not emulated and few other limitations. But it is work in progress so expect improvements.
How to get it
Patch alone can be fetched from Poky repository.
Linux binaries of QEMU with N800 support can be built with Poky by bitbake qemu-sdk
command. They will be also part of Poky Linux SDK.
UPDATE: poky-nokia800-flashutil
instructions are fixed (thx to Yasser)
UPDATE: there is second part of that story.