The idea is solid, and the code mostly done. We generate a “generic” arm image which is tweaked by “a tool” to inject board-centric bootloaders, etc.
The tool not being ready shouldn’t prevent you from working on the arm port. You just have to tweak the boot partition by hand. All Haiku arm images should look like this:
- "Blank space for silly AllWinner boards looking for a bootloader at a fixed offset. (not required except on AllWinner boards)
- 1st partition - FAT + boot stuff.
- 2nd partition - BeFS / Haiku image
The files needed on the first partition:
- Bootable stuff for your board per this manifest
- haiku_loader compiled from our sources.
- fist full of compiled FDT’s from our sources.
The second partition is literally our compiled filesystem.
I’ve done a lot of legwork and the manifest above gives you everything “non-haiku” you need to get going.
Currently, the native fat rust code needs improved more. I’ve been hacking and improving, but it kind of turned into a skunkworks. I’ve been busily trying to complete our server move which has sucked up most of my time lately.
Help welcome! I’ve said this before, but I chose Rust because I wanted the image tool to run on multiple platforms with minimal modification since end-users will be using it as well as developers.
The possibility of a native Rust FAT driver also means there are almost zero dependencies. (aka, end users don’t need a user to install a bunch of requirements like fat filesystem tools, etc)