我看到了一些关于这个主题的帖子,但没有什么能真正帮助我的事业,所以在这里重申我的问题。
我想构建自己的工具链、U-boot 和主线 Linux 内核,以便移植到特定的处理器上。由于我目前拥有 Raspberry Pi 4B,因此我决定使用它来逐步测试我的二进制文件。
到目前为止,我执行了以下操作:
- 使用 Crosstool-ng (v1.24.0) 构建了一个 64 位工具链 - 得到 \x-tools\aarch64-rpi3-linux-gnu
- 克隆 U-boot 并构建 v2020.07 版本,从而生成 u-boot.bin + 其他文件(使用 rpi_4_defconfig 和 rpi_arm64_defconfig 构建)
- 克隆 Linux 内核(v5.4.65 和 v5.8.9),在 Raspberry Pi 存储库的 arch/arm64/configs 中添加 bcm2711_defconfig 并构建 Linux 内核 - 生成 vmlinux、Image、Image.gz、System.map、bcm2711-rpi-4 -b.dtb + 其他文件
- 在我的 32-GB SD 卡上创建了两个分区 boot (FAT32)、rootfs (Ext4)
- 复制u-boot.bin、Kernel images、start4.elf、fixup4.dat到boot分区
- 在 config.txt//config.txt 中有这个
在下面取消注释以使用您的自定义命名内核
内核=u-boot.bin
串行控制台输出!
enable_uart=1 7. 尝试使用 HDMI 线将 RPi 连接到显示器
我所看到的:设备似乎打开了,我看到一些绿色 LED 快速闪烁,然后只有红色 LED 保持稳定。监视器收到信号,表明它变亮了,但屏幕是空白的。我期待一个带有 UART > 或其他东西的命令提示符,但什么也没出现。
问题:
- 有人可以评论我身边缺少的东西吗?
- 获得自己的 U-Boot、自己的 Linux 内核和在 Raspberry Pi 4B 上运行的根 FS 的绝对最低要求是什么?(关于.elf、fix*.dat等,+config.txt、cmdline.txt上的设置?)