从零构建 ARM64 内核?QEMU 踩坑全记录:差点删库跑路!​

摘要​​:

“Attempted to kill init!”“No working init found”... 这些令人血压升高的错误背后,都藏着哪些秘密?一篇让你从入门到“放弃”再到精通的内核调试指南。

作为一名软件工程师,我最近想深入研究 Linux 内核。本以为在 QEMU 里跑个 ARM64 虚拟机是分分钟的事,结果……差点被编译错误和内核恐慌(Kernel Panic)给整破防了。

如果你也正在这条路上“踩坑”,别慌!我把所有问题、解决方案和心路历程都整理出来了。这份 ​​《QEMU + ARM64 内核构建避坑指南》​​,请你收好!


​💣 坑一:

Meson 构建错误——“Subproject exists but has no meson.build”​

​错误现场​​:

ERROR: Subproject berkeley-softfloat-3 is buildable: NO

​内心OS​​:”这啥玩意儿?我 clone 的代码不完整?“

​问题根源​​:

QEMU 构建系统改用 ​​Meson Wrap​​ 机制来管理依赖(如 berkeley-softfloat-3),不再需要手动 git submodule update --init。这是构建系统的进步,但文档可能还没跟上。

​解决方案​​:

  1. 1.

    ​一键修复​​:运行 meson setup build/,Meson 会自动处理 Wrap 依赖,无需手动干预。

  2. 2.

    ​网络问题​​:如果自动下载失败,可手动将 .wrap文件对应的源码包放到 subprojects/packagecache/目录下。

​知识点​​:现代开源项目(如 QEMU、Systemd)正从传统的 git submodule转向 meson wrap

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值