Ili*_*psi 5 linux embedded u-boot
似乎我对在 Banana Pi 等设备上启动 SD 卡映像的工作方式缺乏了解。情况如下。
我有一个 Banana Pi 和一个 Banana Pro。每个设备在插入设备的 SD 卡上都有一些发行版的映像(Banana Pro -> Arch Linux,Banana Pi -> Bananian)。图像可以从这里和这里下载。这工作正常。
但是由于 Banana Pi / Pro 有一个 SATA 端口,如果根系统可以从连接的硬盘驱动器启动,那就太好了。正如可以在此处阅读的那样,这可以非常简单地完成。
但现在到了我挣扎的部分。使用发行版映像刷新整个 4GB SD 卡(甚至更大的 SD 卡)并仅使用 50MB 分区似乎有点浪费。所以我尝试使用较小的 SD 卡。
我创建了一个fdisk
(50MB 大小)的分区,并用于mkfs.vfat -F 16 /dev/sdXX
在分区上创建文件系统。由于parted
检查图像文件时的输出,我将其设为 FAT 16 。
.
在那之后,我登上从图像中partion到/tmp/boot
与sudo mount -o loop,offset=1048576 ArchLinux_For_BananaPro_v1412.img /tmp/boot
。偏移值是分割输出中的起始值。
将文件(script.bin、uEnv.txt、uImage)复制到我的SD卡分区,更改uEnv.txt中的根路径。进行了同步并卸下了 SD 卡。
一切似乎都很好。即使将带有整个映像的 SD 卡上的引导分区与仅带有引导分区的 SD 卡上的引导分区进行比较,它们也是相同的(根据fdisk
)
但是 Banana Pi / Pro 不能使用 SD 卡启动,只有一个提供 u-boot 文件的启动分区。
有没有人知道这种行为?
更新:
感谢@BananaFreak,我认识到了我的错误。引导加载程序确实丢失了,但即使按照lemaker的指南操作,BananaPro 也无法启动。lemaker wiki 页面上的一件奇怪的事情是第一句话说:
注意:这些说明适用于 Linux 计算机,而不是 Banana Pro/Pi!!
小智 3
我想你错过了引导加载程序。U-Boot 必须存在于您的 SD 上。看看 Banana Pi / Pro 的 SD 布局应该如何:
http://wiki.lemaker.org/BananaPro/Pi:Setting_up_the_bootable_SD_card#SD_Card_Layout