Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Emulate OpenMPTCProuter on RPI4 using qemu-system-arm #2000

Closed
jjak0b opened this issue Aug 1, 2021 · 11 comments
Closed

Emulate OpenMPTCProuter on RPI4 using qemu-system-arm #2000

jjak0b opened this issue Aug 1, 2021 · 11 comments

Comments

@jjak0b
Copy link

jjak0b commented Aug 1, 2021

I have installed a raspberry PI OS 64bit running on a RPI4 I'm trying to figure out how to configure qemu-system-arm using the precompiled images.
The provided precompiled images should have kernel and rootfs combined, but how i should set the kernel and the drive images in qemu from them ?

@jjak0b jjak0b added the question label Aug 1, 2021
@Ysurac
Copy link
Owner

Ysurac commented Aug 1, 2021

Images are full disk images. Rootfs and kernel images are also availables in downloads directory.
But using OpenMPTCProuter on RPI4 VM is really not a good idea: a RPI4 doesn't have a so good CPU...

@jjak0b
Copy link
Author

jjak0b commented Aug 1, 2021

About CPU i know i won't get the best performances but i would like to try it.
I'm a noob on virtualization stuff but i'm still learning.
However i can't see separated rootfs and kernel images on downloads directory: I can only see the sysupgrade and factory images in their ext4 and squashfs versions here.
I should use the sysupgrade image when i already have an OpenMPTCProuter installation,
and i should use the factory image to mount it on the sd card ( on non virtualized scenario) from what i understanded. Am i missing something ?

So i should set the ext4-factory image as drive ( as qemu parameter -drive file=openmptcprouter-v0.58.5-r0+16336-b36068d35d-bcm27xx-bcm2709-rpi-2-ext4-factory.img,format=raw ) but what i should use as kernel parameter ( -kernel $IMAGE -append "root=/dev/sda2" ) ?

this is the script i would use to run the qemu vm:

#!/bin/sh

MACHINE=raspi2
RAM=512
KERNEL=??
DRIVE=openmptcprouter-v0.58.5-r0+16336-b36068d35d-bcm27xx-bcm2709-rpi-2-ext4-factory.img
EMU32=qemu-system-arm

$EMU32 -M $MACHINE -m $RAM \
-kernel $KERNEL -append "root=/dev/sda2" \
-drive file=$DRIVE,format=raw

i followed the openwrt guide on arm but as the guide shows i expected to find a zImage in the downloads directory to use as kernel image

@Ysurac
Copy link
Owner

Ysurac commented Aug 1, 2021

True rootfs is only generated for x86_64 and can be used for Docker.
In you case you should use full image as it's a complete virtualisation. kernel is already in the raw image, you don't need to specify an external kernel.
So should be something like qemu-system-arm -m 1024 -machine type=raspi3 -drive format=raw,file=openmptcprouter-v0.58.5-r0+16336-b36068d35d-bcm27xx-bcm2709-rpi-2-ext4-factory.img or something like that.

@jjak0b
Copy link
Author

jjak0b commented Aug 3, 2021

Setting the drive as the combined image doesn't boot on qemu.
here for openwrt says that the combined image as initramfs should works if set as kernel. I tried using the combined image of OpenMPTCProuter but again doesn't boot.
So i though to use the openwrt armvirt kernel and it worked:


EMU32=/home/pi/qemu-6.0.0/build/qemu-system-arm #emu-system-arm
EMU64=/home/pi/qemu-6.0.0/build/qemu-system-aarch64 #qemu-system-aarch64
EMU=$EMU32
MACHINE=virt
RAM=512m
KERNEL=./omr32/openwrt-19.07.7-armvirt-32-zImage
DRIVE=./omr32/openmptcprouter-rpi-2-ext4-factory.img

$EMU  \
  -M $MACHINE \
  -m $RAM \
  -kernel $KERNEL \
  -append "root=/dev/vda2 panic=1" \
  -drive "file=${DRIVE},if=none,index=0,media=disk,format=raw,id=disk0" \
  -device "virtio-blk-pci,drive=disk0,disable-modern=on,disable-legacy=off" \
  -device virtio-net-pci \
  -netdev user,id=net1,hostfwd=tcp::2222-:22 \
  -device virtio-net-pci,netdev=net1 \
  -no-reboot -nographic

but i don't think si the right way to do that.

( i resized always the combined image because qemu errors:

FILE=openmptcprouter-v0.58.5-r0+16336-b36068d35d-bcm27xx-bcm2709-rpi-2-ext4-factory
TOFILE=openmptcprouter-rpi-2-ext4-factory

$HOME/qemu-6.0.0/build/qemu-img convert -f raw -O raw "$FILE.img" "$TOFILE.img"
$HOME/qemu-6.0.0/build/qemu-img resize -f raw "$TOFILE.img" 1G

)
So i tried this qemu-rpi-kernel and worked for raspianOS.
I tried the same extracting kernel.img and dtb ( as says also here ) and setting the drive as combined image but doesn't boot.

i tried all this with both arm and aarch64 qemu-systems in version 3.10 and 6.0.0

@jjak0b
Copy link
Author

jjak0b commented Aug 3, 2021

However using the openwrt kernel for armvirt i think a lot of things are missing, for example i have no ethernet vitual interface if i use ifconfig. This is the output:

qemu-system-arm: warning: nic virtio-net-pci.0 has no peer
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.221 (builder@buildhost) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r11306-c4a6851c72)) #0 SMP Mon Feb 15 15:22:37 2021
[    0.000000] CPU: ARMv7 Processor [412fc0f1] revision 1 (ARMv7), cr=30c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] OF: fdt: Machine model: linux,dummy-virt
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv0.2 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] random: get_random_bytes called from 0xc08009e0 with crng_init=0
[    0.000000] percpu: Embedded 14 pages/cpu s26444 r8192 d22708 u57344
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: root=/dev/vda2 panic=1
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 510116K/524288K available (4288K kernel code, 120K rwdata, 536K rodata, 2048K init, 205K bss, 14172K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0630148   (6305 kB)
[    0.000000]       .init : 0xc0800000 - 0xc0a00000   (2048 kB)
[    0.000000]       .data : 0xc0a00000 - 0xc0a1e040   ( 121 kB)
[    0.000000]        .bss : 0xc0a22e7c - 0xc0a562e0   ( 206 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GICv2m: range[mem 0x08020000-0x08020fff], SPI[80:143]
[    0.000000] arch_timer: cp15 timer(s) running at 62.50MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1cd42e208c, max_idle_ns: 881590405314 ns
[    0.000789] sched_clock: 56 bits at 62MHz, resolution 16ns, wraps every 4398046511096ns
[    0.001410] Switching to timer-based delay loop, resolution 16ns
[    0.022632] Calibrating delay loop (skipped), value calculated using timer frequency.. 125.00 BogoMIPS (lpj=625000)
[    0.023540] pid_max: default: 32768 minimum: 301
[    0.029783] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.030004] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.071459] CPU: Testing write buffer coherency: ok
[    0.076594] CPU0: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
[    0.119617] /cpus/cpu@0 missing clock-frequency property
[    0.120810] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.144645] Setting up static identity map for 0x40200000 - 0x40200060
[    0.150908] Hierarchical SRCU implementation.
[    0.174494] smp: Bringing up secondary CPUs ...
[    0.175010] smp: Brought up 1 node, 1 CPU
[    0.175371] SMP: Total of 1 processors activated (125.00 BogoMIPS).
[    0.175670] CPU: All CPU(s) started in SVC mode.
[    0.231357] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
[    0.301139] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.305400] futex hash table entries: 256 (order: 2, 16384 bytes)
[    0.457170] NET: Registered protocol family 16
[    0.471635] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.497288] Serial: AMBA PL011 UART driver
[    0.611206] 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 54, base_baud = 0) is a PL011 rev1
[    0.710886] console [ttyAMA0] enabled
[    0.856679] SCSI subsystem initialized
[    0.919587] clocksource: Switched to clocksource arch_sys_counter
[    0.941188] NET: Registered protocol family 2
[    0.973501] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.975566] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    0.977319] TCP: Hash tables configured (established 4096 bind 4096)
[    0.987596] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.989433] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.999098] NET: Registered protocol family 1
[    1.056870] No memory allocated for crashlog
[    1.066922] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[    1.110567] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.111746] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    1.165010] 9p: Installing v9fs 9p2000 file system support
[    1.204099] io scheduler noop registered
[    1.205074] io scheduler deadline registered (default)
[    1.227014] pl061_gpio 9030000.pl061: PL061 GPIO chip @0x0000000009030000 registered
[    1.233777] OF: PCI: host bridge /pcie@10000000 ranges:
[    1.237413] OF: PCI:    IO 0x3eff0000..0x3effffff -> 0x00000000
[    1.240139] OF: PCI:   MEM 0x10000000..0x3efeffff -> 0x10000000
[    1.241228] OF: PCI:   MEM 0x8000000000..0xffffffffff -> 0x8000000000
[    1.268587] pci-host-generic 4010000000.pcie: ECAM at [mem 0x4010000000-0x401fffffff] for [bus 00-ff]
[    1.274876] pci-host-generic 4010000000.pcie: PCI host bridge to bus 0000:00
[    1.277069] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.278388] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    1.279309] pci_bus 0000:00: root bus resource [mem 0x10000000-0x3efeffff]
[    1.280272] pci_bus 0000:00: root bus resource [mem 0x8000000000-0xffffffffff]
[    1.310074] PCI: bus0: Fast back to back transfers disabled
[    1.317534] pci 0000:00:02.0: BAR 6: assigned [mem 0x10000000-0x1003ffff pref]
[    1.319590] pci 0000:00:03.0: BAR 6: assigned [mem 0x10040000-0x1007ffff pref]
[    1.321420] pci 0000:00:02.0: BAR 4: assigned [mem 0x10080000-0x10083fff 64bit pref]
[    1.324448] pci 0000:00:03.0: BAR 4: assigned [mem 0x10084000-0x10087fff 64bit pref]
[    1.326191] pci 0000:00:01.0: BAR 1: assigned [mem 0x10088000-0x10088fff]
[    1.327964] pci 0000:00:02.0: BAR 1: assigned [mem 0x10089000-0x10089fff]
[    1.329348] pci 0000:00:03.0: BAR 1: assigned [mem 0x1008a000-0x1008afff]
[    1.330454] pci 0000:00:01.0: BAR 0: assigned [io  0x1000-0x107f]
[    1.331511] pci 0000:00:02.0: BAR 0: assigned [io  0x1080-0x109f]
[    1.332423] pci 0000:00:03.0: BAR 0: assigned [io  0x10a0-0x10bf]
[    1.364969] virtio-pci 0000:00:01.0: enabling device (0100 -> 0103)
[    1.368247] virtio-pci 0000:00:01.0: virtio_pci: leaving for legacy driver
[    1.376955] virtio-pci 0000:00:02.0: enabling device (0100 -> 0103)
[    1.390065] virtio-pci 0000:00:03.0: enabling device (0100 -> 0103)
[    1.401487] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    1.586176]  vda: vda1 vda2
[    1.629826] 0.flash: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000000 Chip ID 0x000000
[    1.633325] Intel/Sharp Extended Query Table at 0x0031
[    1.639938] Using buffer write method
[    1.660573] vmap allocation for size 67112960 failed: use vmalloc=<size> to increase size
[    1.662375] of-flash 0.flash: ioremap failed for resource [mem 0x04000000-0x07ffffff]
[    1.753827] of-flash: probe of 0.flash failed with error -12
[    1.803572] rtc-pl031 9010000.pl031: rtc core: registered pl031 as rtc0
[    1.815341] NET: Registered protocol family 10
[    1.875201] Segment Routing with IPv6
[    1.877926] NET: Registered protocol family 17
[    1.881850] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.884353] 8021q: 802.1Q VLAN Support v1.8
[    1.888998] 9pnet: Installing 9P2000 support
[    1.891586] Registering SWP/SWPB emulation handler
[    1.925472] rtc-pl031 9010000.pl031: setting system clock to 2021-08-03 22:55:32 UTC (1628031332)
[    1.970143] uart-pl011 9000000.pl011: no DMA platform data
[    2.098501] EXT4-fs (vda2): mounted filesystem without journal. Opts: (null)
[    2.106283] VFS: Mounted root (ext4 filesystem) readonly on device 254:2.
[    2.273477] Freeing unused kernel memory: 2048K
[    2.977906] init: Console is alive
[    3.136502] kmodloader: no module folders for kernel version 4.14.221 found
[    3.176737] init: - preinit -
[    5.973083] random: jshn: uninitialized urandom read (4 bytes read)
[    6.324904] random: jshn: uninitialized urandom read (4 bytes read)
[    6.500305] random: jshn: uninitialized urandom read (4 bytes read)
[    7.213103] 8021q: adding VLAN 0 to HW filter on device eth0
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[   13.484797] mount_root: mounting /dev/root
[   13.507552] EXT4-fs (vda2): warning: mounting unchecked fs, running e2fsck is recommended
[   13.555727] EXT4-fs (vda2): re-mounted. Opts: (null)
[   13.560652] mount_root: loading kmods from internal overlay
[   13.718168] kmodloader: no module folders for kernel version 4.14.221 found
[   13.731904] mount_root: failed to launch kmodloader from internal overlay
[   14.166205] block: attempting to load /etc/config/fstab
[   14.239975] block: extroot: not configured
[   14.272318] urandom-seed: Seed file not found (/etc/urandom.seed)
[   15.650177] procd: - early -
[   17.227658] procd: - ubus -
[   17.612162] urandom_read: 1 callbacks suppressed
[   17.615671] random: ubusd: uninitialized urandom read (4 bytes read)
[   17.794628] random: ubusd: uninitialized urandom read (4 bytes read)
[   17.848621] random: ubusd: uninitialized urandom read (4 bytes read)
[   17.995865] procd: - init -
Please press Enter to activate this console.
[   25.326332] random: crng init done
[   25.334869] random: 3 urandom warning(s) missed due to ratelimiting
[   32.103841] kmodloader: no module folders for kernel version 4.14.221 found

(none) login: root
login[464]: root login on 'ttyAMA0'


BusyBox v1.33.0 () built-in shell (ash)

   ___                 __  __ ___ _____ ___ ___              _           
  / _ \ _ __  ___ _ _ |  \/  | _ \_   _/ __| _ \_ _ ___ _  _| |_ ___ _ _ 
 | (_) | '_ \/ -_) ' \| |\/| |  _/ | || (__|  _/ '_/ _ \ || |  _/ -_) '_|
  \___/| .__/\___|_||_|_|  |_|_|   |_| \___|_| |_| \___/\_,_|\__\___|_|  
       |_|                                                               
------------------------------------------------------------------------------
   (r0+16336-b36068d35d)
------------------------------------------------------------------------------
-----------------------------------------------------
 PACKAGE:     openmptcprouter
 VERSION:     v0.58.5
 TARGET:      rpi2
 ARCH:        arm_cortex-a7_neon-vfpv4

 BUILD REPO:  https://github.com/ysurac/openmptcprouter
 BUILD DATE:  Sat Jul 10 17:03:29 UTC 2021
-----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenMPTCProuter:~# ifconfig
root@OpenMPTCProuter:~# 

@Ysurac
Copy link
Owner

Ysurac commented Aug 4, 2021

You can't use OpenWrt kernel as at least MPTCP patch is missing.

@jjak0b
Copy link
Author

jjak0b commented Aug 5, 2021

I supposed that, but it's weird that even using the openmptcprouter's kernel inside the combined image doesn't boot.
I got and edited the script from here using the openmptcprouter's kernel, rootfs and dtb

EMU32=/home/pi/qemu-6.0.0/build/qemu-system-arm #emu-system-arm
EMU64=/home/pi/qemu-6.0.0/build/qemu-system-aarch64 #qemu-system-aarch64
EMU=$EMU32
MACHINE=raspi2b
RAM=1G
DRIVE="./omr32/openmptcprouter-rpi-2-ext4-factory.img"
KERNEL="./omr32/kernel.img"
DTB="./omr32/bcm2710-rpi-2-b.dtb"

$EMU  \
  -M $MACHINE \
  -m $RAM \
  -smp 4 \
  -append "rw earlyprintk loglevel=8 console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootdelay=1" \
  -dtb "${DTB}" \
  -drive file=$DRIVE,if=sd,format=raw  \
  -kernel "${KERNEL}" \
  -nographic
  # -serial stdio -usb -device usb-mouse -device usb-kbd \

@github-actions
Copy link

github-actions bot commented Nov 3, 2021

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 5 days

@github-actions github-actions bot added the Stale label Nov 3, 2021
@github-actions github-actions bot closed this as completed Nov 9, 2021
@jjak0b
Copy link
Author

jjak0b commented Mar 10, 2022

i got some "results" ... upgrading qemu to 6.2.0 and running the following script with qemu, something changed.
(before running this i run only the qemu-img resize code)

$HOME/qemu-6.2.0/build/qemu-system-aarch64 \
	-M raspi3b \
	-cpu cortex-a53 \
	-m 1G \
	-serial stdio \
	-drive file=openmptcprouter-v0.58.5-r0+16336-b36068d35d-bcm27xx-bcm2710-rpi-3-ext4-factory.img,format=raw,if=sd \
	-no-reboot \
	-dtb bcm2710-rpi-3-b-plus.dtb \
	-kernel kernel8.img \
	-append "earlyprintk loglevel=8 console=ttyAMA0 dwc_otg.lpm_enable=0 earlycon=pl011,0x3f201000 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait" \
	-netdev type=user,id=net,hostfwd=tcp::2222-:22 \
	-device usb-net,netdev=net \

Qemu seems to boot but stop the emulation after running /sbin/init. Here the log:

VNC server running on 127.0.0.1:5900
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.4.106 (runner@fv-az206-57) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r0+16336-b36068d35d)) #0 SMP Thu Mar 25 05:03:24 2021
[    0.000000] Machine model: Raspberry Pi 3 Model B+
[    0.000000] earlycon: pl11 at MMIO 0x000000003f201000 (options '')
[    0.000000] printk: bootconsole [pl11] enabled
[    0.000000] Reserved memory: created CMA memory pool at 0x0000000038000000, size 64 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] On node 0 totalpages: 245760
[    0.000000]   DMA zone: 3840 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 245760 pages, LIFO batch:63
[    0.000000] percpu: Embedded 21 pages/cpu s45208 r8192 d32616 u86016
[    0.000000] pcpu-alloc: s45208 r8192 d32616 u86016 alloc=21*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 843419
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 241920
[    0.000000] Kernel command line: earlyprintk loglevel=8 console=ttyAMA0 dwc_otg.lpm_enable=0 earlycon=pl011,0x3f201000 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 886724K/983040K available (7038K kernel code, 414K rwdata, 1820K rodata, 512K init, 536K bss, 30780K reserved, 65536K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	CONFIG_RCU_FANOUT set to non-default value of 32.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] random: get_random_bytes called from start_kernel+0x2dc/0x3dc with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 62.50MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1cd42e208c, max_idle_ns: 881590405314 ns
[    0.000136] sched_clock: 56 bits at 62MHz, resolution 16ns, wraps every 4398046511096ns
[    0.009811] Console: colour dummy device 80x25
[    0.011756] Calibrating delay loop (skipped), value calculated using timer frequency.. 125.00 BogoMIPS (lpj=250000)
[    0.012365] pid_max: default: 32768 minimum: 301
[    0.014750] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.015092] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.040089] Disabling memory control group subsystem
[    0.068499] ASID allocator initialised with 32768 entries
[    0.069765] rcu: Hierarchical SRCU implementation.
[    0.077384] smp: Bringing up secondary CPUs ...
[    0.081202] Detected VIPT I-cache on CPU1
[    0.082034] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.087115] Detected VIPT I-cache on CPU2
[    0.087228] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.089380] Detected VIPT I-cache on CPU3
[    0.089502] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.090050] smp: Brought up 1 node, 4 CPUs
[    0.091400] SMP: Total of 4 processors activated.
[    0.091619] CPU features: detected: 32-bit EL0 Support
[    0.091797] CPU features: detected: CRC32 instructions
[    0.093619] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.094194] CPU: All CPU(s) started at EL2
[    0.094837] alternatives: patching kernel code
[    0.115080] devtmpfs: initialized
[    0.137127] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.137554] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.143170] pinctrl core: initialized pinctrl subsystem
[    0.151200] reg-dummy reg-dummy: no of_node; not parsing pinctrl DT
[    0.163573] NET: Registered protocol family 16
[    0.179109] DMA: preallocated 256 KiB pool for atomic allocations
[    0.184066] cpuidle: using governor ladder
[    0.184405] cpuidle: using governor menu
[    0.186931] Serial: AMBA PL011 UART driver
[    0.196885] bcm2835-mbox 3f00b880.mailbox: mailbox enabled
[    0.210282] raspberrypi-firmware soc:firmware: Attached to firmware from 1970-01-05 00:12, variant unknown
[    0.214608] raspberrypi-firmware soc:firmware: Firmware hash is 000000110000000c000000000000000500000000
[    0.268613] bcm2835-dma 3f007000.dma: DMA legacy API manager, dmachans=0x1
[    0.272779] reg-fixed-voltage fixedregulator_3v3: GPIO lookup for consumer (null)
[    0.272987] reg-fixed-voltage fixedregulator_3v3: using device tree for GPIO lookup
[    0.273482] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/fixedregulator_3v3[0]'
[    0.273796] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator_3v3[0]'
[    0.274129] reg-fixed-voltage fixedregulator_3v3: using lookup tables for GPIO lookup
[    0.274461] reg-fixed-voltage fixedregulator_3v3: No GPIO consumer (null) found
[    0.275537] reg-fixed-voltage fixedregulator_5v0: GPIO lookup for consumer (null)
[    0.275769] reg-fixed-voltage fixedregulator_5v0: using device tree for GPIO lookup
[    0.275989] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/fixedregulator_5v0[0]'
[    0.276221] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator_5v0[0]'
[    0.276507] reg-fixed-voltage fixedregulator_5v0: using lookup tables for GPIO lookup
[    0.276759] reg-fixed-voltage fixedregulator_5v0: No GPIO consumer (null) found
[    0.279012] SCSI subsystem initialized
[    0.280991] usbcore: registered new interface driver usbfs
[    0.281496] usbcore: registered new interface driver hub
[    0.281771] usbcore: registered new device driver usb
[    0.283413] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[    0.299321] clocksource: Switched to clocksource arch_sys_counter
[    0.337344] thermal_sys: Registered thermal governor 'step_wise'
[    0.341048] NET: Registered protocol family 2
[    0.350002] MPTCP tokens hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.350939] MPTCP request tokens hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.352050] default registered
[    0.352313] default registered
[    0.352432] MPTCP: Unstable branch
[    0.352683] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    0.353167] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.353667] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)
[    0.354137] TCP: Hash tables configured (established 8192 bind 8192)
[    0.356113] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.356548] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.359726] NET: Registered protocol family 1
[    0.360498] PCI: CLS 0 bytes, default 64
[    0.366477] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    0.376234] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.389796] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.394231] pinctrl-bcm2835 3f200000.gpio: try to register 54 pins ...
[    0.394841] pinctrl core: registered pin 0 (gpio0) on pinctrl-bcm2835
[    0.395049] pinctrl core: registered pin 1 (gpio1) on pinctrl-bcm2835
[    0.395217] pinctrl core: registered pin 2 (gpio2) on pinctrl-bcm2835
[    0.395375] pinctrl core: registered pin 3 (gpio3) on pinctrl-bcm2835
[    0.395543] pinctrl core: registered pin 4 (gpio4) on pinctrl-bcm2835
[    0.395714] pinctrl core: registered pin 5 (gpio5) on pinctrl-bcm2835
[    0.395876] pinctrl core: registered pin 6 (gpio6) on pinctrl-bcm2835
[    0.396025] pinctrl core: registered pin 7 (gpio7) on pinctrl-bcm2835
[    0.396180] pinctrl core: registered pin 8 (gpio8) on pinctrl-bcm2835
[    0.396341] pinctrl core: registered pin 9 (gpio9) on pinctrl-bcm2835
[    0.396502] pinctrl core: registered pin 10 (gpio10) on pinctrl-bcm2835
[    0.396671] pinctrl core: registered pin 11 (gpio11) on pinctrl-bcm2835
[    0.396836] pinctrl core: registered pin 12 (gpio12) on pinctrl-bcm2835
[    0.397001] pinctrl core: registered pin 13 (gpio13) on pinctrl-bcm2835
[    0.397170] pinctrl core: registered pin 14 (gpio14) on pinctrl-bcm2835
[    0.397345] pinctrl core: registered pin 15 (gpio15) on pinctrl-bcm2835
[    0.397536] pinctrl core: registered pin 16 (gpio16) on pinctrl-bcm2835
[    0.397721] pinctrl core: registered pin 17 (gpio17) on pinctrl-bcm2835
[    0.397921] pinctrl core: registered pin 18 (gpio18) on pinctrl-bcm2835
[    0.398109] pinctrl core: registered pin 19 (gpio19) on pinctrl-bcm2835
[    0.398332] pinctrl core: registered pin 20 (gpio20) on pinctrl-bcm2835
[    0.398681] pinctrl core: registered pin 21 (gpio21) on pinctrl-bcm2835
[    0.398878] pinctrl core: registered pin 22 (gpio22) on pinctrl-bcm2835
[    0.399076] pinctrl core: registered pin 23 (gpio23) on pinctrl-bcm2835
[    0.399269] pinctrl core: registered pin 24 (gpio24) on pinctrl-bcm2835
[    0.399463] pinctrl core: registered pin 25 (gpio25) on pinctrl-bcm2835
[    0.399662] pinctrl core: registered pin 26 (gpio26) on pinctrl-bcm2835
[    0.399860] pinctrl core: registered pin 27 (gpio27) on pinctrl-bcm2835
[    0.400057] pinctrl core: registered pin 28 (gpio28) on pinctrl-bcm2835
[    0.400255] pinctrl core: registered pin 29 (gpio29) on pinctrl-bcm2835
[    0.400452] pinctrl core: registered pin 30 (gpio30) on pinctrl-bcm2835
[    0.400650] pinctrl core: registered pin 31 (gpio31) on pinctrl-bcm2835
[    0.400847] pinctrl core: registered pin 32 (gpio32) on pinctrl-bcm2835
[    0.401044] pinctrl core: registered pin 33 (gpio33) on pinctrl-bcm2835
[    0.401242] pinctrl core: registered pin 34 (gpio34) on pinctrl-bcm2835
[    0.401439] pinctrl core: registered pin 35 (gpio35) on pinctrl-bcm2835
[    0.401636] pinctrl core: registered pin 36 (gpio36) on pinctrl-bcm2835
[    0.401841] pinctrl core: registered pin 37 (gpio37) on pinctrl-bcm2835
[    0.402039] pinctrl core: registered pin 38 (gpio38) on pinctrl-bcm2835
[    0.402231] pinctrl core: registered pin 39 (gpio39) on pinctrl-bcm2835
[    0.402521] pinctrl core: registered pin 40 (gpio40) on pinctrl-bcm2835
[    0.402704] pinctrl core: registered pin 41 (gpio41) on pinctrl-bcm2835
[    0.402843] pinctrl core: registered pin 42 (gpio42) on pinctrl-bcm2835
[    0.403015] pinctrl core: registered pin 43 (gpio43) on pinctrl-bcm2835
[    0.403187] pinctrl core: registered pin 44 (gpio44) on pinctrl-bcm2835
[    0.403360] pinctrl core: registered pin 45 (gpio45) on pinctrl-bcm2835
[    0.403534] pinctrl core: registered pin 46 (gpio46) on pinctrl-bcm2835
[    0.403709] pinctrl core: registered pin 47 (gpio47) on pinctrl-bcm2835
[    0.403884] pinctrl core: registered pin 48 (gpio48) on pinctrl-bcm2835
[    0.404060] pinctrl core: registered pin 49 (gpio49) on pinctrl-bcm2835
[    0.404235] pinctrl core: registered pin 50 (gpio50) on pinctrl-bcm2835
[    0.404410] pinctrl core: registered pin 51 (gpio51) on pinctrl-bcm2835
[    0.404584] pinctrl core: registered pin 52 (gpio52) on pinctrl-bcm2835
[    0.404758] pinctrl core: registered pin 53 (gpio53) on pinctrl-bcm2835
[    0.405034] pinctrl-bcm2835 3f200000.gpio: no hogs found
[    0.407185] pinctrl-bcm2835 3f200000.gpio: get 00000000 (0 => gpio_in)
[    0.407399] pinctrl-bcm2835 3f200000.gpio: get 00000000 (1 => gpio_in)
[    0.407556] pinctrl-bcm2835 3f200000.gpio: get 00000000 (2 => gpio_in)
[    0.407750] pinctrl-bcm2835 3f200000.gpio: get 00000000 (3 => gpio_in)
[    0.407944] pinctrl-bcm2835 3f200000.gpio: get 00000000 (4 => gpio_in)
[    0.408137] pinctrl-bcm2835 3f200000.gpio: get 00000000 (5 => gpio_in)
[    0.408330] pinctrl-bcm2835 3f200000.gpio: get 00000000 (6 => gpio_in)
[    0.408523] pinctrl-bcm2835 3f200000.gpio: get 00000000 (7 => gpio_in)
[    0.408713] pinctrl-bcm2835 3f200000.gpio: get 00000000 (8 => gpio_in)
[    0.408904] pinctrl-bcm2835 3f200000.gpio: get 00000000 (9 => gpio_in)
[    0.409095] pinctrl-bcm2835 3f200000.gpio: get 00000000 (10 => gpio_in)
[    0.409290] pinctrl-bcm2835 3f200000.gpio: get 00000000 (11 => gpio_in)
[    0.409483] pinctrl-bcm2835 3f200000.gpio: get 00000000 (12 => gpio_in)
[    0.409676] pinctrl-bcm2835 3f200000.gpio: get 00000000 (13 => gpio_in)
[    0.409870] pinctrl-bcm2835 3f200000.gpio: get 00000000 (14 => gpio_in)
[    0.410062] pinctrl-bcm2835 3f200000.gpio: get 00000000 (15 => gpio_in)
[    0.410257] pinctrl-bcm2835 3f200000.gpio: get 00000000 (16 => gpio_in)
[    0.410534] pinctrl-bcm2835 3f200000.gpio: get 00000000 (17 => gpio_in)
[    0.410675] pinctrl-bcm2835 3f200000.gpio: get 00000000 (18 => gpio_in)
[    0.410873] pinctrl-bcm2835 3f200000.gpio: get 00000000 (19 => gpio_in)
[    0.411083] pinctrl-bcm2835 3f200000.gpio: get 00000000 (20 => gpio_in)
[    0.411324] pinctrl-bcm2835 3f200000.gpio: get 00000000 (21 => gpio_in)
[    0.411498] pinctrl-bcm2835 3f200000.gpio: get 00000000 (22 => gpio_in)
[    0.411716] pinctrl-bcm2835 3f200000.gpio: get 00000000 (23 => gpio_in)
[    0.411911] pinctrl-bcm2835 3f200000.gpio: get 00000000 (24 => gpio_in)
[    0.412106] pinctrl-bcm2835 3f200000.gpio: get 00000000 (25 => gpio_in)
[    0.412301] pinctrl-bcm2835 3f200000.gpio: get 00000000 (26 => gpio_in)
[    0.412497] pinctrl-bcm2835 3f200000.gpio: get 00000000 (27 => gpio_in)
[    0.412698] pinctrl-bcm2835 3f200000.gpio: get 00000000 (28 => gpio_in)
[    0.412874] pinctrl-bcm2835 3f200000.gpio: get 00000000 (29 => gpio_in)
[    0.413052] pinctrl-bcm2835 3f200000.gpio: get 00000000 (30 => gpio_in)
[    0.413231] pinctrl-bcm2835 3f200000.gpio: get 00000000 (31 => gpio_in)
[    0.413410] pinctrl-bcm2835 3f200000.gpio: get 00000000 (32 => gpio_in)
[    0.413588] pinctrl-bcm2835 3f200000.gpio: get 00000000 (33 => gpio_in)
[    0.413766] pinctrl-bcm2835 3f200000.gpio: get 00000000 (34 => gpio_in)
[    0.413944] pinctrl-bcm2835 3f200000.gpio: get 00000000 (35 => gpio_in)
[    0.414124] pinctrl-bcm2835 3f200000.gpio: get 00000000 (36 => gpio_in)
[    0.414378] pinctrl-bcm2835 3f200000.gpio: get 00000000 (37 => gpio_in)
[    0.414658] pinctrl-bcm2835 3f200000.gpio: get 00000000 (38 => gpio_in)
[    0.414946] pinctrl-bcm2835 3f200000.gpio: get 00000000 (39 => gpio_in)
[    0.415135] pinctrl-bcm2835 3f200000.gpio: get 00000000 (40 => gpio_in)
[    0.415324] pinctrl-bcm2835 3f200000.gpio: get 00000000 (41 => gpio_in)
[    0.415513] pinctrl-bcm2835 3f200000.gpio: get 00000000 (42 => gpio_in)
[    0.415695] pinctrl-bcm2835 3f200000.gpio: get 00000000 (43 => gpio_in)
[    0.415883] pinctrl-bcm2835 3f200000.gpio: get 00000000 (44 => gpio_in)
[    0.416071] pinctrl-bcm2835 3f200000.gpio: get 00000000 (45 => gpio_in)
[    0.416259] pinctrl-bcm2835 3f200000.gpio: get 00000000 (46 => gpio_in)
[    0.416446] pinctrl-bcm2835 3f200000.gpio: get 00000000 (47 => gpio_in)
[    0.416635] pinctrl-bcm2835 3f200000.gpio: get 00000000 (48 => gpio_in)
[    0.416823] pinctrl-bcm2835 3f200000.gpio: get 00000000 (49 => gpio_in)
[    0.417010] pinctrl-bcm2835 3f200000.gpio: get 00000000 (50 => gpio_in)
[    0.417199] pinctrl-bcm2835 3f200000.gpio: get 00000000 (51 => gpio_in)
[    0.417387] pinctrl-bcm2835 3f200000.gpio: get 00000000 (52 => gpio_in)
[    0.417587] pinctrl-bcm2835 3f200000.gpio: get 00000000 (53 => gpio_in)
[    0.418692] gpio gpiochip0: (pinctrl-bcm2835): added GPIO chardev (254:0)
[    0.419257] gpiochip_setup_dev: registered GPIOs 0 to 53 on device: gpiochip0 (pinctrl-bcm2835)
[    0.420978] gpiochip_find_base: found new base at 504
[    0.421756] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 0 config (0 80)
[    0.422272] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 1 config (0 81)
[    0.422814] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 2 config (0 82)
[    0.423172] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 3 config (0 83)
[    0.423519] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 4 config (0 84)
[    0.423998] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 5 config (0 85)
[    0.424589] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 6 config (0 86)
[    0.425024] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 7 config (0 87)
[    0.426060] gpio gpiochip1: (raspberrypi-exp-gpio): added GPIO chardev (254:1)
[    0.426694] gpiochip_setup_dev: registered GPIOs 504 to 511 on device: gpiochip1 (raspberrypi-exp-gpio)
[    0.427728] bcm2708_fb soc:fb: More displays reported from firmware than supported in driver (4294967232 vs 3)
[    0.428054] bcm2708_fb soc:fb: FB found 3 display(s)
[    0.446314] Console: switching to colour frame buffer device 100x30
[    0.452659] bcm2708_fb soc:fb: Registered framebuffer for display 0, size 800x480
[    0.454192] bcm2708_fb soc:fb: Registered framebuffer for display 1, size 800x480
[    0.455617] bcm2708_fb soc:fb: Registered framebuffer for display 2, size 800x480
[    0.460358] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.469491] serial8250 serial8250: no of_node; not parsing pinctrl DT
[    0.470802] pinctrl core: add 0 pinctrl maps
[    0.476349] bcm2835-rng 3f104000.rng: hwrng registered
[    0.477257] vc-mem: phys_addr:0x00000000 mem_base=0x00000000 mem_size:0x00000000(0 MiB)
[    0.477425] random: fast init done
[    0.478813] random: crng init done
[    0.482215] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000
[    0.484727] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.520426] brd: module loaded
[    0.533422] loop: module loaded
[    0.535159] bcm2835-power bcm2835-power: no of_node; not parsing pinctrl DT
[    0.535636] bcm2835-power bcm2835-power: ASB register ID returned 0x00000000
[    0.537606] Loading iSCSI transport class v2.0-870.
[    0.541092] mdio_bus fixed-0: GPIO lookup for consumer reset
[    0.541253] mdio_bus fixed-0: using lookup tables for GPIO lookup
[    0.541455] mdio_bus fixed-0: No GPIO consumer reset found
[    0.542161] libphy: Fixed MDIO Bus: probed
[    0.542610] usbcore: registered new interface driver lan78xx
[    0.542828] usbcore: registered new interface driver smsc95xx
[    0.543062] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    0.747742] Core Release: 2.94a
[    0.748087] Setting default values for core params
[    0.749748] Finished setting default values for core params
[    0.951821] Using Buffer DMA mode
[    0.951992] Periodic Transfer Interrupt Enhancement - disabled
[    0.952156] Multiprocessor Interrupt Enhancement - disabled
[    0.952372] OTG VER PARAM: 0, OTG VER FLAG: 0
[    0.952743] Shared Tx FIFO mode
[    0.955579] WARN::dwc_otg_hcd_init:1072: FIQ DMA bounce buffers: virt = ffffffc010eb5000 dma = 0x00000000f8050000 len=9024
[    0.956059] FIQ FSM acceleration enabled for :
[    0.956059] Non-periodic Split Transactions
[    0.956059] Periodic Split Transactions
[    0.956059] High-Speed Isochronous Endpoints
[    0.956059] Interrupt/Control Split Transaction hack enabled
[    0.956657] dwc_otg: Microframe scheduler enabled
[    0.957034] WARN::hcd_init_fiq:472: MPHI regs_base at ffffffc01005d000
[    0.958133] dwc_otg 3f980000.usb: DWC OTG Controller
[    0.959142] dwc_otg 3f980000.usb: new USB bus registered, assigned bus number 1
[    0.960333] dwc_otg 3f980000.usb: irq 9, io mem 0x00000000
[    0.961264] Init: Port Power? op_state=1
[    0.961434] Init: Power Port (1)
[    0.968503] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[    0.968760] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.968994] usb usb1: Product: DWC OTG Controller
[    0.969126] usb usb1: Manufacturer: Linux 5.4.106 dwc_otg_hcd
[    0.969283] usb usb1: SerialNumber: 3f980000.usb
[    0.973501] hub 1-0:1.0: USB hub found
[    0.974174] hub 1-0:1.0: 1 port detected
[    0.978800] dwc_otg: FIQ enabled
[    0.978953] dwc_otg: NAK holdoff enabled
[    0.979076] dwc_otg: FIQ split-transaction FSM enabled
[    0.979325] Module dwc_common_port init
[    0.981092] usbcore: registered new interface driver uas
[    0.981582] usbcore: registered new interface driver usb-storage
[    0.983010] mousedev: PS/2 mouse device common for all mice
[    0.984058] bcm2835-wdt bcm2835-wdt: no of_node; not parsing pinctrl DT
[    0.987149] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    0.987848] raspberrypi-cpufreq raspberrypi-cpufreq: no of_node; not parsing pinctrl DT
[    0.988285] cpu cpu0: Cannot get clock for CPU0
[    0.988492] raspberrypi-cpufreq: probe of raspberrypi-cpufreq failed with error -2
[    0.989218] sdhci: Secure Digital Host Controller Interface driver
[    0.989402] sdhci: Copyright(c) Pierre Ossman
[    0.989909] pinctrl core: add 12 pinctrl maps
[    0.990955] pinctrl-bcm2835 3f200000.gpio: found group selector 34 for gpio34
[    0.991454] pinctrl-bcm2835 3f200000.gpio: found group selector 35 for gpio35
[    0.991686] pinctrl-bcm2835 3f200000.gpio: found group selector 36 for gpio36
[    0.991885] pinctrl-bcm2835 3f200000.gpio: found group selector 37 for gpio37
[    0.992090] pinctrl-bcm2835 3f200000.gpio: found group selector 38 for gpio38
[    0.992292] pinctrl-bcm2835 3f200000.gpio: found group selector 39 for gpio39
[    0.992761] pinctrl-bcm2835 3f200000.gpio: request pin 34 (gpio34) for 3f300000.mmcnr
[    0.993328] pinctrl-bcm2835 3f200000.gpio: read 00000000 (34 => gpio_in)
[    0.993604] pinctrl-bcm2835 3f200000.gpio: write 00007000 (34 <= alt3)
[    0.994166] pinctrl-bcm2835 3f200000.gpio: request pin 35 (gpio35) for 3f300000.mmcnr
[    0.994781] pinctrl-bcm2835 3f200000.gpio: read 00007000 (35 => gpio_in)
[    0.995006] pinctrl-bcm2835 3f200000.gpio: write 0003f000 (35 <= alt3)
[    0.995231] pinctrl-bcm2835 3f200000.gpio: request pin 36 (gpio36) for 3f300000.mmcnr
[    0.995492] pinctrl-bcm2835 3f200000.gpio: read 0003f000 (36 => gpio_in)
[    0.995716] pinctrl-bcm2835 3f200000.gpio: write 001ff000 (36 <= alt3)
[    0.995940] pinctrl-bcm2835 3f200000.gpio: request pin 37 (gpio37) for 3f300000.mmcnr
[    0.996199] pinctrl-bcm2835 3f200000.gpio: read 001ff000 (37 => gpio_in)
[    0.996419] pinctrl-bcm2835 3f200000.gpio: write 00fff000 (37 <= alt3)
[    0.996641] pinctrl-bcm2835 3f200000.gpio: request pin 38 (gpio38) for 3f300000.mmcnr
[    0.996899] pinctrl-bcm2835 3f200000.gpio: read 00fff000 (38 => gpio_in)
[    0.997161] pinctrl-bcm2835 3f200000.gpio: write 07fff000 (38 <= alt3)
[    0.997376] pinctrl-bcm2835 3f200000.gpio: request pin 39 (gpio39) for 3f300000.mmcnr
[    0.997629] pinctrl-bcm2835 3f200000.gpio: read 07fff000 (39 => gpio_in)
[    0.997843] pinctrl-bcm2835 3f200000.gpio: write 3ffff000 (39 <= alt3)
[    0.999725] mmc-bcm2835 3f300000.mmcnr: could not get clk, deferring probe
[    1.002676] pinctrl-bcm2835 3f200000.gpio: read 3ffff000 (34 => alt3)
[    1.002855] pinctrl-bcm2835 3f200000.gpio: write 3fff8000 (34 <= gpio_in)
[    1.003211] pinctrl-bcm2835 3f200000.gpio: read 3fff8000 (35 => alt3)
[    1.003433] pinctrl-bcm2835 3f200000.gpio: write 3ffc0000 (35 <= gpio_in)
[    1.003636] pinctrl-bcm2835 3f200000.gpio: read 3ffc0000 (36 => alt3)
[    1.003828] pinctrl-bcm2835 3f200000.gpio: write 3fe00000 (36 <= gpio_in)
[    1.004028] pinctrl-bcm2835 3f200000.gpio: read 3fe00000 (37 => alt3)
[    1.004223] pinctrl-bcm2835 3f200000.gpio: write 3f000000 (37 <= gpio_in)
[    1.004425] pinctrl-bcm2835 3f200000.gpio: read 3f000000 (38 => alt3)
[    1.004613] pinctrl-bcm2835 3f200000.gpio: write 38000000 (38 <= gpio_in)
[    1.004810] pinctrl-bcm2835 3f200000.gpio: read 38000000 (39 => alt3)
[    1.004999] pinctrl-bcm2835 3f200000.gpio: write 00000000 (39 <= gpio_in)
[    1.005674] pinctrl core: add 6 pinctrl maps
[    1.005854] pinctrl-bcm2835 3f200000.gpio: found group selector 48 for gpio48
[    1.006107] pinctrl-bcm2835 3f200000.gpio: found group selector 49 for gpio49
[    1.006413] pinctrl-bcm2835 3f200000.gpio: found group selector 50 for gpio50
[    1.006642] pinctrl-bcm2835 3f200000.gpio: found group selector 51 for gpio51
[    1.006871] pinctrl-bcm2835 3f200000.gpio: found group selector 52 for gpio52
[    1.007095] pinctrl-bcm2835 3f200000.gpio: found group selector 53 for gpio53
[    1.007311] pinctrl-bcm2835 3f200000.gpio: request pin 48 (gpio48) for 3f202000.mmc
[    1.007535] pinctrl-bcm2835 3f200000.gpio: read 00000000 (48 => gpio_in)
[    1.007732] pinctrl-bcm2835 3f200000.gpio: write 04000000 (48 <= alt0)
[    1.007947] pinctrl-bcm2835 3f200000.gpio: request pin 49 (gpio49) for 3f202000.mmc
[    1.008174] pinctrl-bcm2835 3f200000.gpio: read 04000000 (49 => gpio_in)
[    1.008349] pinctrl-bcm2835 3f200000.gpio: write 24000000 (49 <= alt0)
[    1.008516] pinctrl-bcm2835 3f200000.gpio: request pin 50 (gpio50) for 3f202000.mmc
[    1.008722] pinctrl-bcm2835 3f200000.gpio: read 00000000 (50 => gpio_in)
[    1.008888] pinctrl-bcm2835 3f200000.gpio: write 00000004 (50 <= alt0)
[    1.009049] pinctrl-bcm2835 3f200000.gpio: request pin 51 (gpio51) for 3f202000.mmc
[    1.009250] pinctrl-bcm2835 3f200000.gpio: read 00000004 (51 => gpio_in)
[    1.009425] pinctrl-bcm2835 3f200000.gpio: write 00000024 (51 <= alt0)
[    1.009589] pinctrl-bcm2835 3f200000.gpio: request pin 52 (gpio52) for 3f202000.mmc
[    1.009790] pinctrl-bcm2835 3f200000.gpio: read 00000024 (52 => gpio_in)
[    1.009966] pinctrl-bcm2835 3f200000.gpio: write 00000124 (52 <= alt0)
[    1.010130] pinctrl-bcm2835 3f200000.gpio: request pin 53 (gpio53) for 3f202000.mmc
[    1.010612] pinctrl-bcm2835 3f200000.gpio: read 00000124 (53 => gpio_in)
[    1.010835] pinctrl-bcm2835 3f200000.gpio: write 00000924 (53 <= alt0)
[    1.012050] sdhost-bcm2835 3f202000.mmc: could not get clk, deferring probe
[    1.012564] pinctrl-bcm2835 3f200000.gpio: read 24000000 (48 => alt0)
[    1.012825] pinctrl-bcm2835 3f200000.gpio: write 20000000 (48 <= gpio_in)
[    1.013093] pinctrl-bcm2835 3f200000.gpio: read 20000000 (49 => alt0)
[    1.013347] pinctrl-bcm2835 3f200000.gpio: write 00000000 (49 <= gpio_in)
[    1.013612] pinctrl-bcm2835 3f200000.gpio: read 00000924 (50 => alt0)
[    1.013861] pinctrl-bcm2835 3f200000.gpio: write 00000920 (50 <= gpio_in)
[    1.014125] pinctrl-bcm2835 3f200000.gpio: read 00000920 (51 => alt0)
[    1.014763] pinctrl-bcm2835 3f200000.gpio: write 00000900 (51 <= gpio_in)
[    1.015106] pinctrl-bcm2835 3f200000.gpio: read 00000900 (52 => alt0)
[    1.015394] pinctrl-bcm2835 3f200000.gpio: write 00000800 (52 <= gpio_in)
[    1.015698] pinctrl-bcm2835 3f200000.gpio: read 00000800 (53 => alt0)
[    1.015938] pinctrl-bcm2835 3f200000.gpio: write 00000000 (53 <= gpio_in)
[    1.016485] Error: Driver 'sdhost-bcm2835' is already registered, aborting...
[    1.016828] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.017280] pinctrl core: add 12 pinctrl maps
[    1.017512] pinctrl-bcm2835 3f200000.gpio: found group selector 34 for gpio34
[    1.017842] pinctrl-bcm2835 3f200000.gpio: found group selector 35 for gpio35
[    1.018176] pinctrl-bcm2835 3f200000.gpio: found group selector 36 for gpio36
[    1.018805] pinctrl-bcm2835 3f200000.gpio: found group selector 37 for gpio37
[    1.019271] pinctrl-bcm2835 3f200000.gpio: found group selector 38 for gpio38
[    1.019559] pinctrl-bcm2835 3f200000.gpio: found group selector 39 for gpio39
[    1.019892] pinctrl-bcm2835 3f200000.gpio: request pin 34 (gpio34) for 3f300000.mmcnr
[    1.020243] pinctrl-bcm2835 3f200000.gpio: read 00000000 (34 => gpio_in)
[    1.020524] pinctrl-bcm2835 3f200000.gpio: write 00007000 (34 <= alt3)
[    1.020807] pinctrl-bcm2835 3f200000.gpio: request pin 35 (gpio35) for 3f300000.mmcnr
[    1.021127] pinctrl-bcm2835 3f200000.gpio: read 00007000 (35 => gpio_in)
[    1.021415] pinctrl-bcm2835 3f200000.gpio: write 0003f000 (35 <= alt3)
[    1.021750] pinctrl-bcm2835 3f200000.gpio: request pin 36 (gpio36) for 3f300000.mmcnr
[    1.022074] pinctrl-bcm2835 3f200000.gpio: read 0003f000 (36 => gpio_in)
[    1.022448] pinctrl-bcm2835 3f200000.gpio: write 001ff000 (36 <= alt3)
[    1.022725] pinctrl-bcm2835 3f200000.gpio: request pin 37 (gpio37) for 3f300000.mmcnr
[    1.023046] pinctrl-bcm2835 3f200000.gpio: read 001ff000 (37 => gpio_in)
[    1.023343] pinctrl-bcm2835 3f200000.gpio: write 00fff000 (37 <= alt3)
[    1.023640] pinctrl-bcm2835 3f200000.gpio: request pin 38 (gpio38) for 3f300000.mmcnr
[    1.024044] pinctrl-bcm2835 3f200000.gpio: read 00fff000 (38 => gpio_in)
[    1.024339] pinctrl-bcm2835 3f200000.gpio: write 07fff000 (38 <= alt3)
[    1.024639] pinctrl-bcm2835 3f200000.gpio: request pin 39 (gpio39) for 3f300000.mmcnr
[    1.024887] pinctrl-bcm2835 3f200000.gpio: read 07fff000 (39 => gpio_in)
[    1.025100] pinctrl-bcm2835 3f200000.gpio: write 3ffff000 (39 <= alt3)
[    1.026991] sdhci-iproc 3f300000.mmcnr: GPIO lookup for consumer wp
[    1.027205] sdhci-iproc 3f300000.mmcnr: using device tree for GPIO lookup
[    1.027473] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/soc/mmcnr@7e300000[0]'
[    1.027772] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/soc/mmcnr@7e300000[0]'
[    1.028116] sdhci-iproc 3f300000.mmcnr: using lookup tables for GPIO lookup
[    1.028312] sdhci-iproc 3f300000.mmcnr: No GPIO consumer wp found
[    1.029283] pinctrl-bcm2835 3f200000.gpio: read 3ffff000 (34 => alt3)
[    1.029458] pinctrl-bcm2835 3f200000.gpio: write 3fff8000 (34 <= gpio_in)
[    1.029649] pinctrl-bcm2835 3f200000.gpio: read 3fff8000 (35 => alt3)
[    1.029823] pinctrl-bcm2835 3f200000.gpio: write 3ffc0000 (35 <= gpio_in)
[    1.030009] pinctrl-bcm2835 3f200000.gpio: read 3ffc0000 (36 => alt3)
[    1.030184] pinctrl-bcm2835 3f200000.gpio: write 3fe00000 (36 <= gpio_in)
[    1.030500] pinctrl-bcm2835 3f200000.gpio: read 3fe00000 (37 => alt3)
[    1.030656] pinctrl-bcm2835 3f200000.gpio: write 3f000000 (37 <= gpio_in)
[    1.030823] pinctrl-bcm2835 3f200000.gpio: read 3f000000 (38 => alt3)
[    1.030998] pinctrl-bcm2835 3f200000.gpio: write 38000000 (38 <= gpio_in)
[    1.031177] pinctrl-bcm2835 3f200000.gpio: read 38000000 (39 => alt3)
[    1.031352] pinctrl-bcm2835 3f200000.gpio: write 00000000 (39 <= gpio_in)
[    1.033013] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/act[0]' - status (0)
[    1.033797] pinctrl-bcm2835 3f200000.gpio: request pin 29 (gpio29) for pinctrl-bcm2835:29
[    1.034273] pinctrl-bcm2835 3f200000.gpio: get 00000000 (29 => gpio_in)
[    1.035191] gpio gpiochip0: Persistence not supported for GPIO 29
[    1.035423] no flags found for gpios
[    1.036417] pinctrl-bcm2835 3f200000.gpio: read 00000000 (29 => gpio_in)
[    1.036672] pinctrl-bcm2835 3f200000.gpio: write 08000000 (29 <= gpio_out)
[    1.038031] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/pwr[0]' - status (0)
[    1.038513] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 2 config (0 82)
[    1.038778] no flags found for gpios
[    1.039182] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 2 config (0 82)
[    1.042211] pinctrl-bcm2835 3f200000.gpio: read 08000000 (29 => gpio_out)
[    1.042803] pinctrl-bcm2835 3f200000.gpio: write 00000000 (29 <= gpio_in)
[    1.043382] leds-gpio: probe of leds failed with error -5
[    1.047654] vchiq: vchiq_init_state: slot_zero = 000000005ed20581
[    1.050262] bcm2835_vchiq 3f00b840.mailbox: failed to set channelbase
[    1.050784] vchiq: could not load vchiq
[    1.053248] NET: Registered protocol family 10
[    1.062614] Segment Routing with IPv6
[    1.063598] fullmesh registered
[    1.063719] ndiffports registered
[    1.063914] binder registered
[    1.064211] netlink registered
[    1.064342] roundrobin registered
[    1.064492] redundant registered
[    1.064631] blest registered
[    1.064765] ecf registered
[    1.064882] NET: Registered protocol family 17
[    1.066077] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.066858] 8021q: 802.1Q VLAN Support v1.8
[    1.069629] Key type ._fscrypt registered
[    1.069813] Key type .fscrypt registered
[    1.087873] pinctrl core: add 4 pinctrl maps
[    1.088096] pinctrl core: add 2 pinctrl maps
[    1.088336] pinctrl-bcm2835 3f200000.gpio: found group selector 32 for gpio32
[    1.088712] pinctrl-bcm2835 3f200000.gpio: found group selector 33 for gpio33
[    1.089045] pinctrl-bcm2835 3f200000.gpio: found group selector 43 for gpio43
[    1.089336] pinctrl-bcm2835 3f200000.gpio: request pin 32 (gpio32) for 3f201000.serial
[    1.089659] pinctrl-bcm2835 3f200000.gpio: read 00000000 (32 => gpio_in)
[    1.089901] pinctrl-bcm2835 3f200000.gpio: write 000001c0 (32 <= alt3)
[    1.090155] pinctrl-bcm2835 3f200000.gpio: request pin 33 (gpio33) for 3f201000.serial
[    1.090601] pinctrl-bcm2835 3f200000.gpio: read 000001c0 (33 => gpio_in)
[    1.090818] pinctrl-bcm2835 3f200000.gpio: write 00000fc0 (33 <= alt3)
[    1.091042] pinctrl-bcm2835 3f200000.gpio: request pin 43 (gpio43) for 3f201000.serial
[    1.091290] pinctrl-bcm2835 3f200000.gpio: read 00000000 (43 => gpio_in)
[    1.091499] pinctrl-bcm2835 3f200000.gpio: write 00000800 (43 <= alt0)
[    1.092430] uart-pl011 3f201000.serial: cts_event_workaround enabled
[    1.093379] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 66, base_baud = 0) is a PL011 rev2
[    1.095711] printk: console [ttyAMA0] enabled
[    1.095711] printk: console [ttyAMA0] enabled
[    1.096315] printk: bootconsole [pl11] disabled
[    1.096315] printk: bootconsole [pl11] disabled
[    1.099165] pinctrl core: add 0 pinctrl maps
[    1.103701] 3f215040.serial: ttyS0 at MMIO 0x0 (irq = 61, base_baud = 87500000) is a 16550
[    1.107853] bcm2835_thermal 3f212000.thermal: Not able to read trip_temp: -33
[    1.208475] bcm2835-clk 3f101000.cprman: tsens: couldn't lock PLL
[    1.209216] bcm2835_thermal: probe of 3f212000.thermal failed with error -33
[    1.209859] pinctrl core: add 12 pinctrl maps
[    1.210090] pinctrl-bcm2835 3f200000.gpio: found group selector 34 for gpio34
[    1.210498] pinctrl-bcm2835 3f200000.gpio: found group selector 35 for gpio35
[    1.210873] pinctrl-bcm2835 3f200000.gpio: found group selector 36 for gpio36
[    1.211161] pinctrl-bcm2835 3f200000.gpio: found group selector 37 for gpio37
[    1.211451] pinctrl-bcm2835 3f200000.gpio: found group selector 38 for gpio38
[    1.211806] pinctrl-bcm2835 3f200000.gpio: found group selector 39 for gpio39
[    1.212060] pinctrl-bcm2835 3f200000.gpio: request pin 34 (gpio34) for 3f300000.mmcnr
[    1.212312] pinctrl-bcm2835 3f200000.gpio: read 00000fc0 (34 => gpio_in)
[    1.212522] pinctrl-bcm2835 3f200000.gpio: write 00007fc0 (34 <= alt3)
[    1.212749] pinctrl-bcm2835 3f200000.gpio: request pin 35 (gpio35) for 3f300000.mmcnr
[    1.213022] pinctrl-bcm2835 3f200000.gpio: read 00007fc0 (35 => gpio_in)
[    1.213238] pinctrl-bcm2835 3f200000.gpio: write 0003ffc0 (35 <= alt3)
[    1.213461] pinctrl-bcm2835 3f200000.gpio: request pin 36 (gpio36) for 3f300000.mmcnr
[    1.213718] pinctrl-bcm2835 3f200000.gpio: read 0003ffc0 (36 => gpio_in)
[    1.213936] pinctrl-bcm2835 3f200000.gpio: write 001fffc0 (36 <= alt3)
[    1.214154] pinctrl-bcm2835 3f200000.gpio: request pin 37 (gpio37) for 3f300000.mmcnr
[    1.214595] pinctrl-bcm2835 3f200000.gpio: read 001fffc0 (37 => gpio_in)
[    1.214872] pinctrl-bcm2835 3f200000.gpio: write 00ffffc0 (37 <= alt3)
[    1.215134] pinctrl-bcm2835 3f200000.gpio: request pin 38 (gpio38) for 3f300000.mmcnr
[    1.215444] pinctrl-bcm2835 3f200000.gpio: read 00ffffc0 (38 => gpio_in)
[    1.215680] pinctrl-bcm2835 3f200000.gpio: write 07ffffc0 (38 <= alt3)
[    1.215925] pinctrl-bcm2835 3f200000.gpio: request pin 39 (gpio39) for 3f300000.mmcnr
[    1.216216] pinctrl-bcm2835 3f200000.gpio: read 07ffffc0 (39 => gpio_in)
[    1.216465] pinctrl-bcm2835 3f200000.gpio: write 3fffffc0 (39 <= alt3)
[    1.217278] mmc-bcm2835 3f300000.mmcnr: GPIO lookup for consumer wp
[    1.217530] mmc-bcm2835 3f300000.mmcnr: using device tree for GPIO lookup
[    1.217830] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/soc/mmcnr@7e300000[0]'
[    1.218184] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/soc/mmcnr@7e300000[0]'
[    1.218807] mmc-bcm2835 3f300000.mmcnr: using lookup tables for GPIO lookup
[    1.219151] mmc-bcm2835 3f300000.mmcnr: No GPIO consumer wp found
[    1.219765] mmc-bcm2835 3f300000.mmcnr: mmc_debug:0 mmc_debug2:0
[    1.220035] mmc-bcm2835 3f300000.mmcnr: DMA channel allocated
[    1.252488] pinctrl core: add 6 pinctrl maps
[    1.253116] pinctrl-bcm2835 3f200000.gpio: found group selector 48 for gpio48
[    1.253911] pinctrl-bcm2835 3f200000.gpio: found group selector 49 for gpio49
[    1.255155] pinctrl-bcm2835 3f200000.gpio: found group selector 50 for gpio50
[    1.255990] pinctrl-bcm2835 3f200000.gpio: found group selector 51 for gpio51
[    1.256760] pinctrl-bcm2835 3f200000.gpio: found group selector 52 for gpio52
[    1.257517] pinctrl-bcm2835 3f200000.gpio: found group selector 53 for gpio53
[    1.258289] pinctrl-bcm2835 3f200000.gpio: request pin 48 (gpio48) for 3f202000.mmc
[    1.259411] pinctrl-bcm2835 3f200000.gpio: read 00000800 (48 => gpio_in)
[    1.260132] pinctrl-bcm2835 3f200000.gpio: write 04000800 (48 <= alt0)
[    1.260814] pinctrl-bcm2835 3f200000.gpio: request pin 49 (gpio49) for 3f202000.mmc
[    1.261606] pinctrl-bcm2835 3f200000.gpio: read 04000800 (49 => gpio_in)
[    1.262295] pinctrl-bcm2835 3f200000.gpio: write 24000800 (49 <= alt0)
[    1.263303] pinctrl-bcm2835 3f200000.gpio: request pin 50 (gpio50) for 3f202000.mmc
[    1.263851] pinctrl-bcm2835 3f200000.gpio: read 00000000 (50 => gpio_in)
[    1.264504] pinctrl-bcm2835 3f200000.gpio: write 00000004 (50 <= alt0)
[    1.265129] pinctrl-bcm2835 3f200000.gpio: request pin 51 (gpio51) for 3f202000.mmc
[    1.265802] pinctrl-bcm2835 3f200000.gpio: read 00000004 (51 => gpio_in)
[    1.266254] pinctrl-bcm2835 3f200000.gpio: write 00000024 (51 <= alt0)
[    1.266938] pinctrl-bcm2835 3f200000.gpio: request pin 52 (gpio52) for 3f202000.mmc
[    1.267469] pinctrl-bcm2835 3f200000.gpio: read 00000024 (52 => gpio_in)
[    1.267891] pinctrl-bcm2835 3f200000.gpio: write 00000124 (52 <= alt0)
[    1.268437] pinctrl-bcm2835 3f200000.gpio: request pin 53 (gpio53) for 3f202000.mmc
[    1.269037] pinctrl-bcm2835 3f200000.gpio: read 00000124 (53 => gpio_in)
[    1.269556] pinctrl-bcm2835 3f200000.gpio: write 00000924 (53 <= alt0)
[    1.271488] sdhost: log_buf @ 00000000c3df134d (f5f6c000)
[    1.272285] sdhost-bcm2835 3f202000.mmc: GPIO lookup for consumer cd
[    1.272658] sdhost-bcm2835 3f202000.mmc: using device tree for GPIO lookup
[    1.273157] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/soc/mmc@7e202000[0]'
[    1.273543] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/soc/mmc@7e202000[0]'
[    1.273906] sdhost-bcm2835 3f202000.mmc: using lookup tables for GPIO lookup
[    1.274181] sdhost-bcm2835 3f202000.mmc: No GPIO consumer cd found
[    1.274713] sdhost-bcm2835 3f202000.mmc: GPIO lookup for consumer wp
[    1.274978] sdhost-bcm2835 3f202000.mmc: using device tree for GPIO lookup
[    1.275285] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/soc/mmc@7e202000[0]'
[    1.275661] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/soc/mmc@7e202000[0]'
[    1.276035] sdhost-bcm2835 3f202000.mmc: using lookup tables for GPIO lookup
[    1.276328] sdhost-bcm2835 3f202000.mmc: No GPIO consumer wp found
[    1.324896] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1)
[    1.325856] of_cfs_init
[    1.328064] of_cfs_init: OK
[    1.337250] uart-pl011 3f201000.serial: no DMA platform data
[    1.340750] Waiting for root device /dev/mmcblk0p2...
[    1.378163] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.379559] mmc0: new high speed SD card at address 4567
[    1.380335] mmcblk mmc0:4567: no of_node; not parsing pinctrl DT
[    1.383838] mmcblk0: mmc0:4567 QEMU! 1.00 GiB
[    1.397639]  mmcblk0: p1 p2
[    1.441759] EXT4-fs (mmcblk0p2): warning: mounting unchecked fs, running e2fsck is recommended
[    1.448618] EXT4-fs (mmcblk0p2): mounted filesystem without journal. Opts: (null)
[    1.449340] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    1.455594] devtmpfs: mounted
[    1.460570] Freeing unused kernel memory: 512K
[    1.465245] Run /sbin/init as init process
[    1.994843] init: Console is alive

@jjak0b
Copy link
Author

jjak0b commented Mar 10, 2022

i forgot to say that i tested this not using native emulation, because i want to test it as vm before using it on rpi4.
the vm host is not a rpi4 but a x86_64 machine, but should't be a problem since i'm emulating rpi

@jjak0b
Copy link
Author

jjak0b commented Mar 10, 2022

After some tests i find out that it's an OpenWrt issue.
for some reason i think the built OpenWrt image isn't qemu compatible ( maybe because there are network issues about virtio-net-pci).
The only way that i tested and works is setting the machine type as virt and set the kernel & fsroot in a drive both of a compiled OpenMPTCRouter build for armvirt platform.
The build process is explained here; Just checkout to a version and set the same version to OMR_FEED_SRC. in my case i set OMR_TARGET="armvirt" OMR_FEED_SRC=" v0.58.5".
In make menuconfig phase, i set the arm virt target and cortex-a53 architecture.
After the build the images are in the armvirt/source/bin/ folder.
In my case i run the following code:

EMU32=qemu-system-arm
EMU64=qemu-system-aarch64
EMU=$EMU64
MACHINE=virt
CPU=cortex-a53 # 64bit
CORES=2
RAM=1G
DRIVE="openmptcprouter-v0.58.5-f557cb00-r0+16336-b36068d35d-armvirt-64-rootfs-ext4.img"
KERNEL="openmptcprouter-v0.58.5-f557cb00-r0+16336-b36068d35d-armvirt-64-Image"

$EMU \
	-M virt \
	-cpu $CPU \
	-smp $CORES \
	-m $RAM \
	-no-reboot -nographic \
	-drive file=$DRIVE,format=raw,if=virtio \
	-kernel $KERNEL \
	-append "earlyprintk loglevel=8 console=ttyAMA0 root=/dev/vda rootfstype=ext4 rootwait" \
	-device virtio-net-pci,netdev=net \
	-netdev type=user,id=net,hostfwd=tcp::2222-:22 \
#	-netdev type=bridge,br=virbr0,helper=/usr/lib/qemu/qemu-bridge-helper,id=net  # for this see https://wiki.qemu.org/Features/HelperNetworking
#	-serial stdio

But this will emulate the virt machine, so if you want run qemu KVM on RPI, the CPU var should be set as "host". (i didn't test this yet, but i will try soon)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants