Skip to content

khadas-vim3: u-boot: bump to 2025.04-rc5; boot SD first; enable setexpr; patch 2025.04 for fileenv; enable squashfs support #8044

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

Conversation

rpardini
Copy link
Member

@github-actions github-actions bot added size/medium PR with more then 50 and less then 250 lines Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels Mar 31, 2025
@rpardini
Copy link
Member Author

Reminder: to be able to write u-boot to SPI, edit /boot/armbianEnv.txt:

#fdtfile=amlogic/meson-g12b-a311d-khadas-vim3.dtb
fdtfile=amlogic/meson-g12b-a311d-khadas-vim3-spinor.dtb

then reboot and then run armbian-install and write u-boot to "MTD"

early bootlog (from SPI):

G12B:BL:6e7c85:2a3b91;FEAT:E0F83180:402000;POC:B;RCY:0;SPINOR:0;0.
bl2_stage_init 0x0b
bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0000 - pwm id 0x01
bl2_stage_init 0xc1
bl2_stage_init 0x02

L0:00000000
L1:20000703
L2:00008067
L3:14000000
B2:00402000
B1:e0f83180

TE: 59953

BL2 Built : 13:12:17, Sep 21 2023. g12b amlogic-dev g34b3d81e-dirty - bichao.zheng@rd02-sz

Board ID = 8
Set A53 clk to 24M
Set A73 clk to 24M
Set clk81 to 24M
A53 clk: 1200 MHz
A73 clk: 1200 MHz
CLK81: 166.6M
smccc: 0001383a
SPI NOR init
storage init finish
board id: 8
Load FIP HDR DDR from SPI, src: 0x00010000, des: 0xfffd0000, size: 0x00004000, part: 0
Get wrong ddr fw magic! Error!!
fw parse done
PIEI prepare done
fastboot data verify
result: 255
Cfg max: 12, cur: 1. Board id: 255. Force loop cfg
LPDDR4 probe

LPDDR4_PHY_V_0_1_22-Built : 14:57:26, Sep  1 2020. g12b g3c95fed - gongwei.chen@droid11-sz
ddr clk to 1608MHz

dmc_version 0001
Check phy result
INFO : End of CA training
INFO : End of initialization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read enable training
INFO : End of fine write leveling
INFO : End of read dq deskew training
INFO : End of MPR read delay center optimization
INFO : End of Write leveling coarse delay
INFO : End of read delay center optimization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of MPR read delay center optimization
INFO : End of write delay center optimization
INFO : End of read delay center optimization
INFO : End of max read latency training
INFO : Training has run successfully!
1D training succeed
Check phy result
INFO : End of initialization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : Training has run successfully!

soc_vref_reg_value 0x 00000026 00000027 00000025 00000027 00000025 00000026 00000027 00000026 00000026 00000027 00000025 00000024 00000027 00000026 00000024 00000027 00000025 00000028 00000026 00000027 00000026 00000027 00000026 00000025 00000027 00000027 00000027 00000029 00000028 00000027 00000026 00000025 dwc_ddrphy_apb_wr((0<<20)|(2<<16)|(0<<12)|(0xb0):0004
 dram_vref_reg_value 0x 00000016
2D training succeed
auto size-- 65535DDR cs0 size: 2048MB
DDR cs1 size: 2048MB
DMC_DDR_CTRL: 00e00024DDR size: 3928MB
cs0 DataBus test pass
cs1 DataBus test pass
cs0 AddrBus test pass
cs1 AddrBus test pass

non-sec scramble use zero key
ddr scramble enabled

100bdlr_step_size ps== 437
result report
boot times 0Enable ddr reg access
Load FIP HDR from SPI, src: 0x00010000, des: 0x01700000, size: 0x00004000, part: 0
Load BL3X from SPI, src: 0x00078000, des: 0x01768000, size: 0x000c0000, part: 0
0.0;M3 CHK:0;cm4_sp_mode 0
MVN_1=0x00000000
MVN_2=0x00000000
[Image: g12b_v1.1.3390-6ac5299 2019-09-26 14:10:05 luan.yuan@droid15-sz]
OPS=0x10
ring efuse init
chipver efuse init
29 0b 10 00 01 17 0e 00 00 0a 37 37 34 54 33 50
[1.159871 Inits done]
secure task start!
high task start!
low task start!
run into bl31
NOTICE:  BL31: v1.3(release):4fc40b1
NOTICE:  BL31: Built : 15:58:17, May 22 2019
NOTICE:  BL31: G12A normal boot!
NOTICE:  BL31: BL33 decompress pass
ERROR:   Error initializing runtime service opteed_fast

<debug_uart>
serial_meson serial@3000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19


U-Boot 2025.04-rc4-armbian-2025.04-rc4-Sa383-Ped88-Hbe13-Vc6b6-B1e5e-R448a+ (Mar 31 2025 - 16:23:07 +0000) khadas-vim3

Model: Khadas VIM3
SoC:   Amlogic Meson G12B (A311D) Revision 29:b (10:2)
DRAM:  2 GiB (effective 3.8 GiB)
Core:  414 devices, 38 uclasses, devicetree: separate
MMC:   mmc@ffe03000: 0, mmc@ffe05000: 1, mmc@ffe07000: 2
Loading Environment from nowhere... OK
In:    usbkbd,serial
Out:   vidconsole,serial
Err:   vidconsole,serial
Net:   dwmac_meson8b ethernet@ff3f0000: Can't get reset: -2
eth0: ethernet@ff3f0000

Hit any key to stop autoboot:  0

printenv:

=> printenv
arch=arm
baudrate=115200
board=vim3
board_name=vim3
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_efi_binary=load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr -q ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
boot_efi_bootmgr=if fdt addr -q ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr;fi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf}
boot_net_usb_start=usb start
boot_pci_enum=pci enum
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_source=spi
boot_syslinux_conf=extlinux/extlinux.conf
boot_targets=romusb usbdfu mmc0 mmc1 usb0 nvme0 mmc2 pxe dhcp
bootcmd=run distro_bootcmd
bootcmd_dhcp=devtype=dhcp; run boot_net_usb_start; run boot_pci_enum; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr -q ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
bootcmd_mmc0=devnum=0; run mmc_boot
bootcmd_mmc1=devnum=1; run mmc_boot
bootcmd_mmc2=devnum=2; run mmc_boot
bootcmd_nvme0=devnum=0; run nvme_boot
bootcmd_pxe=run boot_net_usb_start; run boot_pci_enum; dhcp; if pxe get; then pxe boot; fi
bootcmd_romusb=if test "${boot_source}" = "usb" && test -n "${scriptaddr}"; then echo '(ROM USB boot)'; source ${scriptaddr}; fi
bootcmd_usb0=devnum=0; run usb_boot
bootcmd_usbdfu=if test "${boot_source}" = "usb"; then dfu 0 ram 0 60;bootm ${kernel_addr_r};fi
bootdelay=2
cpu=armv8
dfu_alt_info=fitimage ram 0x08080000 0x4000000
distro_bootcmd=setenv nvme_need_init; for target in ${boot_targets}; do run bootcmd_${target}; done
efi_dtb_prefixes=/ /dtb/ /dtb/current/
ethaddr=c8:63:14:72:4e:ac
fdt_addr_r=0x08008000
fdtcontroladdr=f0eed800
fdtfile=amlogic/meson-g12b-a311d-khadas-vim3.dtb
fdtoverlay_addr_r=0x01000000
kernel_addr_r=0x08080000
kernel_comp_addr_r=0x0d080000
kernel_comp_size=0x2000000
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
loadaddr=0x1000000
mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi
nvme_boot=run boot_pci_enum; run nvme_init; if nvme dev ${devnum}; then devtype=nvme; run scan_dev_for_boot_part; fi
nvme_init=if ${nvme_need_init}; then setenv nvme_need_init false; nvme scan; fi
pxefile_addr_r=0x01080000
ramdisk_addr_r=0x13000000
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then part uuid ${devtype} ${devnum}:${distro_bootpart} distro_bootpart_uuid ; run scan_dev_for_boot; fi; done; setenv devplist
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;run boot_efi_bootmgr;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo EXTLINUX FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scriptaddr=0x08000000
serial#=C86314724EAC
soc=meson
stderr=vidconsole,serial
stdin=usbkbd,serial
stdout=vidconsole,serial
usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi
usb_ignorelist=0x1050:*,
vendor=amlogic

Complete bootlog from SPI+NVMe:

G12B:BL:6e7c85:2a3b91;FEAT:E0F83180:402000;POC:B;RCY:0;SPINOR:0;0.
                                                                  bl2_stage_init 0x0b
bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0000 - pwm id 0x01
bl2_stage_init 0xc1
bl2_stage_init 0x02

L0:00000000
L1:20000703
L2:00008067
L3:14000000
B2:00402000
B1:e0f83180

TE: 59953

BL2 Built : 13:12:17, Sep 21 2023. g12b amlogic-dev g34b3d81e-dirty - bichao.zheng@rd02-sz

Board ID = 8
Set A53 clk to 24M
Set A73 clk to 24M
Set clk81 to 24M
A53 clk: 1200 MHz
A73 clk: 1200 MHz
CLK81: 166.6M
smccc: 00013839
SPI NOR init
storage init finish
board id: 8
Load FIP HDR DDR from SPI, src: 0x00010000, des: 0xfffd0000, size: 0x00004000, part: 0
Get wrong ddr fw magic! Error!!
fw parse done
PIEI prepare done
fastboot data verify
result: 255
Cfg max: 12, cur: 1. Board id: 255. Force loop cfg
LPDDR4 probe

LPDDR4_PHY_V_0_1_22-Built : 14:57:26, Sep  1 2020. g12b g3c95fed - gongwei.chen@droid11-sz
ddr clk to 1608MHz

dmc_version 0001
Check phy result
INFO : End of CA training
INFO : End of initialization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read enable training
INFO : End of fine write leveling
INFO : End of read dq deskew training
INFO : End of MPR read delay center optimization
INFO : End of Write leveling coarse delay
INFO : End of read delay center optimization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of MPR read delay center optimization
INFO : End of write delay center optimization
INFO : End of read delay center optimization
INFO : End of max read latency training
INFO : Training has run successfully!
1D training succeed
Check phy result
INFO : End of initialization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : Training has run successfully!

soc_vref_reg_value 0x 00000026 00000027 00000026 00000027 00000025 00000026 00000027 00000026 00000027 00000027 00000025 00000025 00000028 00000027 00000024 00000027 00000025 00000027 00000026 00000027 00000026 00000027 00000026 00000025 00000028 00000027 00000027 00000029 00000028 00000027 00000027 00000025 dwc_ddrphy_apb_wr((0<<20)|(2<<16)|(0<<12)|(0xb0):0004
 dram_vref_reg_value 0x 00000015
2D training succeed
auto size-- 65535DDR cs0 size: 2048MB
DDR cs1 size: 2048MB
DMC_DDR_CTRL: 00e00024DDR size: 3928MB
cs0 DataBus test pass
cs1 DataBus test pass
cs0 AddrBus test pass
cs1 AddrBus test pass

non-sec scramble use zero key
ddr scramble enabled

100bdlr_step_size ps== 444
result report
boot times 0Enable ddr reg access
Load FIP HDR from SPI, src: 0x00010000, des: 0x01700000, size: 0x00004000, part: 0
Load BL3X from SPI, src: 0x00078000, des: 0x01768000, size: 0x000c0000, part: 0
0.0;M3 CHK:0;cm4_sp_mode 0
MVN_1=0x00000000
MVN_2=0x00000000
[Image: g12b_v1.1.3390-6ac5299 2019-09-26 14:10:05 luan.yuan@droid15-sz]
OPS=0x10
ring efuse init
chipver efuse init
29 0b 10 00 01 17 0e 00 00 0a 37 37 34 54 33 50
[1.155846 Inits done]
secure task start!
high task start!
low task start!
run into bl31
NOTICE:  BL31: v1.3(release):4fc40b1
NOTICE:  BL31: Built : 15:58:17, May 22 2019
NOTICE:  BL31: G12A normal boot!
NOTICE:  BL31: BL33 decompress pass
ERROR:   Error initializing runtime service opteed_fast

<debug_uart>
serial_meson serial@3000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19


U-Boot 2025.04-rc4-armbian-2025.04-rc4-Sa383-Ped88-Hbe13-Vc6b6-B1e5e-R448a+ (Mar 31 2025 - 16:23:07 +0000) khadas-vim3

Model: Khadas VIM3
SoC:   Amlogic Meson G12B (A311D) Revision 29:b (10:2)
DRAM:  2 GiB (effective 3.8 GiB)
Core:  414 devices, 38 uclasses, devicetree: separate
MMC:   mmc@ffe03000: 0, mmc@ffe05000: 1, mmc@ffe07000: 2
Loading Environment from nowhere... OK
In:    usbkbd,serial
Out:   vidconsole,serial
Err:   vidconsole,serial
Net:   dwmac_meson8b ethernet@ff3f0000: Can't get reset: -2
eth0: ethernet@ff3f0000

Hit any key to stop autoboot:  0
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
starting USB...
Bus usb@ff500000: Register 3000140 NbrPorts 3
Starting the controller
USB XHCI 1.10
scanning bus usb@ff500000 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
PCIE-0: Link up (Gen2-x1, Bus0)

Device 0: Vendor: 0x126f Rev: U0914A0L Prod: 30057869064
            Type: Hard Disk
            Capacity: 488386.3 MB = 476.9 GB (1000215216 x 512)
... is now current device
Scanning nvme 0:1...
Found U-Boot script /boot/boot.scr
8133 bytes read in 0 ms
## Executing script at 08000000
U-boot default fdtfile: amlogic/meson-g12b-a311d-khadas-vim3.dtb
Current variant:
212 bytes read in 0 ms
Current fdtfile after armbianEnv: amlogic/meson-g12b-a311d-khadas-vim3.dtb
Mainline bootargs: root=UUID=b2d1e8b1-a822-48ec-951d-940632606acc rootwait rootfstype=ext4 splash=verbose console=ttyAML0,115200 consoleblank=0 coherent_pool=2M loglevel=7 ubootpart= libata.force=noncq usb-storage.quirks=  systemd.unified_cgroup_hierarchy=false  cgroup_enable=memory
24821382 bytes read in 66 ms (358.7 MiB/s)
35803648 bytes read in 95 ms (359.4 MiB/s)
80629 bytes read in 1 ms (76.9 MiB/s)
Working FDT set to 4080000
232 bytes read in 1 ms (226.6 KiB/s)
Applying kernel provided DT fixup script (meson-fixup.scr)
## Executing script at 32000000
## Loading init Ramdisk from Legacy Image at 13000000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    24821318 Bytes = 23.7 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 04080000
   Booting using the fdt blob at 0x4080000
Working FDT set to 4080000
   Loading Ramdisk to 7e854000, end 7ffffe46 ... OK
   Loading Device Tree to 000000007e7d7000, end 000000007e853fff ... OK
Working FDT set to 7e7d7000
vim3: successfully enabled PCIe

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.14.0-edge-meson64 (build@armbian) (aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #2 SMP PREEMPT Mon Mar 24 14:02:41 UTC 2025
[    0.000000] Machine model: Khadas VIM3
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x00000000e4c00000, size 256 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] OF: reserved mem: 0x00000000e4c00000..0x00000000f4bfffff (262144 KiB) map reusable linux,cma
[    0.000000] OF: reserved mem: 0x0000000005000000..0x00000000052fffff (3072 KiB) nomap non-reusable secmon@5000000
[    0.000000] OF: reserved mem: 0x0000000005300000..0x00000000072fffff (32768 KiB) nomap non-reusable secmon@5300000
[    0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x00000000f4e5afff]
[    0.000000] NODE_DATA(0) allocated [mem 0xe46496c0-0xe464be7f]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x00000000f4e5afff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000004ffffff]
[    0.000000]   node   0: [mem 0x0000000005000000-0x00000000072fffff]
[    0.000000]   node   0: [mem 0x0000000007300000-0x00000000f4e5afff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000000f4e5afff]
[    0.000000] On node 0, zone DMA: 12709 pages in unavailable ranges
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] RME: RMM doesn't support RSI version 1.0. Supported range: 1.0-0.0
[    0.000000] percpu: Embedded 25 pages/cpu s62296 r8192 d31912 u102400
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Kernel command line: root=UUID=b2d1e8b1-a822-48ec-951d-940632606acc rootwait rootfstype=ext4 splash=verbose console=ttyAML0,115200 consoleblank=0 coherent_pool=2M loglevel=7 ubootpart= libata.force=noncq usb-storage.quirks=  systemd.unified_cgroup_hierarchy=false  cgroup_enable=memory
[    0.000000] Unknown kernel command line parameters "splash=verbose ubootpart= cgroup_enable=memory", will be passed to user space.
[    0.000000] printk: log buffer data + meta data: 131072 + 458752 = 589824 bytes
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Fallback order for Node 0: 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1003099
[    0.000000] Policy zone: DMA
[    0.000000] mem auto-init: stack:off, heap alloc:on, heap free:off
[    0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted to 3MB
[    0.000000] software IO TLB: area num 8.
[    0.000000] software IO TLB: mapped [mem 0x00000000dfd6a000-0x00000000e016a000] (4MB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=6.
[    0.000000] 	Trampoline variant of Tasks RCU enabled.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=6
[    0.000000] RCU Tasks: Setting shift to 3 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=6.
[    0.000000] RCU Tasks Trace: Setting shift to 3 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=6.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000001] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000283] Console: colour dummy device 80x25
[    0.000379] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)
[    0.000389] pid_max: default: 32768 minimum: 301
[    0.000467] LSM: initializing lsm=capability,yama,apparmor
[    0.000517] Yama: becoming mindful.
[    0.000765] AppArmor: AppArmor initialized
[    0.000868] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.000889] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.004039] rcu: Hierarchical SRCU implementation.
[    0.004050] rcu: 	Max phase no-delay instances is 1000.
[    0.004280] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[    0.008472] EFI services will not be available.
[    0.011786] smp: Bringing up secondary CPUs ...
[    0.020225] Detected VIPT I-cache on CPU1
[    0.020341] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.024934] CPU features: detected: Spectre-v2
[    0.024946] CPU features: detected: Spectre-v4
[    0.024949] CPU features: detected: Spectre-BHB
[    0.024954] CPU features: detected: ARM erratum 858921
[    0.024961] Detected VIPT I-cache on CPU2
[    0.025032] arch_timer: Enabling local workaround for ARM erratum 858921
[    0.025048] arch_timer: CPU2: Trapping CNTVCT access
[    0.025058] CPU2: Booted secondary processor 0x0000000100 [0x410fd092]
[    0.028089] Detected VIPT I-cache on CPU3
[    0.028132] arch_timer: Enabling local workaround for ARM erratum 858921
[    0.028141] arch_timer: CPU3: Trapping CNTVCT access
[    0.028148] CPU3: Booted secondary processor 0x0000000101 [0x410fd092]
[    0.028933] Detected VIPT I-cache on CPU4
[    0.028976] arch_timer: Enabling local workaround for ARM erratum 858921
[    0.028985] arch_timer: CPU4: Trapping CNTVCT access
[    0.028992] CPU4: Booted secondary processor 0x0000000102 [0x410fd092]
[    0.040110] Detected VIPT I-cache on CPU5
[    0.040156] arch_timer: Enabling local workaround for ARM erratum 858921
[    0.040164] arch_timer: CPU5: Trapping CNTVCT access
[    0.040171] CPU5: Booted secondary processor 0x0000000103 [0x410fd092]
[    0.040278] smp: Brought up 1 node, 6 CPUs
[    0.040289] SMP: Total of 6 processors activated.
[    0.040292] CPU: All CPU(s) started at EL2
[    0.040309] CPU features: detected: 32-bit EL0 Support
[    0.040312] CPU features: detected: 32-bit EL1 Support
[    0.040317] CPU features: detected: CRC32 instructions
[    0.040387] alternatives: applying system-wide alternatives
[    0.041797] Memory: 3567856K/4012396K available (17280K kernel code, 1684K rwdata, 11568K rodata, 4288K init, 635K bss, 178532K reserved, 262144K cma-reserved)
[    0.043257] devtmpfs: initialized
[    0.055572] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.055626] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
[    0.063896] 23840 pages in range for non-PLT usage
[    0.063906] 515360 pages in range for PLT usage
[    0.064158] pinctrl core: initialized pinctrl subsystem
[    0.064837] DMI not present or invalid.
[    0.067645] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.069991] DMA: preallocated 2048 KiB GFP_KERNEL pool for atomic allocations
[    0.071882] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.073992] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.074063] audit: initializing netlink subsys (disabled)
[    0.074351] audit: type=2000 audit(0.072:1): state=initialized audit_enabled=0 res=1
[    0.074808] thermal_sys: Registered thermal governor 'fair_share'
[    0.074815] thermal_sys: Registered thermal governor 'bang_bang'
[    0.074819] thermal_sys: Registered thermal governor 'step_wise'
[    0.074822] thermal_sys: Registered thermal governor 'user_space'
[    0.074879] cpuidle: using governor menu
[    0.075211] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.075344] ASID allocator initialised with 65536 entries
[    0.075647] Serial: AMBA PL011 UART driver
[    0.081834] /soc/bus@ff600000/hdmi-tx@0: Fixed dependency cycle(s) with /soc/vpu@ff900000
[    0.082234] /soc/vpu@ff900000: Fixed dependency cycle(s) with /soc/bus@ff600000/hdmi-tx@0
[    0.082253] /soc/interrupt-controller@ffc01000: Fixed dependency cycle(s) with /soc/interrupt-controller@ffc01000
[    0.082837] /soc/bus@ff600000/hdmi-tx@0: Fixed dependency cycle(s) with /soc/vpu@ff900000
[    0.083224] /soc/bus@ff600000/hdmi-tx@0: Fixed dependency cycle(s) with /soc/vpu@ff900000
[    0.088975] /soc/bus@ff600000/hdmi-tx@0: Fixed dependency cycle(s) with /soc/vpu@ff900000
[    0.089028] /soc/vpu@ff900000: Fixed dependency cycle(s) with /soc/bus@ff600000/hdmi-tx@0
[    0.092832] /soc/bus@ff600000/hdmi-tx@0: Fixed dependency cycle(s) with /hdmi-connector
[    0.092886] /hdmi-connector: Fixed dependency cycle(s) with /soc/bus@ff600000/hdmi-tx@0
[    0.094554] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.094559] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.094564] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.094566] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.094570] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.094573] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.094576] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.094579] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.095432] cryptd: max_cpu_qlen set to 1000
[    0.160556] raid6: neonx8   gen()  2787 MB/s
[    0.228635] raid6: neonx4   gen()  2999 MB/s
[    0.296713] raid6: neonx2   gen()  2599 MB/s
[    0.364787] raid6: neonx1   gen()  2001 MB/s
[    0.432865] raid6: int64x8  gen()  1313 MB/s
[    0.500944] raid6: int64x4  gen()  1439 MB/s
[    0.569035] raid6: int64x2  gen()  1343 MB/s
[    0.637110] raid6: int64x1  gen()  1112 MB/s
[    0.637113] raid6: using algorithm neonx4 gen() 2999 MB/s
[    0.705183] raid6: .... xor() 2340 MB/s, rmw enabled
[    0.705186] raid6: using neon recovery algorithm
[    0.705565] ACPI: Interpreter disabled.
[    0.705919] iommu: Default domain type: Translated
[    0.705923] iommu: DMA domain TLB invalidation policy: strict mode
[    0.706700] SCSI subsystem initialized
[    0.706837] usbcore: registered new interface driver usbfs
[    0.706856] usbcore: registered new interface driver hub
[    0.706880] usbcore: registered new device driver usb
[    0.707057] pps_core: LinuxPPS API ver. 1 registered
[    0.707061] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
[    0.707072] PTP clock support registered
[    0.707094] EDAC MC: Ver: 3.0.0
[    0.707316] scmi_core: SCMI protocol bus registered
[    0.708159] NetLabel: Initializing
[    0.708162] NetLabel:  domain hash size = 128
[    0.708165] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    0.708210] NetLabel:  unlabeled traffic allowed by default
[    0.708212] mctp: management component transport protocol core
[    0.708215] NET: Registered PF_MCTP protocol family
[    0.708371] vgaarb: loaded
[    0.708728] clocksource: Switched to clocksource arch_sys_counter
[    0.708969] VFS: Disk quotas dquot_6.6.0
[    0.708991] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.709366] AppArmor: AppArmor Filesystem Enabled
[    0.709407] pnp: PnP ACPI: disabled
[    0.714740] NET: Registered PF_INET protocol family
[    0.714946] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.757401] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    0.757511] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.757579] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.757918] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
[    0.758233] TCP: Hash tables configured (established 32768 bind 32768)
[    0.758445] MPTCP token hash table entries: 4096 (order: 4, 98304 bytes, linear)
[    0.758538] UDP hash table entries: 2048 (order: 5, 131072 bytes, linear)
[    0.758627] UDP-Lite hash table entries: 2048 (order: 5, 131072 bytes, linear)
[    0.758836] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.758869] PCI: CLS 0 bytes, default 64
[    0.759107] Trying to unpack rootfs image as initramfs...
[    0.767398] kvm [1]: nv: 566 coarse grained trap handlers
[    0.767680] kvm [1]: IPA Size Limit: 40 bits
[    0.769164] kvm [1]: vgic interrupt IRQ9
[    0.769196] kvm [1]: Hyp nVHE mode initialized successfully
[    0.770735] Initialise system trusted keyrings
[    0.770791] Key type blacklist registered
[    0.771033] workingset: timestamp_bits=44 max_order=20 bucket_order=0
[    0.771064] zbud: loaded
[    0.771469] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.771796] fuse: init (API version 7.42)
[    0.772996] integrity: Platform Keyring initialized
[    0.773029] xor: measuring software checksum speed
[    0.773824]    8regs           :  4139 MB/sec
[    0.774595]    32regs          :  4277 MB/sec
[    0.775476]    arm64_neon      :  3738 MB/sec
[    0.775479] xor: using function: 32regs (4277 MB/sec)
[    0.775487] Key type asymmetric registered
[    0.775490] Asymmetric key parser 'x509' registered
[    0.775542] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
[    0.775756] io scheduler mq-deadline registered
[    0.775761] io scheduler kyber registered
[    0.775783] io scheduler bfq registered
[    0.776171] irq_meson_gpio: 100 to 8 gpio interrupt mux initialized
[    0.782670] meson-pwm ff802000.pwm: using obsolete compatible, please consider updating dt
[    1.758218] Freeing initrd memory: 24236K
[    1.761008] ledtrig-cpu: registered to indicate activity on CPUs
[    1.769709] soc soc0: Amlogic Meson G12B (A311D) Revision 29:b (10:2) Detected
[    1.771282] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    1.774380] Serial: AMBA driver
[    1.774891] ff803000.serial: ttyAML0 at MMIO 0xff803000 (irq = 14, base_baud = 1500000) is a meson_uart
[    1.774913] printk: legacy console [ttyAML0] enabled
[    3.082073] ffd24000.serial: ttyAML6 at MMIO 0xffd24000 (irq = 15, base_baud = 1500000) is a meson_uart
[    3.090942] serial serial0: tty port ttyAML6 registered
[    3.101604] loop: module loaded
[    3.104521] tun: Universal TUN/TAP device driver, 1.6
[    3.105240] thunder_xcv, ver 1.0
[    3.107367] thunder_bgx, ver 1.0
[    3.110624] nicpf, ver 1.0
[    3.113658] e1000e: Intel(R) PRO/1000 Network Driver
[    3.118190] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    3.124102] igb: Intel(R) Gigabit Ethernet Network Driver
[    3.129455] igb: Copyright (c) 2007-2014 Intel Corporation.
[    3.135024] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[    3.141242] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    3.147237] sky2: driver version 1.30
[    3.151258] VFIO - User Level meta-driver version: 0.3
[    3.157635] usbcore: registered new interface driver usb-storage
[    3.163270] mousedev: PS/2 mouse device common for all mice
[    3.167848] input: gpio-keys-polled as /devices/platform/gpio-keys-polled/input/input0
[    3.176202] i2c_dev: i2c /dev entries driver
[    3.184500] sdhci: Secure Digital Host Controller Interface driver
[    3.185734] sdhci: Copyright(c) Pierre Ossman
[    3.190217] Synopsys Designware Multimedia Card Interface Driver
[    3.196742] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.202513] meson-sm: secure-monitor enabled
[    3.206216] hid: raw HID events driver (C) Jiri Kosina
[    3.211077] usbcore: registered new interface driver usbhid
[    3.216557] usbhid: USB HID core driver
[    3.222300] NET: Registered PF_INET6 protocol family
[    3.226145] Segment Routing with IPv6
[    3.229001] In-situ OAM (IOAM) with IPv6
[    3.232950] NET: Registered PF_PACKET protocol family
[    3.237906] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    3.250950] Key type dns_resolver registered
[    3.263004] registered taskstats version 1
[    3.263361] Loading compiled-in X.509 certificates
[    3.275517] zswap: loaded using pool zstd/zbud
[    3.275798] Demotion targets for Node 0: null
[    3.278850] Key type .fscrypt registered
[    3.282578] Key type fscrypt-provisioning registered
[    3.290032] Btrfs loaded, zoned=yes, fsverity=yes
[    3.292345] Key type encrypted registered
[    3.296190] AppArmor: AppArmor sha256 policy hashing enabled
[    3.314842] meson-gx-socinfo-sm ff800140.ao-secure: got sm version call 2
[    3.316052] soc soc1: Amlogic Meson G12B (A311D) Revision 29:b (10:0) Detected (SM)
[    3.324559] meson-drm ff900000.vpu: Queued 1 outputs on vpu
[    3.329972] meson-drm ff900000.vpu: CVBS Output connector not available
[    3.356766] meson-dw-hdmi ff600000.hdmi-tx: Detected HDMI TX controller v2.01a with HDCP (meson_dw_hdmi_phy)
[    3.361314] meson-dw-hdmi ff600000.hdmi-tx: registered DesignWare HDMI I2C bus driver
[    3.368910] meson-drm ff900000.vpu: bound ff600000.hdmi-tx (ops 0xffff800081242030)
[    3.376434] meson-drm ff900000.vpu: DSI transceiver device is disabled
[    3.383202] [drm] Initialized meson 1.0.0 for ff900000.vpu on minor 0
[    3.568426] Console: switching to colour frame buffer device 128x48
[    3.585762] meson-drm ff900000.vpu: [drm] fb0: mesondrmfb frame buffer device
[    3.599574] cpufreq: cpufreq_online: CPU2: Running at unlisted initial frequency: 999999 kHz, changing to: 1000000 kHz
[    3.607617] meson-gx-mmc ffe05000.mmc: Got CD GPIO
[    3.611853] meson-pcie fc000000.pcie: host bridge /soc/pcie@fc000000 ranges:
[    3.617255] meson-pcie fc000000.pcie:       IO 0x00fc600000..0x00fc6fffff -> 0x0000000000
[    3.625320] meson-pcie fc000000.pcie:      MEM 0x00fc700000..0x00fdffffff -> 0x00fc700000
[    3.632833] meson-pcie fc000000.pcie: iATU: unroll T, 4 ob, 4 ib, align 64K, limit 4G
[    3.633329] gpio irq setup: hwirq: 0x3B irqfirst: 0x35 irqlast: 0x3C pin[47]
[    3.647596] genirq: Setting trigger mode 3 for irq 22 failed (meson_gpio_irq_set_type+0x0/0x60)
[    3.681573] meson-pcie fc000000.pcie: error: wait linkup timeout
[    3.705817] meson-pcie fc000000.pcie: PCIe Gen.2 x1 link up
[    3.706082] meson-pcie fc000000.pcie: PCI host bridge to bus 0000:00
[    3.712074] pci_bus 0000:00: root bus resource [bus 00-ff]
[    3.717534] pci_bus 0000:00: root bus resource [io  0x0000-0xfffff]
[    3.723769] pci_bus 0000:00: root bus resource [mem 0xfc700000-0xfdffffff]
[    3.730633] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400 PCIe Root Port
[    3.737909] pci 0000:00:00.0: ROM [mem 0x00000000-0x0000ffff pref]
[    3.744050] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    3.749261] pci 0000:00:00.0:   bridge window [io  0x0000-0x0fff]
[    3.755319] pci 0000:00:00.0:   bridge window [mem 0x00000000-0x000fffff]
[    3.762083] pci 0000:00:00.0:   bridge window [mem 0x00000000-0x000fffff pref]
[    3.769296] pci 0000:00:00.0: supports D1
[    3.773256] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold
[    3.781351] pci 0000:01:00.0: [126f:2263] type 00 class 0x010802 PCIe Endpoint
[    3.786895] pci 0000:01:00.0: BAR 0 [mem 0x00000000-0x00003fff 64bit]
[    3.793229] pci 0000:01:00.0: Upstream bridge's Max Payload Size set to 128 (was 256, max 256)
[    3.801796] pci 0000:01:00.0: Max Payload Size set to 128 (was 128, max 128)
[    3.809077] pci 0000:01:00.0: 4.000 Gb/s available PCIe bandwidth, limited by 5.0 GT/s PCIe x1 link at 0000:00:00.0 (capable of 31.504 Gb/s with 8.0 GT/s PCIe x4 link)
[    3.828795] pci 0000:00:00.0: bridge window [mem 0xfc700000-0xfc7fffff]: assigned
[    3.831146] pci 0000:00:00.0: ROM [mem 0xfc800000-0xfc80ffff pref]: assigned
[    3.838181] pci 0000:01:00.0: BAR 0 [mem 0xfc700000-0xfc703fff 64bit]: assigned
[    3.845472] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    3.850652] pci 0000:00:00.0:   bridge window [mem 0xfc700000-0xfc7fffff]
[    3.857416] pci_bus 0000:00: resource 4 [io  0x0000-0xfffff]
[    3.863045] pci_bus 0000:00: resource 5 [mem 0xfc700000-0xfdffffff]
[    3.869283] pci_bus 0000:01: resource 1 [mem 0xfc700000-0xfc7fffff]
[    3.876322] dwc3-meson-g12a ffe09000.usb: USB2 ports: 2
[    3.880728] dwc3-meson-g12a ffe09000.usb: USB3 ports: 0
[    3.888494] dwc2 ff400000.usb: supply vusb_d not found, using dummy regulator
[    3.893077] dwc2 ff400000.usb: supply vusb_a not found, using dummy regulator
[    3.900282] dwc2 ff400000.usb: EPs: 7, dedicated fifos, 712 entries in SPRAM
[    3.907714] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    3.912645] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[    3.920332] xhci-hcd xhci-hcd.1.auto: hcc params 0x0228fe64 hci version 0x110 quirks 0x0000808000000010
[    3.929619] xhci-hcd xhci-hcd.1.auto: irq 24, io mem 0xff500000
[    3.935541] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    3.940970] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
[    3.948590] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[    3.955144] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.14
[    3.963323] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.970516] usb usb1: Product: xHCI Host Controller
[    3.975364] usb usb1: Manufacturer: Linux 6.14.0-edge-meson64 xhci-hcd
[    3.981862] usb usb1: SerialNumber: xhci-hcd.1.auto
[    3.986929] hub 1-0:1.0: USB hub found
[    3.990457] hub 1-0:1.0: 2 ports detected
[    3.994589] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    4.002525] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.14
[    4.010723] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.017918] usb usb2: Product: xHCI Host Controller
[    4.022768] usb usb2: Manufacturer: Linux 6.14.0-edge-meson64 xhci-hcd
[    4.029267] usb usb2: SerialNumber: xhci-hcd.1.auto
[    4.034272] hub 2-0:1.0: USB hub found
[    4.037861] hub 2-0:1.0: 1 port detected
[    4.042710] meson-gx-mmc ffe03000.mmc: allocated mmc-pwrseq
[    4.043972] meson-gx-mmc ffe07000.mmc: allocated mmc-pwrseq
[    4.122245] clk: Disabling unused clocks
[    4.122361] PM: genpd: Disabling unused power domains
[    4.132641] Freeing unused kernel memory: 4288K
[    4.132789] Run /init as init process
Loading, please wait...
Starting systemd-udevd version 252.36-1~deb12u1
[    4.207805] mmc2: new high speed SDIO card at address 0001
[    4.243671] mmc1: new HS200 MMC card at address 0001
[    4.248750] usb 1-1: new high-speed USB device number 2 using xhci-hcd
[    4.249772] mmcblk1: mmc1:0001 BJTD4R 29.1 GiB
[    4.256172]  mmcblk1: p1
[    4.257427] mmcblk1boot0: mmc1:0001 BJTD4R 4.00 MiB
[    4.263845] mmcblk1boot1: mmc1:0001 BJTD4R 4.00 MiB
[    4.268563] mmcblk1rpmb: mmc1:0001 BJTD4R 4.00 MiB, chardev (241:0)
[    4.319307] meson8b-dwmac ff3f0000.ethernet: IRQ eth_wake_irq not found
[    4.320286] meson8b-dwmac ff3f0000.ethernet: IRQ eth_lpi not found
[    4.326535] meson8b-dwmac ff3f0000.ethernet: IRQ sfty not found
[    4.333174] meson8b-dwmac ff3f0000.ethernet: PTP uses main clock
[    4.340103] meson8b-dwmac ff3f0000.ethernet: User ID: 0x11, Synopsys ID: 0x37
[    4.345477] meson8b-dwmac ff3f0000.ethernet: 	DWMAC1000
[    4.350641] meson8b-dwmac ff3f0000.ethernet: DMA HW capability register supported
[    4.357546] pca953x 0-0020: using no AI
[    4.358091] meson8b-dwmac ff3f0000.ethernet: RX Checksum Offload Engine supported
[    4.358587] meson-vrtc ff8000a8.rtc: registered as rtc1
[    4.374633] meson8b-dwmac ff3f0000.ethernet: COE Type 2
[    4.379789] meson8b-dwmac ff3f0000.ethernet: TX Checksum insertion supported
[    4.382429] rtc-hym8563 0-0051: registered as rtc0
[    4.386818] meson8b-dwmac ff3f0000.ethernet: Wake-Up On Lan supported
[    4.393162] rtc-hym8563 0-0051: setting system clock to 2025-03-31T21:56:02 UTC (1743458162)
[    4.398077] meson8b-dwmac ff3f0000.ethernet: Normal descriptors
[    4.398279] usb 1-1: New USB device found, idVendor=1a40, idProduct=0801, bcdDevice= 1.00
[    4.398283] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    4.398286] usb 1-1: Product: USB 2.0 Hub
[    4.400768] nvme nvme0: pci function 0000:01:00.0
[    4.400797] nvme 0000:01:00.0: enabling device (0000 -> 0002)
[    4.412560] hwmon hwmon2: temp1_input not attached to any thermal zone
[    4.420491] meson8b-dwmac ff3f0000.ethernet: Ring mode enabled
[    4.435303] hub 1-1:1.0: USB hub found
[    4.436181] meson8b-dwmac ff3f0000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[    4.441956] hub 1-1:1.0: 4 ports detected
[    4.492613] nvme nvme0: allocated 64 MiB host memory buffer (16 segments).
[    4.507736] nvme nvme0: 6/0/0 default/read/poll queues
[    4.512773] nvme nvme0: Ignoring bogus Namespace Identifiers
[    4.514397]  nvme0n1: p1
[    4.520122] meson8b-dwmac ff3f0000.ethernet end0: renamed from eth0

@rpardini
Copy link
Member Author

Also, for truth sake: I personally do not use HAOS on the board. Instead I use the EXT=ha extension from armbian/os which gives me the needed power of Armbian combined with Supervised HA.

Copy link
Contributor

coderabbitai bot commented Mar 31, 2025

"""

Walkthrough

The pull request updates U-Boot related configurations and source code for the Khadas VIM3 board and the meson64 platform. The khadas-vim3.conf file is updated to reference newer U-Boot version tags for the boot branch and patch directory. The configuration function for the Khadas VIM3 board enables additional U-Boot commands: CONFIG_CMD_SQUASHFS, CONFIG_CMD_SETEXPR, CONFIG_CMD_FILEENV, CONFIG_CMD_CAT, and CONFIG_CMD_XXD. A patch to meson64.h changes the boot device priority, placing SD before USB, NVMe, and eMMC, and consolidates MMC boot device definitions. A new U-Boot command fileenv is introduced, allowing reading a file from a FAT32 filesystem and storing its content into an environment variable. This command is implemented in a new source file, and corresponding build system files (Kconfig and Makefile) are updated to include it.

Possibly related PRs

Suggested labels

ready to merge

Suggested reviewers

  • igorpecovnik
  • catalinii
  • joekhoobyar
  • SuperKali
    """

📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0389307 and 169fa69.

⛔ Files ignored due to path filters (2)
  • patch/u-boot/v2025.04/board_khadas-vim3/meson64-boot-usb-nvme-scsi-first.patch is excluded by !patch/**
  • patch/u-boot/v2025.04/cmd-fileenv-read-string-from-file-into-env.patch is excluded by !patch/**
📒 Files selected for processing (1)
  • config/boards/khadas-vim3.conf (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • config/boards/khadas-vim3.conf

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@rpardini rpardini marked this pull request as ready for review March 31, 2025 22:09
@coderabbitai coderabbitai bot added 05 Milestone: Second quarter release Ready to merge Reviewed, tested and ready for merge size/small PR with less then 50 lines labels Mar 31, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (2)
patch/u-boot/v2025.04/board_khadas-vim3/meson64-boot-usb-nvme-scsi-first.patch (1)

4-4: Patch filename and subject line mismatch

The patch filename contains "usb-nvme-scsi-first" but the subject line indicates "SD -> USB -> NVMe -> eMMC" boot order. The filename should be updated to match the actual boot ordering being implemented.

config/boards/khadas-vim3.conf (1)

15-16: Update of U-Boot to v2025.04-rc5 aligns with PR objectives

The update to U-Boot version 2025.04-rc5 from 2024.01 is correctly implemented through these variable changes. This is an essential part of the PR objectives.

However, there's a minor inconsistency in the comment. It states this patch directory "has a patch to boot USB/NVMe/SCSI first" but the actual patch is changing the order to boot SD first.

-BOOTPATCHDIR="v2025.04" # this has 'board_khadas-vim3' which has a patch to boot USB/NVMe/SCSI first
+BOOTPATCHDIR="v2025.04" # this has 'board_khadas-vim3' which has a patch to boot SD first, then USB/NVMe
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3612c5b and 6c1bfee.

📒 Files selected for processing (3)
  • config/boards/khadas-vim3.conf (2 hunks)
  • patch/u-boot/v2025.04/board_khadas-vim3/meson64-boot-usb-nvme-scsi-first.patch (1 hunks)
  • patch/u-boot/v2025.04/cmd-fileenv-read-string-from-file-into-env.patch (1 hunks)
🔇 Additional comments (7)
patch/u-boot/v2025.04/board_khadas-vim3/meson64-boot-usb-nvme-scsi-first.patch (1)

18-20:

❓ Verification inconclusive

Verify the intended boot order is correctly implemented

The patch reorganizes the boot order to prioritize SD cards (MMC 0, MMC 1) first, followed by USB, NVMe, SCSI, and finally eMMC (MMC 2). This matches the subject line's intent of "SD -> USB -> NVMe -> eMMC" boot order, but includes SCSI in between NVMe and eMMC.

This change supports the PR objective of enhancing compatibility with Armbian u-boot deployed to SPI by ensuring SD cards are tried before internal storage.

Also applies to: 24-24


🏁 Script executed:

#!/bin/bash
# Verify that other Meson64 boards don't have conflicting boot order implementations
grep -r "BOOT_TARGET_DEVICES" --include="*.h" include/configs/

Length of output: 112


Boot Order Implementation Verification

The patch appears to implement the intended boot order by prioritizing SD cards (MMC 0, MMC 1) before USB, NVMe, SCSI, and eMMC. However, the automated verification script failed because the expected directory (include/configs/) does not exist. Please verify manually (or update the search paths) that other Meson64 board configurations do not have conflicting boot order implementations. Also, double-check that inserting SCSI between NVMe and eMMC is intentional and aligns with the overall system requirements.

  • File: patch/u-boot/v2025.04/board_khadas-vim3/meson64-boot-usb-nvme-scsi-first.patch (lines 18-20 and 24)
  • Action: Manually review other board configurations to ensure consistency.
config/boards/khadas-vim3.conf (1)

56-61: Successfully enabled required U-Boot features for HAOS compatibility

The changes successfully enable all features mentioned in the PR objectives:

  • squashfs support via CONFIG_CMD_SQUASHFS
  • setexpr feature via CONFIG_CMD_SETEXPR
  • fileenv feature via CONFIG_CMD_FILEENV

The additional commands (CAT, XXD) are also useful enhancements for debugging and file manipulation.

These changes align with the PR objectives to enhance Home Assistant Operating System (HAOS) compatibility.

patch/u-boot/v2025.04/cmd-fileenv-read-string-from-file-into-env.patch (5)

1-11: Patch header clearly identifies the source and contributors

The patch header correctly identifies:

  • This is a new command for reading a file into an environment variable
  • It's adapted from a vendor/legacy patch from 2018
  • It has been reviewed and signed-off by multiple contributors

This establishes proper attribution and provenance.


25-29: Kconfig entry appropriately added

The Kconfig entry is correctly added with a simple but clear help text explaining the command's purpose.


41-41: Makefile updated correctly to include the new source file

The source file is correctly added to the build system when CONFIG_CMD_FILEENV is enabled.


59-72: Correct command argument handling

The function correctly:

  1. Checks for the required number of arguments
  2. Prepares arguments for the underlying fatload command
  3. Passes the arguments to do_fat_fsload

This is a good approach to leverage existing functionality.


91-96: Command registration and documentation look good

The U_BOOT_CMD registration is correctly formatted with appropriate help text. The documentation clearly explains the command's purpose and arguments.

@rpardini rpardini force-pushed the pr/khadas-vim3-u-boot-bump-to-202504-rc5-boot-SD-first-enable-setexpr-patch-202504-for-fileenv-enable-squashfs-support branch from 6c1bfee to 0e50acd Compare April 2, 2025 11:57
@github-actions github-actions bot removed Ready to merge Reviewed, tested and ready for merge size/small PR with less then 50 lines labels Apr 2, 2025
@rpardini rpardini force-pushed the pr/khadas-vim3-u-boot-bump-to-202504-rc5-boot-SD-first-enable-setexpr-patch-202504-for-fileenv-enable-squashfs-support branch from 0e50acd to 35568de Compare April 7, 2025 13:21
@rpardini rpardini force-pushed the pr/khadas-vim3-u-boot-bump-to-202504-rc5-boot-SD-first-enable-setexpr-patch-202504-for-fileenv-enable-squashfs-support branch from 35568de to 0389307 Compare April 19, 2025 12:11
@coderabbitai coderabbitai bot added the Ready to merge Reviewed, tested and ready for merge label Apr 19, 2025
…texpr`; patch 2025.04 for `fileenv`; enable `squashfs` support

- **CHANGE**: This version tries to boot SD first (thus SD -> USB -> NVMe -> eMMC); before it would boot USB before SD
- as Armbian u-boot is possibly deployed to SPI, try to make as compatible as possible; eg enable squashfs support
- enable `setexpr` and `fileenv`, used by HAOS
  - HAOS already has support for booting VIM3 from NVMe: home-assistant/operating-system#3784
- borrowed `fileenv` patch from v2025.01 to .04
- Similar treatment that `odroidm1` got in armbian#7769
- note: I will be leaving my VIM3 behind in the other side of the globe, so this is my last chance to test
@rpardini rpardini force-pushed the pr/khadas-vim3-u-boot-bump-to-202504-rc5-boot-SD-first-enable-setexpr-patch-202504-for-fileenv-enable-squashfs-support branch from 0389307 to 169fa69 Compare April 24, 2025 10:06
@github-actions github-actions bot removed the Ready to merge Reviewed, tested and ready for merge label Apr 24, 2025
@coderabbitai coderabbitai bot added the Ready to merge Reviewed, tested and ready for merge label Apr 24, 2025
@igorpecovnik igorpecovnik merged commit a4b1edd into armbian:main Apr 25, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
05 Milestone: Second quarter release Hardware Hardware related like kernel, U-Boot, ... Needs review Seeking for review Patches Patches related to kernel, U-Boot, ... Ready to merge Reviewed, tested and ready for merge size/medium PR with more then 50 and less then 250 lines
Development

Successfully merging this pull request may close these issues.

2 participants