基于rv1108的双系统的实现方法

本文介绍了如何在rv1108平台上实现双系统启动。根据开机前的开关位置,loader阶段检测IO状态来决定加载不同kernel和rootfs。nandflash启动时,kernel映像对应不同rootfs分区;emmc启动时,kernel依据bootargs的root参数挂载不同mmcblk分区。设置文件setting.ini用于配置各个分区的offset、size等信息,确保不同存储介质间的兼容性。
摘要由CSDN通过智能技术生成

背景:

产品需要实现双系统,在开机之前将开关拨到不同的位置,系统启动时在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

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值