为Qemu aarch32开发板添加sd卡

Qemu: 2.8.0

开发板: vexpress

1、制作sd卡镜像

dd if=/dev/zero of=fs_vexpress_1G.img bs=1M count=

2、分区

 sudo losetup /dev/loop0 fs_vexpress_1G.img
 sudo fdisk /dev/loop0

注:可以使用 losetup -a 查看当前loop设备的占用情况

下面是分的两个区:

       Device Boot      Start         End      Blocks   Id  System
 /dev/loop0p1                            Linux
 /dev/loop0p2                         Linux

这里我们制作了1GB的存储器,分了两个区, 大小都是512M.

3、扫描分区

sudo partprobe /dev/loop0

4、格式化

 sudo mkfs.vfat -I /dev/loop0p1
 sudo mkfs.ext4 /dev/loop0p2

这里我们将第一个分区格式化为vfat格式, 第二个分区格式化为ext4格式

5、添加qemu启动参数

sudo qemu-system-arm \
    -M vexpress-a9 \
    -m 1024M \
    -smp  \
    -kernel ./linux-4.10/arch/arm/boot/zImage \
    -nog
<think>我们正在讨论OpenWrt构建系统,特别是关于`make menuconfig`中缺少Realview Board Qemu目标选项的问题。用户想知道在新版本OpenWrt中,这个目标选项被什么替代了。 根据OpenWrt的文档和开发历史,Realview Board Qemu曾经是一个用于模拟ARM Realview开发板QEMU目标。但随着OpenWrt的发展,目标平台可能会被重新组织或替换。 在较新的OpenWrt版本中(例如19.07及以后),目标平台已经进行了重构。Realview Board Qemu可能已经被移除或者合并到其他目标中。常见的替代方案是使用`virt`平台,这是一个通用的ARM虚拟平台,也支持在QEMU上运行。 步骤: 1. 在`make menuconfig`中,选择Target SystemARM Virt。 2. 然后选择Subtarget为ARMv8(如果使用64位)或ARMv7(32位)。 3. 在Target Profile中,选择Generic或QEMU选项。 具体操作: - Target System: `ARM Virt` - Subtarget: 根据你的需求选择(例如,支持64位则选ARMv8,32位则选ARMv7) - Target Profile: 通常选择`Generic`或`QEMU`,具体看你的需求。 另外,也可以考虑使用`qemu_arm`或`qemu_aarch64`作为目标,这些是OpenWrt为QEMU模拟器预定义的目标。 如果用户需要模拟Realview PB-A8开发板,可以尝试使用QEMU的`realview-pb-a8`机器类型,但在OpenWrt中可能没有专门的目标配置。因此,使用`virt`平台可能是更好的选择。 编译完成后,可以使用类似以下命令运行: ```bash qemu-system-arm -M virt -kernel openwrt-armvirt-zImage -drive file=openwrt-armvirt-root.ext4,format=raw,if=virtio -append 'root=/dev/vda rootwait' -net nic,model=virtio -net user ``` 如果用户坚持要使用Realview,可能需要检查OpenWrt的Target System中是否有其他类似选项,或者查看是否有第三方补丁支持。 相关问题: 1. 在OpenWrt中如何为QEMU配置和编译内核? 2. OpenWrt的`virt`目标平台有什么特点? 3. 如何运行编译好的OpenWrt镜像在QEMU上?</think>### OpenWrt `make menuconfig` 中缺少 Realview Board Qemu 目标的替代方案 在 OpenWrt 新版本中,`Realview Board Qemu` 目标选项已被移除,主要原因是: 1. **架构更新**:OpenWrt 已转向更通用的 ARM 虚拟化平台 2. **维护成本**:Realview 属于较旧的 QEMU 模拟平台 3. **替代方案成熟**:`ARM Virt` 平台提供更好的兼容性和性能 #### 推荐替代方案:ARM Virt 平台 在 `make menuconfig` 中选择: ```plaintext Target System -> ARM Virt Subtarget -> ARMv8 (64位) 或 ARMv7 (32位) Target Profile -> Generic ``` #### 配置步骤: 1. 执行配置命令: ```bash make menuconfig ``` 2. 按以下路径选择: ``` Target System -> ARM Virt Subtarget -> ARMv8 Multiprocessor (64位) 或 ARMv7 (32位) Target Profile -> Generic ``` 3. 保存配置后编译: ```bash make -j$(nproc) V=s ``` #### 运行说明 编译完成后,使用 QEMU 启动镜像: ```bash # 64位系统 qemu-system-aarch64 -M virt -cpu cortex-a57 \ -kernel bin/target/armvirt/Image \ -drive file=bin/target/armvirt/rootfs.ext4,format=raw \ -append "root=/dev/vda" -nographic # 32位系统 qemu-system-arm -M virt -kernel bin/target/armvirt/zImage \ -drive file=bin/target/armvirt/rootfs.ext4,format=raw \ -append "root=/dev/vda" -nographic ``` #### 注意事项 1. **网络配置**:默认启用 `virtio-net` 虚拟网 2. **存储优化**:使用 `virtio-blk` 替代传统 IDE 接口 3. **扩展性**:可通过 `make kernel_menuconfig` 定制内核[^1] 4. **编译账户**:建议使用非 root 用户编译以避免权限问题[^2] > ℹ️ 如需旧版 Realview 支持,可尝试回退到 OpenWrt 18.06,但官方已不再维护该目标平台。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lmr廖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值