Android内核在启动时如何决定根分区?

时间:2015-02-10 13:21:34

标签: android linux-kernel embedded-linux u-boot

使用Pandaboard ES,Linaro 14.10内核将mmcblk0p2视为根分区。
是否有一般方法将根分区配置到其他mmcblk或只是另一个分区?

详情:
两个块设备,mmcblk0是SD卡,mmcblk1是EMMC,两者都在/ dev / block中。 引导流程为:MLO(SD)=> u-boot.img(SD)=> uImage,initrd,boot.scr,board.dtb(EMMC)

u-boot.img将uImage,initrd和board.dtb加载到RAM并启动内核 内核启动后,它将mmcblk0p2视为根分区 如何修改内核源代码,以便将mmcblk1pX用作root分区?

2 个答案:

答案 0 :(得分:0)

您可以将其作为内核命令行root=/dev/mmcblk1pX

传递

答案 1 :(得分:0)

您不必修改内核源代码。您需要更改的是U-Boot环境变量。 U-Boot通常将根分区传递给部分bootargs的Linux内核。我相信您可以使用boot.scr覆盖默认值。换句话说,在空白文件中设置bootargs,然后使用boot.scr等工具编译新的mkimage