Re: RPI5 16GB panic on boot [.dtb files]
- In reply to: Mark Millard : "Re: RPI5 16GB panic on boot [.dtb files]"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 04 Feb 2025 03:39:13 UTC
On Feb 3, 2025, at 18:43, Mark Millard <marklmi@yahoo.com> wrote: > On Feb 3, 2025, at 17:03, Mark Millard <marklmi@yahoo.com> wrote: > >> On Feb 3, 2025, at 13:11, Klaus Cucinauomo <maciphone2@googlemail.com> wrote: >>> >>>> >>>> ) Historically FreeBSD makes no use of the linux-mainline *.dts* sources >>>> for RPi* systems. >>>> >>>> ) I'm not sure of the RPi folks even publish the *.dts* sources required >>>> to reproduce the binary files that they distribute. >>>> >>> >>> Mark, >>> >>> I'm sure you'll be a very important troubleshooter/bughunter again for RPI support, no one does it as well as you :-) >>> ... but let us clarify one important thing: >>> Every FreeBSD DeviceTreeSource(or compiled dtb) is a Linux(or RPILinux)-mainline-only source >> >> Wrong for where/how FreeBSD gets the dtb files for the RPi*'s. >> See https://cgit.freebsd.org/ports/tree/sysutils/rpi-firmware and its >> Makefile as a start for seeing how /usr/src/release/arm64/RPI.conf >> gets the dtb's that are used: release/arm64/RPI.conf uses the >> installed materials from sysutils/rpi-firmware . >> >> The installation of sysutils/rpi-firmware put in place: >> >> # ls -C1 /usr/local/share/rpi-firmware/*.dtb >> /usr/local/share/rpi-firmware/bcm2708-rpi-b-plus.dtb >> /usr/local/share/rpi-firmware/bcm2708-rpi-b-rev1.dtb >> /usr/local/share/rpi-firmware/bcm2708-rpi-b.dtb >> /usr/local/share/rpi-firmware/bcm2708-rpi-cm.dtb >> /usr/local/share/rpi-firmware/bcm2708-rpi-zero-w.dtb >> /usr/local/share/rpi-firmware/bcm2708-rpi-zero.dtb >> /usr/local/share/rpi-firmware/bcm2709-rpi-2-b.dtb >> /usr/local/share/rpi-firmware/bcm2709-rpi-cm2.dtb >> /usr/local/share/rpi-firmware/bcm2710-rpi-2-b.dtb >> /usr/local/share/rpi-firmware/bcm2710-rpi-3-b-plus.dtb >> /usr/local/share/rpi-firmware/bcm2710-rpi-3-b.dtb >> /usr/local/share/rpi-firmware/bcm2710-rpi-cm3.dtb >> /usr/local/share/rpi-firmware/bcm2710-rpi-zero-2-w.dtb >> /usr/local/share/rpi-firmware/bcm2710-rpi-zero-2.dtb >> /usr/local/share/rpi-firmware/bcm2711-rpi-4-b.dtb >> /usr/local/share/rpi-firmware/bcm2711-rpi-400.dtb >> /usr/local/share/rpi-firmware/bcm2711-rpi-cm4-io.dtb >> /usr/local/share/rpi-firmware/bcm2711-rpi-cm4.dtb >> >> without compiling any *.dts* files, instead getting >> binaries from a RPi specific place (which is not just >> mainline linux for RPi* 's): see sysutils/rpi-firmware >> for details. >> >> /usr/src/release/arm64/RPI.conf in turn uses that >> port/package and an internal definition: >> >> DTB_DIR="/usr/local/share/rpi-firmware" >> >> for forming paths as were to copy the files from for making the >> official distribution materials: >> >> for _DF in ${DTB_FILES}; do >> chroot ${CHROOTDIR} cp -p ${DTB_DIR}/${_DF} \ >> ${FATMOUNT}/${_DF} >> done >> >>> , and every dts(i) is OpenSourced in RPI-linux and all upcoming patches are OpenSourced in mailing lists of e.g. the bootloader. >> >> There may be sources present from the RPi folks but FreeBSD >> does not compile them and does not have those sources in >> its https://git.FreeBSD.org/src.git . >> >> The RPi folks instead have things in: >> >> https://github.com/raspberrypi/linux/commits/rpi-6.6.y/arch/arm/boot/dts/ >> >> Note that this area is not a just a copy of the linux mainline. >> Nor is it a copy from files from a U-Boot distribution. >> >> >>> Or so: they(torvalds&RPI&u-boot) upstream/downstream whatever they think is useful, >>> there are a lot of experst doing that daily and we should not stay so far behind them forever. >> > > This is just an extra note about looking up the RPi > folks linux source by their own tags, such as the > recent stable_20250127 tag: > > https://github.com/raspberrypi/linux/tags > > shows the tags and can get to to .zip or .tar.gz files > for the sources. Using that tag as an example one can > use the likes of: > > https://github.com/raspberrypi/linux/tree/stable_20250127 > > to get you to a browser and you can browse into the > likes of: > > https://github.com/raspberrypi/linux/tree/stable_20250127/arch/arm/boot/dts > > Again: FreeBSD and sysutils/rpi-firmware do not access > or compile such sources. > > The *.dtb files can be browsed to via the likes of: > > https://github.com/raspberrypi/firmware/ or one of its branches > or tags via looking in the cintained boot folder. The README > reports, in part: > > QUOTE > • boot: > • start*.elf, fixup*.dat and bootcode.bin are the GPU firmwares and bootloader. Their licence is described in boot/LICENCE.broadcom. > • The kernel.img files are builds of the Linux kernel, released under the GPL (see boot/COPYING.linux) > • The dtbs, overlays and associated README are built from Linux kernel sources, released under the GPL (see boot/COPYING.linux) > END QUOTE > > There is also https://github.com/raspberrypi/rpi-firmware/ > that also has such (without the tags) but is in a smaller > repository for cloning (subset): "These are mirrored in a > separate repo from the official one, because for updating > the firmware, we're only interested in the files in the boot > folder of the official repo. Git doesn't provide a way to > clone only a single subfolder of a repo, and downloading > the entire repo including the sample code and VC libs would > take too long." As for what *.dtb files U-Boot can use for RPi* 's . . . FYI: https://docs.u-boot.org/en/latest/board/broadcom/raspberrypi.html reports that the "rpi_arm64_defconfig" uses the .dtb file provided by the RPi folks instead of U-Boot's embedded one: QUOTE rpi_arm64_defconfig uses the device-tree provided by the firmware instead of the embedded one. It allows to use the same U-Boot binary to boot different boards. END QUOTE It is listed as supporting: QUOTE • rpi_arm64_defconfig - Raspberry Pi 3b - Raspberry Pi 3b+ - Raspberry Pi 4b - Raspberry Pi 400 - Raspberry Pi CM 3 - Raspberry Pi CM 3+ - Raspberry Pi CM 4 - Raspberry Pi zero 2 w END QUOTE === Mark Millard marklmi at yahoo.com