QEMU 运行 Linux 内核

模拟x86

qemu-system-x86_64 \
-kernel bzImage \
-append "root=/dev/vda rw" \
-drive file=rootfs.img,format=raw,if=virtio

模拟asm

qemu-system-arm \
-M vexpress-a9 \
-m 512M -kernel zImage_vexpress \
-dtb vexpress-v2p-ca9.dtb \
-drive file=rootfs_vexpress_1.ext2,if=sd,format=raw \
-append "rootwait root=/dev/mmcblk0 console=ttyAMA0" \
-nographic

编译内核

make -j$(nproc) 2>&1 | tee log
make clean # 删除大多数的编译生成文件, 但是会保留内核的配置文件.config, 还有足够的编译支持来建立扩展模块
make mrproper # 删除所有的编译生成文件, 还有内核配置文件, 再加上各种备份文件
make distclean # mrproper删除的文件, 加上编辑备份文件和一些补丁文件。

启动uboot

make vexpress_ca9x4_defconfig
make -j$(nproc)
qemu-system-arm \
-M vexpress-a9 \
-m 512M \
-kernel ./u-boot \
-nographic \
-sd rootfs_vexpress.ext2

uboot cmd

mmc dev 0
mmc info
ls mmc 0
setenv bootargs rootwait root=/dev/mmcblk0 console=ttyAMA0
load mmc 0:0 0x60000000 zImage_vexpress
load mmc 0:0 0x61000000 vexpress-v2p-ca9.dtb
bootz 0x60000000 - 0x61000000
# 或者
load mmc 0 $kernel_add_r zImage_vexpress
load mmc 0 $fdt_addr_r $fdtfile
bootz $kernel_add_r - $fdt_addr_r
posted @   绿草蓝天  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
点击右上角即可分享
微信分享提示