Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 May 2021 15:53:17 -0700
From:      Mark Millard via arm <arm@freebsd.org>
To:        Emmanuel Vadot <manu@bidouilliste.com>
Cc:        "freebsd-arm@freebsd.org" <arm@freebsd.org>
Subject:   Re: /usr/local/share/u-boot/u-boot-orangepi-plus-2e/README out of date ;  orangepi-plus-2e and RPi2 v1.1 get "Kernel args: (null)"
Message-ID:  <99906599-273E-4216-A41E-DE642F33E392@yahoo.com>
In-Reply-To: <3C04FB55-4A26-48C8-833F-E4AC84DC4F78@yahoo.com>
References:  <40298C05-5F50-4437-B15B-7A02EA070EAE.ref@yahoo.com> <40298C05-5F50-4437-B15B-7A02EA070EAE@yahoo.com> <20210513111517.86336633bae9568d8599f229@bidouilliste.com> <B1C79772-0C68-479B-9A27-6F8CF5037724@yahoo.com> <20210513124050.47714a83f876d67a80e28080@bidouilliste.com> <CF0EE6DE-6E9D-4011-892F-6F546325AEC9@yahoo.com> <F28E5A50-5AFD-4D02-B8D1-62AD3E26EFDC@yahoo.com> <3C04FB55-4A26-48C8-833F-E4AC84DC4F78@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-May-13, at 12:03, Mark Millard <marklmi at yahoo.com> wrote:

> On 2021-May-13, at 10:53, Mark Millard <marklmi at yahoo.com> wrote:
>=20
>> On 2021-May-13, at 04:08, Mark Millard <marklmi at yahoo.com> wrote:
>>=20
>>> On 2021-May-13, at 03:40, Emmanuel Vadot <manu at bidouilliste.com> =
wrote:
>>>>=20
>>>> On Thu, 13 May 2021 02:57:21 -0700
>>>> Mark Millard <marklmi@yahoo.com> wrote:
>>>>=20
>>>>>> On 2021-May-13, at 02:15, Emmanuel Vadot <manu at =
bidouilliste.com> wrote:
>>>>>>=20
>>>>>> On Thu, 13 May 2021 01:52:08 -0700
>>>>>> Mark Millard via freebsd-arm <freebsd-arm@freebsd.org> wrote:
>>>>>>=20
>>>>>>> The updated armv7 U-Boot ports now install the likes of:
>>>>>>>=20
>>>>>>> # ls -Tldt /usr/local/share/u-boot/u-boot-orangepi-plus-2e/*
>>>>>>> -rw-r--r--  1 root  wheel     504 May 12 07:01:10 2021 =
/usr/local/share/u-boot/u-boot-orangepi-plus-2e/README
>>>>>>> -rw-r--r--  1 root  wheel      66 May 12 07:01:10 2021 =
/usr/local/share/u-boot/u-boot-orangepi-plus-2e/metadata
>>>>>>> -rw-r--r--  1 root  wheel  490924 May 12 07:01:10 2021 =
/usr/local/share/u-boot/u-boot-orangepi-plus-2e/u-boot-sunxi-with-spl.bin
>>>>>>>=20
>>>>>>> # ls -Tldt /usr/local/share/u-boot/u-boot-rpi2/*
>>>>>>> -rw-r--r--  1 root  wheel      767 May 12 06:39:07 2021 =
/usr/local/share/u-boot/u-boot-rpi2/README
>>>>>>> -rw-r--r--  1 root  wheel       44 May 12 06:39:07 2021 =
/usr/local/share/u-boot/u-boot-rpi2/metadata
>>>>>>> -rw-r--r--  1 root  wheel   475420 May 12 06:39:07 2021 =
/usr/local/share/u-boot/u-boot-rpi2/u-boot.bin
>>>>>>>=20
>>>>>>> So, for example, no boot.scr files ro go with ubldr.bin
>>>>>>> any more.
>>>>>>>=20
>>>>>>> But the u-boot-orangepi-plus-2e/README says . . .
>>>>>>>=20
>>>>>>> QUOTE
>>>>>>> This version is patched so that:
>>>>>>> * API features are enabled.
>>>>>>> * A boot.scr (U-Boot script) that loads ubldr.bin and execute it =
is included
>>>>>>> END QUOTE
>>>>>>>=20
>>>>>>> The u-boot-rpi2/README says . . .
>>>>>>>=20
>>>>>>> QUOTE
>>>>>>> This version is patched so that:
>>>>>>> * ELF and API features are enabled.
>>>>>>> * The distroboot command knows how to load FreeBSD loader(8)
>>>>>>> * By default, it loads ubldr.bin (PIE) from file ubldr.bin on =
the FAT
>>>>>>> partition to address ${kernel_addr_r}, and launches it. If =
ubldr.bin is
>>>>>>> not found, it falls back on ubldr
>>>>>>> END QUOTE
>>>>>>>=20
>>>>>>=20
>>>>>> Oups, I'll update the README, thanks for noticing this.
>>>>>=20
>>>>> FYI: I only looked at examples for which I've access
>>>>> to operational hardware.
>>>>>=20
>>>>>>> But for the orangepi-plus-2e that I have access to I
>>>>>>> now get:
>>>>>>>=20
>>>>>>> . . .
>>>>>>> Hit [Enter] to boot immediately, or any other key for command =
prompt.
>>>>>>> Booting [/boot/kernel/kernel]...              =20
>>>>>>> Using DTB provided by EFI at 0x47eea000.
>>>>>>> Kernel entry at 0xb2e00200...
>>>>>>> Kernel args: (null)
>>>>>>=20
>>>>>> This is the symptoms when caches are not flushed.
>>>>>> U-Boot distroboot first scans for extlinux.conf, then uboot =
script and
>>>>>> then EFI. So this probably means that you still have a boot.scr =
on the
>>>>>> ESP, try removing that and make sure that you have the efi loader =
too
>>>>>> in efi/boot/bootarm.efi.
>>>>>=20
>>>>> That is not the issue . . . showing more context
>>>>> from the same recorded boot attempts (blank lines
>>>>> and a huge number of escape sequences removed, and
>>>>> using ". . ." for other omitted text):
>>>>>=20
>>>>> U-Boot 2021.04 (Apr 09 2021 - 19:24:51 +0000) Allwinner Technology
>>>>> CPU:   Allwinner H3 (SUN8I 1680)
>>>>> Model: Xunlong Orange Pi Plus 2E
>>>>> DRAM:  2 GiB
>>>>> . . .
>>>>> =08FreeBSD/arm EFI loader, Revision 1.1
>>>>> Command line arguments: l
>>>>> Image base: 0xb8dd5000
>>>>> EFI version: 2.80
>>>>> EFI Firmware: Das U-Boot (rev 8225.1024)
>>>>> Console: comconsole (0)
>>>>> Load Path: /efi\boot\bootarm.efi
>>>>> . . .
>>>>> Found EFI removable media binary efi/boot/bootarm.efi
>>>>> 1396100 bytes read in 36 ms (37 MiB/s)
>>>>> Booting /efi\boot\bootarm.efi
>>>>> Consoles: EFI console =20
>>>>> |=08/=08-=08\=08|=08/=08-=08\=08|=08/=08-=08\=08|=08/=08-=08\=08|=08=
/=08-=08\=08|=08/=08-=08\=08|=08/=08-=08\=08    Reading loader env vars =
from /efi/freebsd/loader.env
>>>>> . . .
>>>>> Hit [Enter] to boot immediately, or any other key for command =
prompt.
>>>>> Booting [/boot/kernel/kernel]...              =20
>>>>> Using DTB provided by EFI at 0x47eea000.
>>>>> Kernel entry at 0xb2e00200...
>>>>> Kernel args: (null)
>>>>=20
>>>> I cannot reproduce this here. Either by creating an image on the
>>>> sdcard by hand (I usually only netboot my boards so the sdcard have
>>>> only u-boot and a fat partition so u-boot can save its env) or by
>>>> taking FreeBSD-13.0-RELEASE-arm-armv7-GENERICSD.img and adding
>>>> u-boot on it.
>>>> This was tested on an orangepi-one board (so same SoC, Allwinner =
H3)
>>>> and on a BeagleBoneBlack.
>>>> I suggest to try with a clean install from
>>>> FreeBSD-13.0-RELEASE-arm-armv7-GENERICSD.img just to be sure.
>>>=20
>>> In my context:
>>>=20
>>> The RPi2 v1.1 has a microsd card with just bootcode.bin .
>>> The rest is from the USB3 SSD media. (Such worked before
>>> the U-Boot update, for example.)
>>>=20
>>> The orangepi-plus-2e has a microsd card with just its
>>> (now updated) U-Boot and empty file systems. The rest
>>> is from the USB3 SSD media.
>>>=20
>>> It is the same USB3 SSD boot media used for both.
>>>=20
>>> It is the same media I've been using right along,
>>> just updated to remove the old U-Boot related
>>> extra materials and to copy over the new U-Boot
>>> for the RPi2 V1.1.
>>>=20
>>> The media has a non-debug head [so: 14] build, based
>>> on:
>>>=20
>>> merge-base: 7381bbee29df959e88ec59866cf2878263e7f3b2
>>> merge-base: CommitDate: 2021-03-12 20:29:42 +0000
>>> 7381bbee29df (freebsd/main, freebsd/HEAD, pure-src, main) cam: Run =
all XPT_ASYNC ccbs in a dedicated thread
>>> n245444 (--first-parent --count for merge-base)
>>>=20
>>> It has been working the whole time since then until
>>> this change. It is a build with code generation
>>> tuned for cortex-A7, as is my normal for my own
>>> builds for armv7.
>>>=20
>>> I need to get some sleep. So it will be some time
>>> before I try any other forms of experiments.
>>=20
>> Mixed results for starting with a modified
>> FreeBSD-13.0-RELEASE-arm-armv7-GENERICSD.img microsd
>> card:
>>=20
>> orangepi-plus-2e booted from the microsd card.
>=20
> I took the microsd card and put it in a USB media
> reader and plugged it into the USB port and used the=20
> microsd card with only U-Boot on it in the microsd
> card slot. So, in essence, a test of USB booting
> from as close to the same media content as I can
> get.
>=20
> It failed in the same way as I previously reported
> for the orangepi-plus-2e (which was also a form of
> USB booting --but with my historical USB SSD media
> that has a main [so: 14] non-debug build).
>=20
> The only software that I had built was the U-Boots
> themselves that I either dd'd or cp'd as appropriate.
> EFI/BOOT/* was unchanged, as was FreeBSD's kernel
> and world.
>=20
> Somehow the type of the device matters (despite the
> kernel being loaded from the device without
> complaints). Apparently the RPi2 v1.1 microsd card
> is a problematical type of device, like USB is for
> the orangepi-plus-2e. A definite regression overall.
>=20
>> rpi2 v1.1 failed the same way as before, including:
>>=20
>> Found EFI removable media binary efi/boot/bootarm.efi
>> 1403700 bytes read in 139 ms (9.6 MiB/s)
>> libfdt fdt_check_header(): FDT_ERR_BADMAGIC
>> Booting /efi\boot\bootarm.efi
>> Consoles: EFI console =20
>>=20
>> FYI, FreeBSD-13.0-RELEASE-arm64-aarch64-ROCK64.img includes
>> ubldr.bin :
>>=20
>> # ls -Tld /mnt/*
>> drwxr-xr-x  1 root  wheel     4096 Apr  9 00:05:26 2021 /mnt/EFI
>> -rwxr-xr-x  1 root  wheel   103488 Apr  8 20:59:46 2021 /mnt/MLO
>> -rwxr-xr-x  1 root  wheel    26745 Mar  3 05:29:56 2021 =
/mnt/bcm2709-rpi-2-b.dtb
>> -rwxr-xr-x  1 root  wheel    52456 Mar  3 05:29:56 2021 =
/mnt/bootcode.bin
>> -rwxr-xr-x  1 root  wheel       89 Apr  8 21:10:14 2021 =
/mnt/config.txt
>> drwxr-xr-x  1 root  wheel     8192 Apr  9 00:05:26 2021 /mnt/dtb
>> -rwxr-xr-x  1 root  wheel     7314 Mar  3 05:29:56 2021 =
/mnt/fixup.dat
>> -rwxr-xr-x  1 root  wheel     3187 Mar  3 05:29:56 2021 =
/mnt/fixup_cd.dat
>> -rwxr-xr-x  1 root  wheel    10298 Mar  3 05:29:56 2021 =
/mnt/fixup_db.dat
>> -rwxr-xr-x  1 root  wheel    10298 Mar  3 05:29:56 2021 =
/mnt/fixup_x.dat
>> drwxr-xr-x  1 root  wheel     4096 Apr  9 00:05:32 2021 /mnt/overlays
>> -rwxr-xr-x  1 root  wheel  2952960 Mar  3 05:29:56 2021 =
/mnt/start.elf
>> -rwxr-xr-x  1 root  wheel   793116 Mar  3 05:29:56 2021 =
/mnt/start_cd.elf
>> -rwxr-xr-x  1 root  wheel  4794472 Mar  3 05:29:56 2021 =
/mnt/start_db.elf
>> -rwxr-xr-x  1 root  wheel  3704808 Mar  3 05:29:56 2021 =
/mnt/start_x.elf
>> -rwxr-xr-x  1 root  wheel   467824 Apr  8 21:09:28 2021 =
/mnt/u-boot.bin
>> -rwxr-xr-x  1 root  wheel   716804 Apr  8 20:59:46 2021 =
/mnt/u-boot.img
>> -r-xr-xr-x  1 root  wheel   462412 Apr  9 00:00:00 2021 =
/mnt/ubldr.bin
>>=20
>> so I removed that and u-boot.img, and replaced u-boot.bin .
>>=20
>>>>> and:
>>>>>=20
>>>>> U-Boot 2021.04 (May 12 2021 - 13:36:42 +0000)
>>>>> DRAM:  948 MiB
>>>>> RPI 2 Model B (0xa21041)
>>>>> . . .
>>>>> =08FreeBSD/arm EFI loader, Revision 1.1
>>>>> Command line arguments: l
>>>>> Image base: 0x39df8000
>>>>> EFI version: 2.80
>>>>> EFI Firmware: Das U-Boot (rev 8225.1024)
>>>>> Console: comconsole (0)
>>>>> Load Path: /efi\boot\bootarm.efi
>>>>> . . .
>>>>> Found EFI removable media binary efi/boot/bootarm.efi
>>>>> 1396100 bytes read in 38 ms (35 MiB/s)
>>>>> libfdt fdt_check_header(): FDT_ERR_BADMAGIC
>>>>=20
>>>> This line doesn't looks good.
>>>=20
>>> Yea, I noticed it but have done no investigation
>>> as yet. (Only the RPi2 v1.1 that message. It is
>>> the one notable difference.)
>>>=20
>>>>> Booting /efi\boot\bootarm.efi
>>>>> Consoles: EFI console =20
>>>>> |=08/=08-=08\=08|=08/=08-=08\=08|=08/=08    Reading loader env =
vars from /efi/freebsd/loader.env
>>>>> . . .
>>>>> Hit [Enter] to boot immediately, or any other key for command =
prompt.
>>>>> Booting [/boot/kernel/kernel]...              =20
>>>>> Using DTB provided by EFI at 0x7ef6000.
>>>>> Kernel entry at 0x33e00200...
>>>>> Kernel args: (null)
>>>>>=20
>>>>> No *.scr files, no ubldr* files. Showing
>>>>> from the efi partition mounted on a Rock64:
>>>>>=20
>>>>> # find /mnt/dtb/ -print
>>>>> /mnt/dtb/
>>>>> /mnt/dtb/sun8i-h3-orangepi-plus2e.dtb
>>>>> /mnt/dtb/overlays
>>>>> /mnt/dtb/overlays/sun8i-h3-i2c0.dtbo
>>>>> /mnt/dtb/overlays/spigen-rpi2.dtbo
>>>>>=20
>>>>> # find /mnt/efi/ -print
>>>>> /mnt/efi/
>>>>> /mnt/efi/boot
>>>>> /mnt/efi/boot/bootarm.efi
>>>>>=20
>>>>> # ls -Tld /mnt/u*
>>>>> -rwxr-xr-x  1 root  wheel  475420 May 12 06:39:06 2021 =
/mnt/u-boot.bin
>>>>>=20
>>>>> # ls -Tld /mnt/*.scr
>>>>> ls: /mnt/*.scr: Invalid argument
>>>>>=20
>>>>> I'll not list the files from the RPi* firmware.
>>>>>=20
>>>>>=20
>>>>>>> and that is the last of the output.
>>>>>>>=20
>>>>>>> The RPi2 v1.1 is similar:
>>>>>>>=20
>>>>>>> Hit [Enter] to boot immediately, or any other key for command =
prompt.
>>>>>>> Booting [/boot/kernel/kernel]...              =20
>>>>>>> Using DTB provided by EFI at 0x7ef6000.
>>>>>>> Kernel entry at 0x33e00200...
>>>>>>> Kernel args: (null)
>>>>>>>=20
>>>>>>> and that is the last of the output.
>>>>=20

I do not know if the FreeBSD kernel has been depending
on some U-Boot initialization for root-on-USB and the
two no longer match or what.

But I've used a release/13.0.0.0 microsd card based
boot to get older U-Boot materials (Quarterly as it
turns out). Installing such got me back to having a
root-on-USB boot of the OPi+2e (other than the
mircosd card having the older U-Boot (2020.10 as it
turns out). Of course there is also the matching
boot.scr involved --but it also is on the USB SSD.
(Similarly reverted RPi2 U-Boot, other than needing
to switch boot.scr to match.)

After booting with the reverted U-Boot related
material:

# mount -onoatime -tmsdosfs /dev/mmcsd1s1 /mnt
# mount -onoatime /dev/mmcsd1s2a /media

# ls -Tla /mnt/
total 20
drwxr-xr-x   1 root  wheel  16384 Dec 31 16:00:00 1979 .
drwxr-xr-x  25 root  wheel    512 Dec 31 16:00:40 2009 ..

# ls -Tla /media/
total 60
drwxr-xr-x   2 root  wheel    512 May 24 15:43:19 2021 .
drwxr-xr-x  25 root  wheel    512 Dec 31 16:00:40 2009 ..
-rwxr-xr-x   1 root  wheel  52456 Apr 24 19:48:36 2021 bootcode.bin

The media is also set up for booting an RPi2 via
root-in-USB ( other than bootcode.bin ).

If FreeBSD and the more modern U-Boot were well matched
for USB support, I'd expect that this sort of thing would
work (no boot.scr needed).

For reference:

# ~/fbsd-based-on-what-freebsd-main.sh=20
FreeBSD OPiP2E_RPi2v11 14.0-CURRENT FreeBSD 14.0-CURRENT =
mm-src-n245445-def0058cc690 GENERIC-NODBG  arm armv7 1400005 1400005
def0058cc690 (HEAD -> mm-src) mm-src snapshot for mm's patched build in =
git context.
merge-base: 7381bbee29df959e88ec59866cf2878263e7f3b2
merge-base: CommitDate: 2021-03-12 20:29:42 +0000
7381bbee29df (freebsd/main, freebsd/HEAD, pure-src, main) cam: Run all =
XPT_ASYNC ccbs in a dedicated thread
n245444 (--first-parent --count for merge-base)

=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?99906599-273E-4216-A41E-DE642F33E392>