Missing in action during arm64/aarch64 builds: no pine64_plus.dtb to be found from buildkernel, installkernel, or u-boot-pine64
Mark Millard
markmi at dsl-only.net
Mon Sep 11 08:48:59 UTC 2017
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
More information about the freebsd-current
mailing list