Re: Missing in action during arm64/aarch64 builds: no pine64_plus.dtb to be found from buildkernel, installkernel, or u-boot-pine64

From: Mark Millard <markmi_at_dsl-only.net>
Date: Sun, 10 Sep 2017 12:51:11 -0700
On 2017-Sep-10, at 10:26 AM, Tim Kientzle <tim at kientzle.com> wrote:

>> On Sep 9, 2017, at 4:35 PM, Mark Millard <markmi at dsl-only.net> wrote:
>> 
>> crochet goes to the trouble to have logic to
>> build and install pine64_plus.dtb (based on
>> arm64/pine64_plus.dts ).
>> 
> 
> I'm not sure about Pine64 in particular, but generally
> only the DTS file is actually required.

[Note:
I used crochet source code to figure out a set of manual
steps sufficient to produce a pine64_plus.dtb to copy to
the boot msdosfs file system.]

Some of the #include structure that the existing
pine64_plus.dts.dts depends on:

# grep "#include" /usr/src/sys /usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts
/usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts:#include "sun50i-a64-pine64-plus.dts"
/usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts:#include "a64.dtsi"
/usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts:#include <dt-bindings/gpio/gpio.h>

# grep "#include" /usr/src/sys /usr/src/sys/boot/fdt/dts/arm64/sun50i-a64-pine64-plus.dts
/usr/src/sys/boot/fdt/dts/arm64/sun50i-a64-pine64-plus.dts:#include "sun50i-a64-pine64-common.dtsi"

# grep "#include" /usr/src/sys /usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts
/usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts:#include "sun50i-a64-pine64-plus.dts"
/usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts:#include "a64.dtsi"
/usr/src/sys/boot/fdt/dts/arm64/pine64_plus.dts:#include <dt-bindings/gpio/gpio.h>

# grep "#include" /usr/src/sys /usr/src/sys/boot/fdt/dts/arm64/sun50i-a64-pine64-plus.dts
/usr/src/sys/boot/fdt/dts/arm64/sun50i-a64-pine64-plus.dts:#include "sun50i-a64-pine64-common.dtsi"

# grep "#include" /usr/src/sys /usr/src/sys/boot/fdt/dts/arm64/sun50i-a64-pine64-common.dtsi
/usr/src/sys/boot/fdt/dts/arm64/sun50i-a64-pine64-common.dtsi:#include "sun50i-a64.dtsi"

# grep "#include" /usr/src/sys /usr/src/sys/boot/fdt/dts/arm64/sun50i-a64.dtsi 
/usr/src/sys/boot/fdt/dts/arm64/sun50i-a64.dtsi:#include <dt-bindings/interrupt-controller/arm-gic.h>
/usr/src/sys/boot/fdt/dts/arm64/sun50i-a64.dtsi:#include <dt-bindings/pinctrl/sun4i-a10.h>

# grep "#include" /usr/src/sys /usr/src/sys/boot/fdt/dts/arm64/a64.dtsi 

(Yep: nothing for that last one.)

I would not guess that the full structure is a appropriate as a
substitute for the dtb/pine64_plus.dtb part of the msdosfs
partition for booting the Pine64+ 2GB :

# find /mnt -print
/mnt
/mnt/startup.nsh
/mnt/EFI
/mnt/EFI/BOOT
/mnt/EFI/BOOT/bootaa64.efi
/mnt/dtb
/mnt/dtb/pine64_plus.dtb
/mnt/System Volume Information
/mnt/System Volume Information/WPSettings.dat

# ls -lt /usr/local/share/u-boot/u-boot-pine64/u-boot-sunxi-with-spl.bin 
-rw-r--r--  1 root  wheel  505940 Sep  6 00:49 /usr/local/share/u-boot/u-boot-pine64/u-boot-sunxi-with-spl.bin

(*.bin dd'd appropriately.)

So there still seems to be a lack of appropriate .dt* material for
direct use/placement on the boot media. Instead manual extra steps
are required relative to *.dt* files.

> Crochet tries to provide a dtb file (converting the dts if necessary)
> partly for documentation and partly to make it easier to edit the
> device tree file.
> 
> This is especially convenient in cases where the
> original DTB file depends heavily on other include files;
> converting DTS to DTB gives you a fully standalone DTB
> file that can be edited (for example, to enable additional
> serial ports) and recompiled without having the full source
> tree available.

The above is the kind of context that the Pine64+'s
have.

It does not appear to me that the existing pine64_plus.dts
is set up for more direct use (even with other supporting
files).

> This is probably less important now that overlay DTBs are
> more commonly supported.

Whatever this is, it seems to not be in use for much (any?)
of the Pine64+ structuring of such things in head -r323246 .


===
Mark Millard
markmi at dsl-only.net
Received on Sun Sep 10 2017 - 17:51:15 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:13 UTC