Qemu Nokia N900

From postmarketOS
Jump to: navigation, search
QEMU N900
[[|200px|alt=]]
Manufacturer QEMU
Name N900
Codename qemu-rx51
Hardware
Architecture armhf
Non-Android based device
Features
USB Networking
Flashing
Touchscreen
Display
WiFi
Xwayland
FDE
Mainline
Battery
3D Acceleration
Accelerometer
Audio
Bluetooth
Camera
GPS
Mobile data
SMS
Calls


With 4.6 kernel, Pali's patch to mmc and right config with command line inside, qemu works for N900 emulation, including running Weston.

I'm using this config option to configure kernel:

CONFIG_CMDLINE="console=ttyO2,115200 console=tty root=/dev/mmcblk1p2 rootdelay=5 no-omap-wd no-ext-wd console=tty0 nokia-modem.pm=1 1 single"

And this script to prepare image / run it:

#!/usr/bin/python

import os
import time

def cmd(f):
    os.system(f)

class Run:
    def __init__(m):
        m.qemudir = "/data/l/maemo/qemu/"
        m.pmb_tmp = "/data/tmp/pmbootstrap"
        m.boot = m.pmb_tmp+"/chroot_rootfs_nokia-rx51/boot/"
        
    def run(m):
        # kernel = m.boot+"vmlinuz-postmarketos-dtb"
        kernel = "/data/l/linux-n900/arch/arm/boot/zImage-dtb"
        cmd("%s/qflasher -m rx51 -x %s/xloader-qemu.bin -s %s/secondary-qemu.bin -k %s -o n900.img -p k=16072" %
            (m.qemudir, m.qemudir, m.qemudir, kernel))

        #time.sleep(10)
        os.system("%s/qemu-system-arm -s -M n900 -mtdblock n900.img -sd /data/tmp/pmos.img -serial stdio -clock unix -redir tcp:5555:10.0.2.15:22" %
                  m.qemudir)

r = Run()
r.run()

Special qemu version with n900 support is likely needed.