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: Mon, 11 Sep 2017 01:48:49 -0700
On 2017-Sep-11, at 12:56 AM, Emmanuel Vadot <manu at bidouilliste.com> wrote:

> On Sat, 9 Sep 2017 16:35:11 -0700
> Mark Millard <markmi at dsl-only.net> wrote:
> 
>> The context here is head -r323246 amd64 -> arm64/aarch64
>> cross build activity.
>> 
>> From installkernel :
>> 
>> # find /usr/obj/DESTDIRs/clang-cortexA53-installkernel/ -name "*.dtb" -print
>> # 
>> 
>> From buildkernel :
>> 
>> # find /usr/obj/cortexA53_clang/arm64.aarch64/ -name "*.dtb" -print
>> # 
>> 
>> From installing u-boot-pine64 :
>> 
>> # ls -lTd /usr/local/share/u-boot/u-boot-pine64/*
>> -rw-r--r--  1 root  wheel     125 Sep  6 00:49:44 2017 /usr/local/share/u-boot/u-boot-pine64/README
>> -rw-r--r--  1 root  wheel  505940 Sep  6 00:49:43 2017 /usr/local/share/u-boot/u-boot-pine64/u-boot-sunxi-with-spl.bin
>> 
>> 
>> As stands the file must be manually produced.
> 
> Since the latest update of u-boot-pine64 the dtb is included in u-boot.
> U-Boot loads it and pass it to boot1.efi.

Cool . . .

Trying:

# mv /boot/efi/dtb/pine64_plus.dtb /boot/efi/dtb/no_pine64_plus.dtb
# shutdown -r now

does reboot just fine. As does:

# rm -fr /boot/efi/dtb
# shutdown -r now

A cold  boot also boots into the kernel.

So no .dts or .dtb is needed for the Pine64+ 2GB .

For reference after this:

# mount
/dev/label/PINE642GAroot on / (ufs, NFS exported, local, noatime, soft-updates, nfsv4acls)
devfs on /dev (devfs, local, multilabel)
/dev/label/PINE642GAboot on /boot/efi (msdosfs, local, noatime)

# find /boot/efi
/boot/efi
/boot/efi/startup.nsh
/boot/efi/EFI
/boot/efi/EFI/BOOT
/boot/efi/EFI/BOOT/bootaa64.efi
/boot/efi/System Volume Information
/boot/efi/System Volume Information/WPSettings.dat


I have no clue if this hidden dtb contributes to the
USB problem(s) or not:

. . .
cryptosoft0: <software crypto>
NULL mp in getnewvnode(9), tag crossmp
Timecounters tick every 1.000 msec
usbus0: 12Mbps Full Speed USB v1.0
ugen0.1: <Generic OHCI root HUB> at usbus0
uhub0: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
uhub_attach: getting USB 2.0 HUB descriptor failed,error=USB_ERR_SHORT_XFER
device_attach: uhub0 attach returned 6
usbus0: Root HUB problem, error=USB_ERR_NO_ROOT_HUB
mmcsd0: 32GB <SDHC SE32G 8.0 SN 09781303 MFG 07/2017 by 3 SD> at mmc0 50.0MHz/4bit/65535-block
. . .

My old -r308??? context not only could use
usb devices but had the root file system on
a USB SSD. But modernizing made plugged in
USB devices not show up.


>> crochet goes to the trouble to have logic to
>> build and install pine64_plus.dtb (based on
>> arm64/pine64_plus.dts ).

Looks like crochet does not need to produce the
.dtb .

It is not even clear that if a dtb/pine64_plus.dtb
exists that it is used for anything.

>> Is pine64_plus.dtb required for the likes of
>> Pine64+ 2GB's?

Now answered as: no.

>> If yes: should it be automatically
>> built and installed someplace for arm64/aarch64
>> builds (even if more manual steps are required to
>> have the final placement on the Pine64 media)?


===
Mark Millard
markmi at  dsl-only.net
Received on Mon Sep 11 2017 - 06:48:59 UTC

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