Re: FYI: [My FreeBSD-12.0-CURRENT-arm64-aarch64.raw ] under qemu-system-aarch64 on odroid-c2 under UbuntuMate : [A combination that boots]

From: Mark Millard <markmi_at_dsl-only.net>
Date: Tue, 2 May 2017 03:37:03 -0700
On 2017-May-2, at 2:53 AM, Mark Millard <markmi_at_dsl-only.net> wrote:

> On 2017-Apr-30, at 10:15 AM, Mark Millard <markmi_at_dsl-only.net> wrote:
> 
>> On 2017-Apr-30, at 9:40 AM, Andrew Turner <andrew at fubar.geek.nz> wrote:
>> 
>>>> On 30 Apr 2017, at 12:02, Mark Millard <markmi at dsl-only.net> wrote:
>>>> . . .
>>> 
>>> No, the device tree blob comes from UEFI. It seems the current UEFI only provides the ACPI tables, and not a DTB.
>> 
>> So you are expecting that the older QEMU_EFI.fd I had
>> used before provided some sort of fairly generic dtb
>> (relative to qemu, fairly independent of the host
>> that was running qemu). Interesting. Thanks again.
>> . . .
>> qemu-system-aarch64 -m 1024M -enable-kvm -cpu host -M virt \
>> 	-bios QEMU_EFI.fd -nographic \
>> 	-drive format=raw,if=none,file=FreeBSD-12.0-CURRENT-arm64-aarch64-20170420-r317181.raw,id=hd0 \
>> 	-device virtio-blk-device,drive=hd0 \
>> 	-device virtio-net-device,netdev=net0 \
>> 	-netdev user,id=net0 \
>> 	-smp cpus=4
>> 
>> based on:
>> 
>> http://snapshots.linaro.org/components/kernel/leg-virt-tianocore-edk2-upstream/1917/QEMU-AARCH64/RELEASE_CLANG35/QEMU_EFI.fd
> 
> Using the following instead lead to booting
> all the way and being able to login:
> 
> https://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/QEMU_EFI.fd
> 
> So you were definitely correct.
> 
>> but this time based on my build of head -r317015 .
> 
> This combination seemed more stable than the one
> from back in 2016-Sept.
> 
> I strongly expect that the official snapshot would
> boot based on this alternate QEMU_EFI.fd as well,
> but I've not tried that combination.
> 
> The boot still gets:
> 
> usb_needs_explore_all: no devclass
> 
> during the boot but it does not hang after
> that message.
> 
> I have not gotten networking going in
> FreeBSD in the quick try that I made.
> 
> So I still do not have a /usr/src in place
> to try with a buildworld buildkernel .
> 
> Here is a boot log:
> 
> 
>>> FreeBSD EFI boot block
>   Loader path: /boot/loader.efi
> 
>   Initializing modules: ZFS UFS
>   Probing 6 block devices.......*. done
>    ZFS found no pools
>    UFS found 1 partition
> Consoles: EFI console  
> Command line arguments: loader.efi
> Image base: 0x79c13000
> EFI version: 2.60
> EFI Firmware: EDK II (rev 1.00)
> 
> FreeBSD/arm64 EFI loader, Revision 1.1
> EFI boot environment
> Loading /boot/defaults/loader.conf
> /boot/kernel/kernel text=0x7ba068 data=0x9e6f8+0x39c3fe syms=[0x8+0x103b60+0x8+0xf8a79]
> /boot/entropy size=0x1000
> 
> Hit [Enter] to boot immediately, or any other key for command prompt.
> Booting [/boot/kernel/kernel]...               
> Using DTB provided by EFI at 0x7ffdd000.
> KDB: debugger backends: ddb
> KDB: current backend: ddb
> Copyright (c) 1992-2017 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 12.0-CURRENT  r317015M arm64
> FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0)
> VT: init without driver.
> Starting CPU 1 (1)
> Starting CPU 2 (2)
> Starting CPU 3 (3)
> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
> random: unblocking device.
> random: entropy device external interface
> kbd0 at kbdmux0
> ofwbus0: <Open Firmware Device Tree>
> simplebus0: <Flattened device tree simple bus> on ofwbus0
> clk_fixed0: <Fixed clock> on ofwbus0
> psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
> gic0: <ARM Generic Interrupt Controller> mem 0x8000000-0x800ffff,0x8010000-0x801ffff on ofwbus0
> gic0: pn 0x2, arch 0x2, rev 0x1, implementer 0x43b irqs 288
> gicv2m0: <ARM Generic Interrupt Controller MSI/MSIX> mem 0x8020000-0x8020fff on gic0
> generic_timer0: <ARMv7 Generic Timer> irq 34,35,36,37 on ofwbus0
> Timecounter "ARM MPCore Timecounter" frequency 24000000 Hz quality 1000
> Event timer "ARM MPCore Eventtimer" frequency 24000000 Hz quality 1000
> virtio_mmio0: <VirtIO MMIO adapter> mem 0xa000000-0xa0001ff irq 0 on ofwbus0
> virtio_mmio1: <VirtIO MMIO adapter> mem 0xa000200-0xa0003ff irq 1 on ofwbus0
> virtio_mmio2: <VirtIO MMIO adapter> mem 0xa000400-0xa0005ff irq 2 on ofwbus0
> virtio_mmio3: <VirtIO MMIO adapter> mem 0xa000600-0xa0007ff irq 3 on ofwbus0
> virtio_mmio4: <VirtIO MMIO adapter> mem 0xa000800-0xa0009ff irq 4 on ofwbus0
> virtio_mmio5: <VirtIO MMIO adapter> mem 0xa000a00-0xa000bff irq 5 on ofwbus0
> virtio_mmio6: <VirtIO MMIO adapter> mem 0xa000c00-0xa000dff irq 6 on ofwbus0
> virtio_mmio7: <VirtIO MMIO adapter> mem 0xa000e00-0xa000fff irq 7 on ofwbus0
> virtio_mmio8: <VirtIO MMIO adapter> mem 0xa001000-0xa0011ff irq 8 on ofwbus0
> virtio_mmio9: <VirtIO MMIO adapter> mem 0xa001200-0xa0013ff irq 9 on ofwbus0
> virtio_mmio10: <VirtIO MMIO adapter> mem 0xa001400-0xa0015ff irq 10 on ofwbus0
> virtio_mmio11: <VirtIO MMIO adapter> mem 0xa001600-0xa0017ff irq 11 on ofwbus0
> virtio_mmio12: <VirtIO MMIO adapter> mem 0xa001800-0xa0019ff irq 12 on ofwbus0
> virtio_mmio13: <VirtIO MMIO adapter> mem 0xa001a00-0xa001bff irq 13 on ofwbus0
> virtio_mmio14: <VirtIO MMIO adapter> mem 0xa001c00-0xa001dff irq 14 on ofwbus0
> virtio_mmio15: <VirtIO MMIO adapter> mem 0xa001e00-0xa001fff irq 15 on ofwbus0
> virtio_mmio16: <VirtIO MMIO adapter> mem 0xa002000-0xa0021ff irq 16 on ofwbus0
> virtio_mmio17: <VirtIO MMIO adapter> mem 0xa002200-0xa0023ff irq 17 on ofwbus0
> virtio_mmio18: <VirtIO MMIO adapter> mem 0xa002400-0xa0025ff irq 18 on ofwbus0
> virtio_mmio19: <VirtIO MMIO adapter> mem 0xa002600-0xa0027ff irq 19 on ofwbus0
> virtio_mmio20: <VirtIO MMIO adapter> mem 0xa002800-0xa0029ff irq 20 on ofwbus0
> virtio_mmio21: <VirtIO MMIO adapter> mem 0xa002a00-0xa002bff irq 21 on ofwbus0
> virtio_mmio22: <VirtIO MMIO adapter> mem 0xa002c00-0xa002dff irq 22 on ofwbus0
> virtio_mmio23: <VirtIO MMIO adapter> mem 0xa002e00-0xa002fff irq 23 on ofwbus0
> virtio_mmio24: <VirtIO MMIO adapter> mem 0xa003000-0xa0031ff irq 24 on ofwbus0
> virtio_mmio25: <VirtIO MMIO adapter> mem 0xa003200-0xa0033ff irq 25 on ofwbus0
> virtio_mmio26: <VirtIO MMIO adapter> mem 0xa003400-0xa0035ff irq 26 on ofwbus0
> virtio_mmio27: <VirtIO MMIO adapter> mem 0xa003600-0xa0037ff irq 27 on ofwbus0
> virtio_mmio28: <VirtIO MMIO adapter> mem 0xa003800-0xa0039ff irq 28 on ofwbus0
> virtio_mmio29: <VirtIO MMIO adapter> mem 0xa003a00-0xa003bff irq 29 on ofwbus0
> virtio_mmio30: <VirtIO MMIO adapter> mem 0xa003c00-0xa003dff irq 30 on ofwbus0
> vtnet0: <VirtIO Networking Adapter> on virtio_mmio30
> vtnet0: Ethernet address: 52:54:00:12:34:56
> virtio_mmio31: <VirtIO MMIO adapter> mem 0xa003e00-0xa003fff irq 31 on ofwbus0
> vtblk0: <VirtIO Block Adapter> on virtio_mmio31
> vtblk0: 32768MB (67110465 512 byte sectors)
> pcib0: <Generic PCI host controller> mem 0x3f000000-0x3fffffff on ofwbus0
> pci0: <PCI bus> on pcib0
> uart0: <PrimeCell UART (PL011)> mem 0x9000000-0x9000fff irq 33 on ofwbus0
> uart0: console (9600,n,8,1)
> cpulist0: <Open Firmware CPU Group> on ofwbus0
> cpu0: <Open Firmware CPU> on cpulist0
> cpu1: <Open Firmware CPU> on cpulist0
> cpu2: <Open Firmware CPU> on cpulist0
> cpu3: <Open Firmware CPU> on cpulist0
> cryptosoft0: <software crypto>
> Timecounters tick every 10.000 msec
> usb_needs_explore_all: no devclass
> Release APs
> CPU  0: ARM Cortex-A53 r0p4 affinity:  0
> Instruction Set Attributes 0 = <CRC32>
> Instruction Set Attributes 1 = <0>
>         Processor Features 0 = <AdvSIMD,Float,EL3 32,EL2 32,EL1 32,EL0 32>
>         Processor Features 1 = <0>
>      Memory Model Features 0 = <4k Granule,64k Granule,MixedEndian,S/NS Mem,16bit ASID,1TB PA>
>      Memory Model Features 1 = <>
>             Debug Features 0 = <2 CTX Breakpoints,4 Watchpoints,6 Breakpoints,PMUv3,Debug v8>
>             Debug Features 1 = <0>
>         Auxiliary Features 0 = <0>
>         Auxiliary Features 1 = <0>
> CPU  1: ARM Cortex-A53 r0p4 affinity:  1
> CPU  2: ARM Cortex-A53 r0p4 affinity:  2
> CPU  3: ARM Cortex-A53 r0p4 affinity:  3
> Trying to mount root from ufs:/dev/ufs/rootfs [rw]...
> warning: no time-of-day clock registered, system time will not be set accurately
> Setting hostuuid: 5f6ed2d1-2dcc-11e7-b81e-f171534e5634.
> Setting hostid: 0x9f2fff5d.
> Starting file system checks:
> /dev/ufs/rootfs: FILE SYSTEM CLEAN; SKIPPING CHECKS
> /dev/ufs/rootfs: clean, 6154717 free (4485 frags, 768779 blocks, 0.1% fragmentation)
> Mounting local filesystems:.
> ELF ldconfig path: /lib /usr/lib /usr/lib/compat
> Setting hostname: ODC2FBSD.
> Setting up harvesting: [UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,NET_ETHER,NET_TUN,MOUSE,KEYBOARD,ATTACH,CACHED
> Feeding entropy: .
> Starting Network: lo0 vtnet0.
> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
> 	options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
> 	inet6 ::1 prefixlen 128 
> 	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 
> 	inet 127.0.0.1 netmask 0xff000000 
> 	groups: lo 
> 	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
> vtnet0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
> 	options=80028<VLAN_MTU,JUMBO_MTU,LINKSTATE>
> 	ether 52:54:00:12:34:56
> 	media: Ethernet 10Gbase-T <full-duplex>
> 	status: active
> 	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> Starting devd.
> Starting Network: vtnet0.
> vtnet0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
> 	options=80028<VLAN_MTU,JUMBO_MTU,LINKSTATE>
> 	ether 52:54:00:12:34:56
> 	media: Ethernet 10Gbase-T <full-duplex>
> 	status: active
> 	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> add host 127.0.0.1: gateway lo0 fib 0: route already in table
> add host ::1: gateway lo0 fib 0: route already in table
> add net fe80::: gateway ::1
> add net ff02::: gateway ::1
> add net ::ffff:0.0.0.0: gateway ::1
> add net ::0.0.0.0: gateway ::1
> Creating and/or trimming log files.
> Starting syslogd.
> No core dumps found.
> Clearing /tmp (X related).
> Updating motd:.
> Mounting late filesystems:.
> Starting sendmail_submit.
> Starting sendmail_msp_queue.
> Starting cron.
> Starting background file system checks in 60 seconds.
> 
> Sun Apr 30 18:41:18 UTC 2017
> 
> FreeBSD/arm64 (ODC2FBSD) (ttyu0)
> 
> login: 

FYI:

I do sometimes get things like:


System shutdown time has arrived
Apr 30 19:43:15 ODC2FBSD shutdown: power-down by root: 
Sleeping thread (tid 100093, pid 708) owns a non-sleepable lock
KDB: stack backtrace of thread 100093:
sched_switch() at mi_switch+0x100
	 pc = 0xffff000000347d44  lr = 0xffff000000327358
	 sp = 0xffff000040237e00  fp = 0xffff000040237e20

mi_switch() at sleepq_wait+0x3c
	 pc = 0xffff000000327358  lr = 0xffff00000036c174
	 sp = 0xffff000040237e30  fp = 0xffff000040237e50

sleepq_wait() at _sleep+0x29c
	 pc = 0xffff00000036c174  lr = 0xffff000000326c7c
	 sp = 0xffff000040237e60  fp = 0xffff000040237ee0

_sleep() at vm_page_sleep_if_busy+0xb0
	 pc = 0xffff000000326c7c  lr = 0xffff0000005cfcf4
	 sp = 0xffff000040237ef0  fp = 0xffff000040237f10

vm_page_sleep_if_busy() at vm_fault_hold+0xcc8
	 pc = 0xffff0000005cfcf4  lr = 0xffff0000005ba17c
	 sp = 0xffff000040237f20  fp = 0xffff000040238070

vm_fault_hold() at vm_fault+0x70
	 pc = 0xffff0000005ba17c  lr = 0xffff0000005b9464
	 sp = 0xffff000040238080  fp = 0xffff0000402380b0

vm_fault() at data_abort+0xe0
	 pc = 0xffff0000005b9464  lr = 0xffff00000061ad94
	 sp = 0xffff0000402380c0  fp = 0xffff000040238170

data_abort() at handle_el1h_sync+0x70
	 pc = 0xffff00000061ad94  lr = 0xffff000000607870
	 sp = 0xffff000040238180  fp = 0xffff000040238290

handle_el1h_sync() at pmap_enter+0x678
	 pc = 0xffff000000607870  lr = 0xffff000000615684
	 sp = 0xffff0000402382a0  fp = 0xffff0000402383b0

pmap_enter() at vm_fault_hold+0x17c0
	 pc = 0xffff000000615684  lr = 0xffff0000005bac74
	 sp = 0xffff0000402383c0  fp = 0xffff000040238510

vm_fault_hold() at vm_fault+0x70
	 pc = 0xffff0000005bac74  lr = 0xffff0000005b9464
	 sp = 0xffff000040238520  fp = 0xffff000040238550

vm_fault() at data_abort+0xe0
	 pc = 0xffff0000005b9464  lr = 0xffff00000061ad94
	 sp = 0xffff000040238560  fp = 0xffff000040238610

data_abort() at handle_el1h_sync+0x70
	 pc = 0xffff00000061ad94  lr = 0xffff000000607870
	 sp = 0xffff000040238620  fp = 0xffff000040238730

handle_el1h_sync() at pmap_remove_pages+0x2a8
	 pc = 0xffff000000607870  lr = 0xffff0000006175d4
	 sp = 0xffff000040238740  fp = 0xffff000040238870

pmap_remove_pages() at vmspace_exit+0xb0
	 pc = 0xffff0000006175d4  lr = 0xffff0000005c020c
	 sp = 0xffff000040238880  fp = 0xffff0000402388b0

vmspace_exit() at exit1+0x604
	 pc = 0xffff0000005c020c  lr = 0xffff0000002db5e0
	 sp = 0xffff0000402388c0  fp = 0xffff000040238920

exit1() at sys_sys_exit+0x10
	 pc = 0xffff0000002db5e0  lr = 0xffff0000002dafd8
	 sp = 0xffff000040238930  fp = 0xffff000040238930

sys_sys_exit() at do_el0_sync+0xa48
	 pc = 0xffff0000002dafd8  lr = 0xffff00000061b91c
	 sp = 0xffff000040238940  fp = 0xffff000040238a70

do_el0_sync() at handle_el0_sync+0x6c
	 pc = 0xffff00000061b91c  lr = 0xffff0000006079e8
	 sp = 0xffff000040238a80  fp = 0xffff000040238b90

handle_el0_sync() at 0x38cc0
	 pc = 0xffff0000006079e8  lr = 0x0000000000038cc0
	 sp = 0xffff000040238ba0  fp = 0x0000ffffffffed00

panic: sleeping thread
cpuid = 2
time = 1493581440
KDB: stack backtrace:
db_trace_self() at db_trace_self_wrapper+0x28
	 pc = 0xffff000000605cc0  lr = 0xffff0000000869cc
	 sp = 0xffff000065dfd320  fp = 0xffff000065dfd530

db_trace_self_wrapper() at vpanic+0x164
	 pc = 0xffff0000000869cc  lr = 0xffff00000031d464
	 sp = 0xffff000065dfd540  fp = 0xffff000065dfd5b0

vpanic() at panic+0x4c
	 pc = 0xffff00000031d464  lr = 0xffff00000031d2fc
	 sp = 0xffff000065dfd5c0  fp = 0xffff000065dfd640

panic() at propagate_priority+0x2d0
	 pc = 0xffff00000031d2fc  lr = 0xffff000000374558
	 sp = 0xffff000065dfd650  fp = 0xffff000065dfd690

propagate_priority() at turnstile_wait+0x340
	 pc = 0xffff000000374558  lr = 0xffff00000037503c
	 sp = 0xffff000065dfd6a0  fp = 0xffff000065dfd6e0

turnstile_wait() at __rw_wlock_hard+0x208
	 pc = 0xffff00000037503c  lr = 0xffff000000319138
	 sp = 0xffff000065dfd6f0  fp = 0xffff000065dfd770

__rw_wlock_hard() at pmap_enter+0xe98
	 pc = 0xffff000000319138  lr = 0xffff000000615ea4
	 sp = 0xffff000065dfd780  fp = 0xffff000065dfd810

pmap_enter() at vm_fault_hold+0x28c
	 pc = 0xffff000000615ea4  lr = 0xffff0000005b9740
	 sp = 0xffff000065dfd820  fp = 0xffff000065dfd970

vm_fault_hold() at vm_fault+0x70
	 pc = 0xffff0000005b9740  lr = 0xffff0000005b9464
	 sp = 0xffff000065dfd980  fp = 0xffff000065dfd9b0

vm_fault() at data_abort+0xe0
	 pc = 0xffff0000005b9464  lr = 0xffff00000061ad94
	 sp = 0xffff000065dfd9c0  fp = 0xffff000065dfda70

data_abort() at handle_el0_sync+0x6c
	 pc = 0xffff00000061ad94  lr = 0xffff0000006079e8
	 sp = 0xffff000065dfda80  fp = 0xffff000065dfdb90

handle_el0_sync() at 0x40040070
	 pc = 0xffff0000006079e8  lr = 0x0000000040040070
	 sp = 0xffff000065dfdba0  fp = 0x0000ffffffffeb00

KDB: enter: panic
[ thread pid 709 tid 100086 ]
Stopped at      kdb_enter+0x44: undefined       d4200000
db>

===
Mark Millard
markmi at dsl-only.net
Received on Tue May 02 2017 - 08:37:11 UTC

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