WSL2下Ubuntu22.04使用Qemu搭建虚拟Vexpress-A9开发板(六)——U-boot+emmc启动

本文介绍了如何将U-boot的环境变量存储在emmc中,以便与Linux内核、设备树分开,并详细描述了制作emmc镜像、修改U-boot配置、以及使用qemu进行启动过程。

        在第四部分《通过U-boot引导加载内核》中,我们发现U-boot的环境变量修改后无法保存,需要修改源代码来固化环境变量,对启动参数的修改造成了不便。因此本节将继续深入探讨如何将U-boot的环境变量存储在emmc内,同时使用emmc存储Linux内核、设备树以及根文件系统,并在此基础上尝试引导启动最小Linux操作系统。

制作emmc镜像文件

        本节制作的emmc镜像文件共256MB,分为两个部分,第一部分存放uImage和dtb,大小为32MB,第二部分存放根文件系统,大小为224MB。

创建挂载路径

sudo mkdir /mnt/rootfs
sudo mkdir /mnt/uboot

创建自动打包脚本

cd /home/workspace/objects
vim makefs-arm32.sh

# 将makefs-arm32.sh的内容替换为以下内容
dd if=/dev/zero of=rootfs-arm.ext3 bs=1M count=256

echo "hard disk partition!"
sgdisk -n 0:0:+32M -c 0:uboot rootfs-arm.ext3
sgdisk -n 0:0:0 -c 0:rootfs rootfs-arm.ext3
sgdisk -p rootfs-arm.ext3

echo "mount loop device!"
LOOPDEV=`losetup -f`
echo $LOOPDEV
sudo losetup $LOOPDEV  rootfs-arm.ext3
sudo partprobe $LOOPDEV
sudo losetup -l
ls -l /dev/loop*

echo "format disk to ext3"
echo ${LOOPDEV}p1
echo ${LOOPDEV}p2
sudo mkfs.ext3 ${L
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值