Pioneer boot process

Hi,
I’m trying to port a new distro to the Pioneer board – unfortunately except for the prebuilt OS images that could be reverse engineered, I couldn’t find any documentation on the boot process.

The Fedora image seems to have something resembling a UEFI partition (but without the typical ef00 marker in the partition table), containing a fip.bin and zsbl.bin, a RISC-V grub binary without a config, and a kernel image as a UEFI binary; and then there’s another boot partition that looks like something u-boot would like to see (extlinux configs and all).

That seems a bit duplicated (and possibly still not enough because there may be some special offset zsbl, opensbi etc. must be copied to) - is there any documentation on the actual boot process?

Thanks
bero

2 Likes

Hi,

On the phone and supposed to sleep rn, so bit of a short answer - but maybe helps as a pointer already

The boot process works around the first partition being a FAT32 from which the fip.bin is loaded, which is the firmware bringing up the memory and rest of the system and then loading I guess the zsbl.

This has some more, maybe that helps: https://github.com/sophgo/sophgo-doc/blob/main/SG2042/HowTo/bootflow.rst

1 Like

Thanks, that’s very useful. Is the source for fip.bin available somewhere, or is it a binary that must be copied around?

1 Like

Binary file, sadly

Having that open would have helped a lot in diagnosing the boot problems all around the forum^^`

3 Likes

I created some issues in the sophgo repos asking for more information about fip.bin:

Based on documentation from some of their other systems it seems like it might be generated from the u-root trees somehow.

2 Likes

@littlefox @silvanshade @bero I found some interesting links. They are a few how to’s for the SG 2042 chipset, and there are links to download ubuntu, debian, opensuse, fedora, and a few other ones, mainly Chinese OS’s. I downloaded and was able to boot into the debian image…The rest of the how to’s I think tell you how to compile and make a bootable os image, among other things.