各位专家:
我已为 rootfs 创建了一个用户分区,并且可以从该分区引导。现在,我需要为不同的根文件系统创建另一个分区。
我已按照以下步骤创建 eMMC 分区
3.7.3.2. 将闪存内核、设备树和根文件系统添加到 eMMC
当 U-Boot 编程到 eMMC boot0分区时、需要将 Linux 内核、器件树和根文件系统写入 eMMC 用户分区。 首先,需要在用户分区中创建 ext4分区。 这可以通过 fdisk
以下命令来完成:
# fdisk /dev/mmcblk0
使用此交互式命令的以下选项删除现有分区并创建新分区:
输入“p”显示当前分区
输入“n”创建新分区(或先输入“d”删除现有分区)
对所有后续选项使用默认值
输入“w”将分区表写入磁盘并退出
创建新分区后、 ls /dev/mmcblk*
应在 eMMC 中显示新分区。 例如,如果 eMMC 为 mmcblk0,则新创建的分区将为 mmcblk0p1
:
# ls -l /dev/mmcblk0 brw-rw--
1根磁盘179,11月32日16 02:02 /dev/mmcblk0
brw-rw-- 1根磁盘179,11月64 16 02:01 /dev/mmcblk0boot0
brw-rw-- 1根磁盘179,11月16日96 01:44 /dev/mmcblk0boot1
brw-rw---- 1根磁盘179,11月33 02:179-/dev/mmcblk0p1
1 root root 237、0 Nov16 01:44 /dev/mmcblk0rpmb
需要在新分区中创建 ext4文件系统:
# mkfs.ext4 /dev/mmcblk0p1
现在创建了 ext4分区,Linux 内核、设备树和根文件系统就可以写入该分区。 将 Linux 映像从主机复制到 EVM。 例如、AM64x 的默认映像:
-
tisdk-default-image-am64xx-evm.tar.xz
有关 处理器 SDK 中的 Linux 映像、请参阅根文件系统。
将此映像解压到新创建的 eMMC 分区。 下面是假设 Linux 映像已复制到 /home/root
EVM 上的文件夹中、如何完成此操作的示例。
# mkdir -p /mnt/temp
# mount -t ext4 /dev/mmcblk0p1 /mnt/temp
# cd /mnt/temp
# tar xf
# CD .
# umount temp
3.7.3.3 更改引导模式和 U-Boot Env
现在 eMMC 上已安装了完整的 Linux 系统、最后一步是设置 EVM 引导模式并更改 U-Boot 环境、以便 Linux 从 eMMC 引导。
重新启动 EVM 并停止自动引导以进入 U-Boot 提示符。 发出以下命令以授予 ROM 对 eMMC 引导分区的访问权限(这只需要执行一次):
=> MMC partconf 0 1 1
=> MMC 引导总线0 2 0 0
接下来切换到 eMMC 引导模式。 请参阅 EVM 引导模式开关 、了解如何将 EVM 引导模式开关设置为从 eMMC 引导。
重启 EVM 以再次引导至 U-Boot 提示符、然后发出以下命令以更改用于 eMMC 引导的 U-Boot 环境变量:
=> setenv mmcdev 0
=> setenv bootpart 0
=> boot
现在、对 EVM 进行复位或下电上电、Linux 应从 eMMC 引导。
我是 Abe,要创建另一个分区,但如何从该分区引导内核和 rootfs,请建议一些步骤
提前感谢