背景:
产品需要实现双系统,在开机之前将开关拨到不同的位置,系统启动时在loader阶段就会去检测开关按键的状态,根据按键的状态,去不同的偏移地址加载不同的kernel,并且启动相应的rootfs,实现不同的应用。
loader:
此阶段需要检测案件的io管脚的状态,涉及到基于rv1108的裸机程序的编写,检测io口的电平的高低。不同的电平,赋予不同的kernel的加载地址。
dts:
bootargs中的root值不同
nandflash启动:
kernel_a.img 对应root=rootfs_a
kernel_b.img 对应root=rootfs_b
emmc启动:
kernel_a.img 对应root=mmcblk0p4
kernel_b.img 对应root=mmcblk0p6
setti