[RFC PATCH 0/4] Introduce global.bootm.root env var for booting via PARTUUID

Sascha Hauer s.hauer at pengutronix.de
Wed Jul 1 01:58:34 EDT 2020


Hi Robert,

On Tue, Jun 30, 2020 at 04:20:17PM +0200, Robert Karszniewicz wrote:
> The problem is that we want to be able to have the rootfs and kernel on
> separate partitions.

Why do you want to have that? It's kind of traditional to have the
kernel separated from the rootfs in some extra "kernel" partition, but
are there good reasons for it? There's an overhead in that the
bootloader has to read from a filesystem instead of only a raw
partition. Is that the reason?

Here at Pengutronix we are happy that we only have one partition image
that has everything needed to boot, including a description how to boot
it and including the kernel. No extra items that the bootloader has to
take care of, just put one thing somewhere and be done with it.

> We've looked into the Boot Loader Specification, but
> from what we saw, it makes A-B systems difficult (according to the spec,
> there can only be one "$BOOT" filesystem on a device).

barebox is more relaxed here. What we do here is to put two full root
filesystems into two different partitions on a SD/MMC. Each of the
partitions has one or more /loader/entries/*.conf file(s) and kernels.
You can then boot with "boot mmc0.0" into the first rootfs or with "boot
mmc0.1" into the second.
This may not be really conform to the specification, but works in
barebox and is a supported usecase. We do this for A/B Boot scenarios in
many projects.

Regards,
  Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list