Bug 237085 - boot.scr file missing from Raspberry Pi rpi-b images preventing booting
Summary: boot.scr file missing from Raspberry Pi rpi-b images preventing booting
Status: In Progress
Alias: None
Product: Base System
Classification: Unclassified
Component: arm (show other bugs)
Version: 12.0-RELEASE
Hardware: arm Any
: --- Affects Many People
Assignee: freebsd-arm (Nobody)
Depends on:
Reported: 2019-04-07 21:40 UTC by Vincent Milum Jr
Modified: 2019-04-08 23:58 UTC (History)
2 users (show)

See Also:

console log of boot failing on rpi-b (663.83 KB, image/jpeg)
2019-04-07 21:40 UTC, Vincent Milum Jr
no flags Details
rpi-b 13-CURRENT bootlog (8.68 KB, text/plain)
2019-04-08 15:54 UTC, Emmanuel Vadot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vincent Milum Jr 2019-04-07 21:40:38 UTC
Created attachment 203453 [details]
console log of boot failing on rpi-b

In 12.0-RELEASE and 13.0-CURRENT, the "boot.scr" file is missing from the MSDOS partition on the Raspberry Pi-B (Rpi1) images. This file isn't needed on the Pi-Zero, but is required on the Pi-1B.

On the 1B, the u-boot fails to boot from disk and instead reverts to attempting PXE booting.

Pulling the file from 11.2-RELEASE MSDOS partition and putting it on 12.0-RELEASE and 13.0-CURRENT allows the Pi-1B to boot properly without any other changes.
Comment 1 Emmanuel Vadot freebsd_committer 2019-04-08 15:32:31 UTC
boot.scr is only needed for non-UEFI boot.
On your screen I can see that loader.efi couldn't allocate enough memory. Was it from 12.0 or 13-CURRENT ?
Comment 2 Emmanuel Vadot freebsd_committer 2019-04-08 15:43:57 UTC
FYI I've just booted 12.0-RELEASE on my RPI-B (with HDMI connected).
Comment 3 Emmanuel Vadot freebsd_committer 2019-04-08 15:54:51 UTC
Created attachment 203492 [details]
rpi-b 13-CURRENT bootlog

Latest snapshot also works (with serial + hdmi attached)
Comment 4 Emmanuel Vadot freebsd_committer 2019-04-08 15:56:41 UTC
What might happens is that you have a large screen (mine is 720p only) and there is already too much memory allocated by the firmware + u-boot.
Could you try with a smaller display ?
Comment 5 Vincent Milum Jr 2019-04-08 16:23:26 UTC
I'll try using the composite cable tonight, since that is only 480i. Even still though, it seems like excessive RAM usage if the board cannot boot up to larger screen resolutions with UEFI, but fine without. I'm curious now, how much RAM does UEFI take during boot?
Comment 6 Vincent Milum Jr 2019-04-08 23:58:32 UTC
FYI: this board I'm testing on is the 256MB Raspberry Pi Model B.

Just tried with composite video (480i), makes no difference.

By default, the board has a static memory allocation split between CPU and GPU. I believe it is at 64MB GPU with whatever is left allocated to CPU (192MB in this case)

Setting "gpu_mem=32" in config.txt (32MB GPU, 224MB CPU) allows the board to boot up with or without the "boot.scr" file at 480i (composite) or 1080p (HDMI).

So it looks like EFI requires more than 192MB RAM but less than 224MB RAM. This seems a bit excessive for a simple boot loader in my opinion.

Is there any way to reduce the RAM requirements of the EFI loader so FreeBSD images work by default on the original Raspberry Pi?