Date: Mon, 3 Feb 2025 18:43:59 -0800 From: Mark Millard <marklmi@yahoo.com> To: Klaus Cucinauomo <maciphone2@googlemail.com> Cc: freebsd-arm@freebsd.org Subject: Re: RPI5 16GB panic on boot [.dtb files] Message-ID: <953D2D6D-1402-4074-81FC-65FAC87E3091@yahoo.com> In-Reply-To: <4CD66BF7-05C1-47E3-BD74-DD06066D6FF0@yahoo.com> References: <10E6E2C2-5A1B-417E-96A7-FA7CCB4FF50D@yahoo.com> <CA8B4C97-99F6-4729-8394-7549B4F763C2@googlemail.com> <4CD66BF7-05C1-47E3-BD74-DD06066D6FF0@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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: >>=20 >>>=20 >>> ) Historically FreeBSD makes no use of the linux-mainline *.dts* = sources >>> for RPi* systems. >>>=20 >>> ) I'm not sure of the RPi folks even publish the *.dts* sources = required >>> to reproduce the binary files that they distribute. >>>=20 >>=20 >> Mark, >>=20 >> 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 >=20 > 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 . >=20 > The installation of sysutils/rpi-firmware put in place: >=20 > # 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 >=20 > 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. >=20 > /usr/src/release/arm64/RPI.conf in turn uses that > port/package and an internal definition: >=20 > DTB_DIR=3D"/usr/local/share/rpi-firmware" >=20 > for forming paths as were to copy the files from for making the > official distribution materials: >=20 > for _DF in ${DTB_FILES}; do > chroot ${CHROOTDIR} cp -p ${DTB_DIR}/${_DF} \ > ${FATMOUNT}/${_DF} > done >=20 >> , and every dts(i) is OpenSourced in RPI-linux and all upcoming = patches are OpenSourced in mailing lists of e.g. the bootloader. >=20 > 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 . >=20 > The RPi folks instead have things in: >=20 > = https://github.com/raspberrypi/linux/commits/rpi-6.6.y/arch/arm/boot/dts/ >=20 > 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. >=20 >=20 >> 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. >=20 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/dt= s 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 =E2=80=A2 boot: =E2=80=A2 start*.elf, fixup*.dat and bootcode.bin are the GPU = firmwares and bootloader. Their licence is described in = boot/LICENCE.broadcom. =E2=80=A2 The kernel.img files are builds of the Linux kernel, = released under the GPL (see boot/COPYING.linux) =E2=80=A2 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." =3D=3D=3D Mark Millard marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?953D2D6D-1402-4074-81FC-65FAC87E3091>