I want to try to create my own disk image for my Milk-V Jupiter. I don’t have previous experience with computers other than BIOS/UEFI x86, and I didn’t manage to find any information on the boot process for this computer.
What are these partitions? (one is from the provided Ubuntu 23.10, and the other is 24.04 from Canonical’s website)
I looked into the /etc/fstab files from both root partitions and these first 2 or 4 partitions are not mounted, so they must be used for booting somehow? They are not recognized as any filesystems.
You can see the partition descriptions in the partition_universal.json file in the bianbu linux buildroot.
The image has a small header at the start (technically not a partition) which tells the soc rom loader where to pull the first stage bootloader from. The first stage bootloader is located in the first partition. It’s responsible for some additional hardware initialization (ram controller, i think?) then loads the opensbi firmware from the third partition and uboot from the 4th partition. Then uboot takes over and reads its environment config from the second partition, before reading things from the bootfs partition and starting up the linux kernel.