Two partition boot

Is it possible to boot hifive-unleashed board with using two partition(mmc boot).Like as in
1st partition - opensbi+uboot
2nd partition - rootfs+kernel

Can please help for the same…


No, you need at least 3 partitions, u-boot spl (FSBL), u-boot itb, and rootfs. Though we actually use four because we include extlinux. You could put the last two partitions on nvme and only the first two on sdcard, but you still have four partitions total to boot.

See this for an explanation of the boot process.

hi @jimw,
Our hifive-unleased using three partition for image boot.As like
1st partition = fitimage and boot script
2nd partition = opensbi+uboot(rawcopy)
3rd partition = rootfs

here fitimage is mounting from 1st partition,So can we get fitimage should be in rootfs partition and should mount from same partition.

I am not an expert on linux booting. All I can do is point you at the carlosedp site which explains how the current system works. You need a partition for FSBL, a partition for SBL, and a partition for rootfs at a minimum.

I suppose you could put the rootfs in the same partition as FSBL or SBL, and then use some linux kernel magic to mount a filesystem that doesn’t start at the partition start. But you would have to remember exactly what offset the filesystem starts from the partition start as I think there would be no easy way to find it after the fact. I heard of someone doing things this way once when they were desperate. It isn’t something that I would recommend.

Also note that you can put the rootfs on nvme in which case it doesn’t need to be on the sdcard. Or people are starting to get boot from flash working, in which case at least one or two of the partitions can go in flash reducing what needs to be on the sdcard.

You are likely on your own if you want some non-standard boot setup.

I vaguely remember that the bootloader reads the entire partition into memory at startup, so if this is still the case, making them larger than necessary will make the boot slower. I did this accidentally once.