我有一个 BeagleBone Black,它最初是用(我相信)Robert C. Nelson 的 SD-to-MMC 闪存之一构建的。它安装了内核版本 3.8.13-bone28,运行良好。
我需要安装我自己构建的内核 4.4.12,使用内核源和 build_kernel.sh 脚本https://github.com/RobertCNelson/bb-kernel。
我正在 /boot/uboot/ 中安装新的 zImage、在 /boot/uboot/dtbs/ 下安装新的 dtbs 文件、在 /lib/modules/4.4.12bf-bone11/ 中安装新的模块以及在 /lib/firmware/ 中安装新的固件。
新内核已完成部分启动,但会一直挂起以等待根设备 UUID=...。
我尝试过
update-initramfs -k 4.4.12bf-bone11 -c
但没有帮助。
我尝试从 uEnv.txt 中的 mmcrootfstype 配置中删除“rootwait”,但这只会让事情变得更糟。
我怀疑问题可能与 gpio 线有关,该线可能准确指示板载 eMMC“磁盘”已准备就绪。 (但如果是这样,那就很奇怪了,因为正如我提到的,预构建的 3.8.13 启动正常。)
有人能指出我可能漏掉了哪一步吗?我发现很多人都遇到过类似的问题,但与我的问题不太相似,他们的解决方案也不太有帮助。
PS 我知道我的新 4.4.12 内核名义上是好的,因为我成功地将它与同一 BeagleBone 上的普通 Debian 安装集成在一起。但这个项目的同事坚持使用 Ubuntu。
PPS 如果我能弄清楚如何针对我已有的 3.8.13 内核编译某个模块,我就不需要构建自己的内核了。但编译模块似乎总是需要一个完整的内核构建目录来构建。
PPPS 如果 Linux 可以从 http://www.asix.com.tw/download.php?sub=driverdetail&PItemID=105。但似乎没有任何现有的 Linux 内核版本拥有它。