There are some work done in this field.
What is done and dev history is available at: https://github.com/boricj/minix
A global journal is available at:
https://groups.google.com/forum/#!topic/minix3/OLCpnlxVbs4/discussion
There is two main branches available in github in the following addresses:
Branch rpi3
https://github.com/boricj/minix/tree/rpi3
Development history
https://github.com/boricj/minix/compare/e79c7d0…boricj:rpi3
Although there is 168 changed files, near 100 is about the presentation done on this, so are pngs and the necessary code to show and another extra stuff.
These are the description for the 30 commits
- Fix ARM build on my machine
- Initial creation of RPi image with U-Boot
- Update U-Boot revision
- Boot until jump to high virtual addresses
- Add U-Boot boot script to SD image
- Working on hypervisor problem
- Work
- Yet more work
- Switching into supervisor mode. Finally.
- Add trace messages
- Fix crash due to overwriting secondary cpu boot code
- Interrupts and clock running
- Interrupts and clock working for more than a second
- Gestion de UART pour rpi3
- Makefiles: virtual address
- TTY
- tty working, minimalist ramdisk environment working
- first shot at fbdev
- fix UART on real hardware
- remove verbose messages
- framebuffer
- cleanup kernel
- rework bootloader so it can boot on both rpi 2 and 3 at the same time
- working framebuffer
- gpio driver
- cleanup tty
- partially unbreak omap build
- Presentation
- Presentation
- kernel: add support for system timer
This not run on rpi3 only in rpi2
From author
The port is functional enough to allow running a presentation on it.
With a few small modifications to the boot ramdisk, PNG files can be directly decompressed to the framebuffer and the GPIO pins can be used as forward and backwards buttons. A simple shell script launched on boot is used to run the show.
Branch rpi_clean
https://github.com/boricj/minix/tree/rpi_clean
Development history
https://github.com/boricj/minix/compare/ad60a88…boricj:rpi_clean
This branch had 8 commits and 60 files changed
- Introduce BSP_NAME
- Use BSP_NAME when building kernel
- kernel: remove hard-coded defines in earm
- kernel: add support for Raspberry Pi 2 and 3
- tty: add support for Raspberry Pi 2 and 3
- fb: add support for Raspberry Pi 2 and 3
- gpio: add support for Raspberry Pi 2 and 3
From author
Rebased and cleaned branch on top of master. It boots on QEMU but hangs on the real hardware. While I can’t rule out an error in the port itself, it is consistent with issue #104 which prevents MINIX from booting on real ARM hardware
Issue 104 > https://github.com/Stichting-MINIX-Research-Foundation/minix/issues/104
Further developments
nekorobov branch the rpi_clean an develop it further
https://github.com/nekorobov/minix/tree/rpi_clean
https://github.com/nekorobov/minix/tree/rpi_clean_dev
https://github.com/nekorobov/minix/tree/rpi_clean_driver
Branch rpi
Historical first try