微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法在Raspberry PI 4B上运行U-boot绝对需要什么?

如何解决无法在Raspberry PI 4B上运行U-boot绝对需要什么?

我看到了有关此主题的几篇文章,但没有任何真正有助于我的事业的事情,因此在此重申我的问题。

我想构建自己的工具链,U-boot和将主线Linux内核移植到特定处理器上。由于我目前拥有RaspBerry Pi 4B,因此我决定使用它来逐步测试其二进制文件

到目前为止,我执行了以下操作:

  1. 使用crosstool-ng(v1.24.0)构建64位工具链-获得\ x-tools \ aarch64-rpi3-linux-gnu
  2. 克隆U-boot并构建v2020.07版本,从而生成u-boot.bin +其他文件(使用rpi_4_defconfig和rpi_arm64_defconfig内置)
  3. 克隆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 +其他文件
  4. 在我的32 GB SD卡上创建了两个分区引导(fat32),rootfs(Ext4)
  5. 将u-boot.bin,内核映像,start4.elf,fixup4.dat复制到引导分区中
  6. 将其保存在config.txt // config.txt中

在下面取消注释以使用您的自定义命名内核

kernel = u-boot.bin

串行控制台输出

enable_uart = 1 7.尝试使用HDMI电缆将RPi连接到显示

我看到的是: 设备似乎已打开,我看到一些快速的绿色LED闪烁,然后只有红色LED保持稳定。监视器会变亮,但屏幕黑屏,以指示信号。我期望使用UART>或类似命令显示命令提示符,但没有任何反应。

问题:

  1. 有人可以评论我身边缺少的东西吗?
  2. 在RaspBerry Pi 4B上运行自己的U-Boot,自己的Linux内核和根FS的绝对最低限度是什么? (关于.elf,fix * .dat等,以及config.txt,cmdline.txt上的设置?)

解决方法

我希望这能回答问题的U-Boot方面:

以下内容适用于我使用64位Raspbian内核引导1 GiB Raspberry 4:

构建u-boot v2020.10-rc5(在具有GCC 10的Debian Bullseye上)。

make rpi_arm64_defconfig
CROSS_COMPILE=aarch64-linux-gnu- make -j4

将u-boot.bin复制到RPi4 SD卡的第一个分区。

编辑config.txt并添加以下行:

enable_uart=1
arm_64bit=1
kernel=u-boot.bin

在U-Boot的串行控制台上,我输入了以下命令。您可以使用mkimage将它们放入boot.scr文件中。

U-Boot> setenv bootargs coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_headphones=1 smsc95xx.macaddr=DC:A6:32:05:53:B6 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=7f586f18-02 rootfstype=ext4 elevator=deadline rootwait
U-Boot> load mmc 0:1 $fdt_addr_r bcm2711-rpi-4-b.dtb                 
47471 bytes read in 26 ms (1.7 MiB/s)
U-Boot> load mmc 0:1 $kernel_addr_r kernel8.img
15483392 bytes read in 823 ms (17.9 MiB/s)
U-Boot> booti $kernel_addr_r - $fdt_addr_r

您将必须根据根分区和MAC地址的匹配来调整PARTUUID。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。