将Beaglebone内部mmc分区为2个内核

时间:2018-11-06 10:54:29

标签: linux linux-kernel yocto beagleboneblack beagleboard

有人在Beaglebone的4GB内部mmc内存中存储两个独立的Linux内核映像(2个默认Debian映像或其他任何内容)有任何经验吗?

我正在尝试实现OTA更新解决方案,据此,我当然需要在内存中拥有两个内核,一个正在更新,而一个正在运行。我必须使用SD卡吗?预先感谢

2 个答案:

答案 0 :(得分:1)

您应该有一个以上的分区,用于在分区布局中存储内核映像。一种布局示例是,仅考虑内核部分,使用yocto的WIC功能

part kernel0 --fixed-size 20M --fstype=ext4 --label kernel0 --source bootimg-partition
part kernel1 --fixed-size 20M --fstype=ext4 --label kernel1

基于OTA函数,您可以在Linux中使用fw_setenv更新u-boot / bootloader环境变量以相应地获取内核。

注意:以上分区布局仅用于内核表示,并且还应根据需要包括rootfs和其他分区。使用WIC来显示此示例。

答案 1 :(得分:1)

我们在1GB NAND上使用同步a / b(双)引导布局。 您可以尝试使用至少6个插槽/分区的rauc:kernel0,devicetree0,rootfs0,kernel1,devicetree1,rootfs1。

内核分区通常只有10MB大。 Devicetree分区甚至更小。