从 FreeBSD 的交叉编译文档中他们提到:
上面的简单构建示例中遗漏的一个细节是 UBLDR_LOADADDR=0xnnnnnnnn 值,该值必须在 buildworld 命令行上提供。这是 ARM 系统目前需要的一个繁琐的小细节。大多数 ARM 系统上使用的 loader(8) 风格是“ubldr”(U-Boot 加载程序),目前必须链接到固定地址。每个板或系统的地址都不同。通常,该地址是系统上的 U-Boot 在其 loadaddr 环境变量中设置的地址。
https://wiki.freebsd.org/FreeBSD/arm/crossbuild#Pesky%20Details
我在哪里可以找到这个适合我的ARMv6 设备确保编译到SD卡后能够启动?
答案1
找到此信息的最佳方法是在 IRC 上询问,或者在 FreeBSD Wiki 中搜索创建交叉编译映像所需的板:为 Raspberry Pi 2 构建镜像
# mount /dev/md0s2a /mnt
# make TARGET_ARCH=armv6 UBLDR_LOADADDR=0x2000000 buildworld
# make TARGET_ARCH=armv6 KERNCONF=RPI2 buildkernel
# make TARGET_ARCH=armv6 DESTDIR=/mnt installkernel
# make TARGET_ARCH=armv6 DESTDIR=/mnt installworld distribution