- Boots to userland with UART output (input may be broken) and framebuffer console.
- See https://github.com/scintill/iDroid-kernel for older implementations.
- Implement USB (See https://github.com/scintill/iDroid-kernel/commit/2b1c269f5363911903b5cf7484d6ece0a7c51712).
- Touchscreen, wifi?
- Refine booting? There are some hacks in openiboot, to load the kernel below 128MB and give it a fixed framebuffer address. It might be nice to move the dts file into openiboot, and patch it at runtime with the dynamic framebuffer address. Eventually move to u-boot? There are some repositories with A4 support.
- Resolve UART flakiness? I'd rather use USB, if the implementation goes easily.
- Install syringe package in chroot
- Enter DFU mode (hold power and home with USB connected to computer)
- Script for automating oibc for booting (I've been running it on host, but there's a package) *
#!/usr/bin/expect spawn oibc send "!/path/to/vmlinuz\r" sleep 0.1 send "\r" expect "Received file" send "kernel \"console=tty0 PMOS_NO_OUTPUT_REDIRECT\"\r" expect "Done: kernel" send "!/path/to/initramfs\r" sleep 0.1 send "\r" expect "Received file" send "initrd\r" expect "Done: initrd" send "wait_boot 15000\r" expect "Done: boot"
console=ttySAC0for UART console instead of framebuffer
keep_bootconmay be useful too.
Devicetree is used for most configuration. simple-framebuffer is configured to use the framebuffer set up by openiboot.