Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Jan 2025 09:01:01 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        FUKAUMI Naoki <naoki@radxa.com>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Radxa Orion O6
Message-ID:  <087C4A9F-288B-40EA-BE1B-ACFD32C86DF2@yahoo.com>
In-Reply-To: <EDDF572D3560B2F6%2Bc4a27a6d-9a19-40df-9eef-42bbb4e9aa39@radxa.com>
References:  <EDDF572D3560B2F6%2Bc4a27a6d-9a19-40df-9eef-42bbb4e9aa39@radxa.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jan 18, 2025, at 20:57, FUKAUMI Naoki <naoki@radxa.com> wrote:

> I'm trying to boot FreeBSD/arm64 on a Radxa Orion O6.
>=20
> UEFI has a "O/S Hardware Description Selection" menu where I can =
choose "Device Tree" or "ACPI". "ACPI" allows me to boot a mainline =
Linux kernel.
>=20
> With "ACPI" I can use the serial console with EFI loader, but the =
kernel output only shows up on the display after the kernel is loaded.

My guess is that there is something that needs to be added to
/boot/loader.conf to get the display of the kernel output.
But I'm not expert at such and currently do not have access
to the FreeBSD systems that I normally do.

> ----
> Consoles: EFI console
>    Reading loader env vars from /efi/freebsd/loader.env
> Setting currdev to disk1p1:
> FreeBSD/arm64 EFI loader, Revision 3.0
> (Thu Jan 16 06:56:52 UTC 2025 root@releng3.nyi.freebsd.org)
>=20
>   Command line arguments: loader.efi
>   Image base: 0x47ab5a000
>   EFI version: 2.70
>   EFI Firmware: EDK II (rev 1.00)
>   Console: efi (0x1000)
>   Load Path: \EFI\BOOT\BOOTAA64.EFI
>   Load Device: =
VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,00801D090000000000)/U
> =
SB(0x1,0x0)/HD(1,GPT,009521E2-D3EE-11EF-81EA-0CC47AD8B808,0x22,0x10418)
>   BootCurrent: 0003
>   BootOrder: 0000 0001 0002 0003[*]
>   BootInfo Path: =
VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,00801D090000000000)
> /USB(0x1,0x0)
> Ignoring Boot0003: Only one DP found
> Trying ESP: =
VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,00801D090000000000)/USB(0
> x1,0x0)/HD(1,GPT,009521E2-D3EE-11EF-81EA-0CC47AD8B808,0x22,0x10418)
> Setting currdev to disk1p1:
> Trying: =
VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,00801D090000000000)/USB(0x1,0
> x0)/HD(2,GPT,009521EB-D3EE-11EF-81EA-0CC47AD8B808,0x1043A,0x283540)
> Setting currdev to disk1p2:
> Loading /boot/defaults/loader.conf
> Loading /boot/defaults/loader.conf
> Loading /boot/device.hints
> Loading /boot/loader.conf
> Loading /boot/loader.conf.d/rtw8922a.conf
> Loading /boot/loader.conf.d/rtw8851b.conf
> Loading /boot/loader.conf.d/rtw8852c.conf
> Loading /boot/loader.conf.d/rtw8703b.conf
> Loading /boot/loader.conf.d/rtw8852b.conf
> Loading /boot/loader.conf.d/rtw8723d.conf
> Loading /boot/loader.conf.d/rtw8822c.conf
> Loading /boot/loader.conf.d/rtw8821c.conf
> Loading /boot/loader.conf.d/rtw8822b.conf
> Loading /boot/loader.conf.d/rtw8852a.conf
> Loading /boot/loader.conf.local
> ?c/
> -  ______               ____   _____ _____
>  |  ____|             |  _ \ / ____|  __ \
>  | |___ _ __ ___  ___ | |_) | (___ | |  | |
>  |  ___| '__/ _ \/ _ \|  _ < \___ \| |  | |
>  | |   | | |  __/  __/| |_) |____) | |__| |
>  | |   | | |    |    ||     |      |      |
>  |_|   |_|  \___|\___||____/|_____/|_____/
>=20
> /-------- Welcome to FreeBSD ----------\  ```                        `
> |                                      | s` `.....---.......--.```   =
-/
> |  1. Boot Installer [Enter]           | +o   .--`         /y:`      =
+.
> |  2. Boot Single user                 |  yo`:.            :o      `+-
> |  3. Escape to loader prompt          |   y/               -/`   -o/
> |  4. Reboot                           |  .-                  ::/sy+:.
> |  5. Cons: Serial                     |  /                     `--  /

Does there a UART based serial console? Or is there
a video console? Or are both possible?

> |                                      | `:                          =
:`
> |  Kernel:                             | `:                          =
:`
> |  6. kernel (1 of 1)                  |  /                          /
> |                                      |  .-                        -.
> |  Options:                            |   --                      -.
> |  7. Boot Options                     |    `:`                  `:`
> |                                      |      .--             `--.
> \--------------------------------------/         .---.....----.
> Loading kernel...seconds. [Space] to pause
> /boot/kernel/kernel text=3D0x318 text=3D0x99d0f8 text=3D0x2c9ca0 =
data=3D0x17f8e0 data=3D0x
> 0+0x371000 0x8+0x16f1b8+0x8+0x19fc8a|
> Loading configured modules...
> can't find '/etc/hostid'
> can't find '/boot/entropy'
> Loading splash ok
> No valid device tree blob found!
> WARNING! Trying to fire up the kernel, but no device tree blob found!

The above 2 lines are normal for a UEFI/AACPI boot.
They do indicate that it was not an Device Tree based boot.

> EFI framebuffer information:
> addr, size     0x84800000, 0x7e9000
> dimensions     1920 x 1080
> stride         1920
> masks          0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000
> ----
>=20
> Here is a screenshot on the display:
> =
https://drive.google.com/file/d/1pa0Uv3FONpsyVyt3QfU_1CzRSYW2cita/view?usp=
=3Dsharing
>=20
> Using the "Device Tree" I was able to use both the serial console and =
the display and boot the installer. Please see dmesg below.

That later output indicates an UEFI/ACPI boot instead of Device Tree.
For example:

. . .
ACPI: IORT: Dropping unhandled type 6
. . .
acpi0: <CIXTEK SKY1EDK2>
acpi0: Power Button (fixed)
acpi0: Sleep Button (fixed)
acpi0: Could not update all GPEs: AE_NOT_CONFIGURED
. . .

and there are lots more examples of "acpi" references in the output,
30+ references counting the ones quoted above.

> But all pcib are not configured.

Looks like it always reported:

pcib0: could not allocate memory.

A verbose boot output would likely be handy for someone that
knows what they are doing for ACPI contexts.

> Could you please give me some advice?
>=20
> Best regards,
>=20
> --=20
> FUKAUMI Naoki
> Radxa Computer (Shenzhen) Co., Ltd.
>=20
> ---<<BOOT>>---
> GDB: debug ports: uart
> GDB: current port: uart
> KDB: debugger backends: ddb gdb
> KDB: current backend: ddb
> Copyright (c) 1992-2025 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, =
1994
>    The Regents of the University of California. All rights reserved.
> FreeBSD is a registered trademark of The FreeBSD Foundation.
> FreeBSD 15.0-CURRENT #0 main-n274800-054c5ddf587a: Thu Jan 16 07:04:03 =
UTC 2025
>=20
> =
root@releng3.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC =
arm64
> FreeBSD clang version 19.1.5 (https://github.com/llvm/llvm-project.git =
llvmorg-19.1.5-0-gab4b5a2db582)
> WARNING: WITNESS option enabled, expect reduced performance.
> VT(efifb): resolution 1920x1080
> module scmi already present!
> real memory  =3D 16996294656 (16208 MB)
> avail memory =3D 15773601792 (15042 MB)
> Starting CPU 1 (0)
> Starting CPU 2 (100)
> Starting CPU 3 (200)
> Starting CPU 4 (300)
> Starting CPU 5 (400)
> Starting CPU 6 (500)
> Starting CPU 7 (600)
> Starting CPU 8 (700)
> Starting CPU 9 (800)
> Starting CPU 10 (900)
> Starting CPU 11 (b00)
> FreeBSD/SMP: Multiprocessor System Detected: 12 CPUs
> arc4random: WARNING: initial seeding bypassed the cryptographic random =
device because it was not yet seeded and the knob =
'bypass_before_seeding' was enabled.
> random: entropy device external interface
> ACPI: IORT: Dropping unhandled type 6
> kbd0 at kbdmux0
> acpi0: <CIXTEK SKY1EDK2>
> acpi0: Power Button (fixed)
> acpi0: Sleep Button (fixed)
> acpi0: Could not update all GPEs: AE_NOT_CONFIGURED
> psci0: <ARM Power State Co-ordination Interface Driver> on acpi0
> smccc0: <ARM SMCCC v1.2> on psci0
> gic0: <ARM Generic Interrupt Controller v3.0> iomem =
0xe010000-0xe01ffff,0xe090000-0xe38ffff on acpi0
> its0: <ARM GIC Interrupt Translation Service> mem 0xe050000-0xe06ffff =
on gic0
> generic_timer0: <ARM Generic Timer> irq 133,134,135,136 on acpi0
> Timecounter "ARM MPCore Timecounter" frequency 1000000000 Hz quality =
1000
> Event timer "ARM MPCore Eventtimer" frequency 1000000000 Hz quality =
1000
> smbios0: <System Management BIOS>
> smbios0: Version: 3.0
> pmu0: <Performance Monitoring Unit> on acpi0
> uart0: <PrimeCell UART (PL011)> iomem 0x40b0000-0x40bffff irq 0 on =
acpi0
> uart0: debug port (115200,n,8,1)
> uart1: <PrimeCell UART (PL011)> iomem 0x40c0000-0x40cffff irq 1 on =
acpi0
> uart2: <PrimeCell UART (PL011)> iomem 0x40d0000-0x40dffff irq 2 on =
acpi0
> uart2: console (115200,n,8,1)
> acpi_tz0: <Thermal Zone> on acpi0
> pcib0: <Generic PCI host controller> on acpi0
> pcib0: could not allocate memory.
> device_attach: pcib0 attach returned 6
> pcib0: <Generic PCI host controller> on acpi0
> pcib0: could not allocate memory.
> device_attach: pcib0 attach returned 6
> pcib0: <Generic PCI host controller> on acpi0
> pcib0: could not allocate memory.
> device_attach: pcib0 attach returned 6
> pcib0: <Generic PCI host controller> on acpi0
> pcib0: could not allocate memory.
> device_attach: pcib0 attach returned 6
> xhci0: <Generic USB 3.0 controller> iomem 0x9018000-0x901ffff irq 72 =
on acpi0
> xhci0: 64 bytes context size, 64-bit DMA
> usbus0 on xhci0
> xhci1: <Generic USB 3.0 controller> iomem 0x90f8000-0x90fffff irq 73 =
on acpi0
> xhci1: 64 bytes context size, 64-bit DMA
> usbus1 on xhci1
> xhci2: <Generic USB 3.0 controller> iomem 0x91d8000-0x91dffff irq 74 =
on acpi0
> xhci2: 64 bytes context size, 64-bit DMA
> usbus2 on xhci2
> xhci3: <Generic USB 3.0 controller> iomem 0x91e8000-0x91effff irq 75 =
on acpi0
> xhci3: 64 bytes context size, 64-bit DMA
> usbus3 on xhci3
> xhci4: <Generic USB 3.0 controller> iomem 0x9268000-0x926ffff irq 76 =
on acpi0
> xhci4: 64 bytes context size, 64-bit DMA
> usbus4 on xhci4
> xhci5: <Generic USB 3.0 controller> iomem 0x9298000-0x929ffff irq 77 =
on acpi0
> xhci5: 64 bytes context size, 64-bit DMA
> usbus5 on xhci5
> xhci6: <Generic USB 3.0 controller> iomem 0x92c8000-0x92cffff irq 78 =
on acpi0
> xhci6: 64 bytes context size, 64-bit DMA
> usbus6 on xhci6
> xhci7: <Generic USB 3.0 controller> iomem 0x92f8000-0x92fffff irq 79 =
on acpi0
> xhci7: 64 bytes context size, 64-bit DMA
> usbus7 on xhci7
> battery0: <ACPI Control Method Battery> on acpi0
> acpi_tz1: <Thermal Zone> on acpi0
> acpi_button0: <Power Button> on acpi0
> acpi_lid0: <Control Method Lid Switch> on acpi0
> acpi_acad0: <AC Adapter> on acpi0
> cpu0: <ACPI CPU> on acpi0
> armv8crypto0: <AES-CBC,AES-XTS,AES-GCM>
> Timecounters tick every 1.000 msec
> CPU  0: ARM Unknown CPU r0p1 (midr: 410fd811) affinity: 10  0
>                   Cache Type =3D <IDC,64 byte CWG,64 byte ERG,64 byte =
D-cacheline,PIPT I-cache,64 byte I-cacheline,0x400000000>
> Instruction Set Attributes 0 =3D =
<TLBI-OSR,CondM-8.5,FHM,DP,SM4,SM3,SHA3,RDM,Atomic,CRC32,SHA2+SHA512,SHA1,=
AES+PMULL>
> Instruction Set Attributes 1 =3D =
<XS,I8MM,DGH,BF16,PredInv,SB,FRINTTS,RCPC-8.4,FCMA,JSCVT,DCCVADP>
> Instruction Set Attributes 2 =3D <APA3 FPAC+Combined,GPA3,Unknown =
WFxT(2),0x1000000>
> usbus0: 5.0Gbps Super Speed USB v3.0
> usbus1: 5.0Gbps Super Speed USB v3.0
> usbus2: 5.0Gbps Super Speed USB v3.0
> usbus3: 5.0Gbps Super Speed USB v3.0
> usbus4: 5.0Gbps Super Speed USB v3.0
>         Processor Features 0 =3D =
<CSV3,CSV2_2,PSTATE.DIT,AMUv1,MPAM,SEL2,SVE,RAS v8.4,GIC =
4.1,AdvSIMD+HP,FP+HP,EL3,EL2,EL1,EL0>
>         Processor Features 1 =3D <MPAM p1,MTE3,PSTATE.SSBS MSR,BTI>
>         Processor Features 2 =3D <>
>      Memory Model Features 0 =3D <ECV+CNTHCTL,FGT,S2 TGran4,S2 =
TGran64,S2 TGran16,TGran4,TGran64,TGran16,SNSMem,BigEnd,16bit ASID,1TB =
PA>
>      Memory Model Features 1 =3D <nTLBPA,AFP,HCX,ETS,XNX,Unknown =
PAN(3),LO,HPD+TTPBHA,VH,16bit VMID,HAF+DS,0x1000000000000000>
>      Memory Model Features 2 =3D <E0PD,EVT-8.5,BBM level =
2,TTL,FWB,IDS,AT,ST,64bit CCIDX,48bit VA,IESB,UAO,CnP>
>      Memory Model Features 3 =3D <>
>      Memory Model Features 4 =3D <>
>             Debug Features 0 =3D <HPMN0,MTPMU res0,TraceBuffer,Trace =
v8.4,SPEv1p2,2 CTX BKPTs,4 Watchpoints,6 =
Breakpoints,PMUv3p7,Trace,Debugv8p4>
>             Debug Features 1 =3D <>
>         Auxiliary Features 0 =3D <>
>         Auxiliary Features 1 =3D <>
>               SVE Features 0 =3D =
<I8MM,SM4,SHA3,BF16,BitPerm,AES+PMULL,SVE2>
> AArch32 Instruction Set Attributes 5 =3D <>
> AArch32 Media and VFP Features 0 =3D <>
> AArch32 Media and VFP Features 1 =3D <>
> CPU  1: ARM Unknown CPU r0p1 (midr: 410fd801) affinity:  0  0
>      Memory Model Features 1 =3D =
<nTLBPA,AFP,HCX,ETS,XNX,SpecSEI,Unknown PAN(3),LO,HPD+TTPBHA,VH,16bit =
VMID,HAF+DS,0x1000000000000000>
>             Debug Features 0 =3D <HPMN0,MTPMU res0,TraceBuffer,Trace =
v8.4,2 CTX BKPTs,4 Watchpoints,6 Breakpoints,PMUv3p7,Trace,Debugv8p4>
> CPU  2: ARM Unknown CPU r0p1 (midr: 410fd801) affinity:  1  0
> CPU  3: ARM Unknown CPU r0p1 (midr: 410fd801) affinity:  2  0
> CPU  4: ARM Unknown CPU r0p1 (midr: 410fd801) affinity:  3  0
> CPU  5: ARM Unknown CPU r0p1 (midr: 410fd811) affinity:  4  0
>      Memory Model Features 1 =3D <nTLBPA,AFP,HCX,ETS,XNX,Unknown =
PAN(3),LO,HPD+TTPBHA,VH,16bit VMID,HAF+DS,0x1000000000000000>
>             Debug Features 0 =3D <HPMN0,MTPMU res0,TraceBuffer,Trace =
v8.4,SPEv1p2,2 CTX BKPTs,4 Watchpoints,6 =
Breakpoints,PMUv3p7,Trace,Debugv8p4>
> CPU  6: ARM Unknown CPU r0p1 (midr: 410fd811) affinity:  5  0
> CPU  7: ARM Unknown CPU r0p1 (midr: 410fd811) affinity:  6  0
> CPU  8: ARM Unknown CPU r0p1 (midr: 410fd811) affinity:  7  0
> CPU  9: ARM Unknown CPU r0p1 (midr: 410fd811) affinity:  8  0
> CPU 10: ARM Unknown CPU r0p1 (midr: 410fd811) affinity:  9  0
> CPU 11: ARM Unknown CPU r0p1 (midr: 410fd811) affinity: 11  0
> gic0: using for IPIs
> Release APs...done
> TCP_ratelimit: Is now initialized
> usbus5: 5.0Gbps Super Speed USB v3.0
> usbus6: 5.0Gbps Super Speed USB v3.0
> usbus7: 5.0Gbps Super Speed USB v3.0
> WARNING: WITNESS option enabled, expect reduced performance.
> Trying to mount root from ufs:/dev/ufs/FreeBSD_Install [ro,noatime]...
> ugen4.1: <Generic XHCI root HUB> at usbus4
> ugen3.1: <Generic XHCI root HUB> at usbus3
> ugen1.1: <Generic XHCI root HUB> at usbus1
> ugen0.1: <Generic XHCI root HUB> at usbus0
> ugen2.1: <Generic XHCI root HUB> at usbus2
> ugen7.1: <Generic XHCI root HUB> at usbus7
> ugen6.1: <Generic XHCI root HUB> at usbus6
> uhub0 on usbus4
> uhub1 on usbus6
> uhub2 on usbus2
> uhub3 on usbus1
> uhub4 on usbus7
> uhub0: <Generic XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on =
usbus4
> uhub5 on usbus0
> uhub3: <Generic XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on =
usbus1
> uhub2: <Generic XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on =
usbus2
> uhub5: <Generic XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on =
usbus0
> uhub4: <Generic XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on =
usbus7
> uhub6 on usbus3
> uhub1: <Generic XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on =
usbus6
> ugen5.1: <Generic XHCI root HUB> at usbus5
> uhub6: <Generic XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on =
usbus3
> uhub7 on usbus5
> uhub7: <Generic XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on =
usbus5
> uhub0: 1 port with 1 removable, self powered
> uhub1: 1 port with 1 removable, self powered
> uhub7: 1 port with 1 removable, self powered
> uhub4: 1 port with 1 removable, self powered
> uhub3: 2 ports with 2 removable, self powered
> uhub5: 2 ports with 2 removable, self powered
> uhub2: 2 ports with 2 removable, self powered
> uhub6: 2 ports with 2 removable, self powered
> Root mount waiting for: usbus2
> usb_msc_auto_quirk: UQ_MSC_NO_GETMAXLUN set for USB mass storage =
device Transcend ESD310C (0x2174:0x2100)
> ugen2.2: <Transcend ESD310C> at usbus2
> umass0 on uhub2
> umass0: <Transcend ESD310C, class 0/0, rev 3.20/1.00, addr 1> on =
usbus2
> umass0:  SCSI over Bulk-Only; quirks =3D 0x0100
> umass0:0:0: Attached to scbus0
> mountroot: waiting for device /dev/ufs/FreeBSD_Install...
> da0 at umass-sim0 bus 0 scbus0 target 0 lun 0
> da0: <ESD310C TS256GESD310C 1000> Fixed Direct Access SPC-4 SCSI =
device
> da0: Serial Number 9E290224I91448890072
> da0: 400.000MB/s transfers
> da0: 244198MB (500118192 512 byte sectors)
> da0: quirks=3D0x2<NO_6_BYTE>
> GEOM: da0: the secondary GPT header is not in the last LBA.
> GEOM: diskid/DISK-9E290224I91448890072: the secondary GPT header is =
not in the last LBA.
> Warning: no time-of-day clock registered, system time will not be set =
accurately
> GEOM: diskid/DISK-9E290224I91448890072: the secondary GPT header is =
not in the last LBA.
> GEOM: diskid/DISK-9E290224I91448890072: the secondary GPT header is =
not in the last LBA.
> random: randomdev_wait_until_seeded unblock wait
> random: randomdev_wait_until_seeded unblock wait
> random: unblocking device.
> lo0: link state changed to UP


=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?087C4A9F-288B-40EA-BE1B-ACFD32C86DF2>