嵌入式Linux系统移植与系统镜像制作:uboot+linux+ubuntu根文件系统
嵌入式Linux系统移植与系统镜像制作:uboot+linux+ubuntu根文件系统
编译环境准备
安装gcc编译器
sudo update
# 安装 build-essential: gcc/g++/make/dpkg-dev/libc...
sudo apt install build-essential
# 编译u-boot要求gcc版本>10
# Ubuntu 20.04 默认 装的是GCC 9.4
# Ubuntu 22.04 默认 装的是GCC 11.3在Linux系统安装ARM交叉编译工具
# 从arm官网找到下载链接
# 注意不要下载嵌入式的编译工具gcc-arm-none-eabi
wget https://developer.arm.com/-/media/Files/downloads/gnu/14.3.rel1/binrel/arm-gnu-toolchain-14.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz
# 解压
tar -xJvf arm-gnu-toolchain-14.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz
# 安装
mkdir ~/.tools
mv ./arm-gnu-toolchain-14.3.rel1-x86_64-aarch64-none-linux-gnu/ ~/.tools/
vi ~/.bashrc
export CROSS_COMPILE_HOME=/root/.tools/arm-gnu-toolchain-14.3.rel1-x86_64-aarch64-none-linux-gnu
export PATH=$PATH:$CROSS_COMPILE_HOME/bin/
export CROSS_COMPILE=aarch64-none-linux-gnu-
source ~/.bashrcu-boot代码的获取和编译
构建 Arm 可信固件 (TF-A)
git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
cd trusted-firmware-a
# 编译 目标平台=sun50i_h616 (根据dts设备树描述,h618的cpu和h616共用一个)
make CROSS_COMPILE=aarch64-none-linux-gnu- PLAT=sun50i_h616 DEBUG=1
vi ~/.bashrc
export BL31=/root/trusted-firmware-a/build/sun50i_h616/debug/bl31.bin
source ~/.bashrc编译 u-boot
wget https://github.com/u-boot/u-boot/archive/refs/tags/v2026.01-rc4.tar.gz
tar -xzvf u-boot-2026.01-rc4.tar.gz
cd u-boot-2026.01-rc4
# 安装后续编译操作的依赖项 否则将依次报错缺失相关文件
sudo apt-get install bison flex swig python3-dev libssl-dev libgnutls28-dev
# export BL31=/root/trusted-firmware-a/build/sun50i_h616/debug/bl31.bin
# export CROSS_COMPILE=aarch64-none-linux-gnu-
# 查看支持的开发板
ls configs/ | grep orangepi
# 生成配置文件:.config
root@DESKTOP-J2QM63T:~/u-boot-2026.01-rc4# make orangepi_zero2w_defconfig
# 配置uboot
root@DESKTOP-J2QM63T:~/u-boot-2026.01-rc4# make menuconfig# 生成 u-boot
root@DESKTOP-J2QM63T:~/u-boot-2026.01-rc4# make -j4
# 将 ./tools/mkimage 工具添加到环境变量
vi ~/.bashrc
export PATH=$PATH:/root/u-boot-2026.01-rc4/tools/
source ~/.bashrc编译内核 Linux6.18.2
获取最新源代码
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.18.2.tar.xz
tar -xvf linux-6.18.2.tar.xz
cd linux-6.18.2由于uwe5622蓝牙wifi模块的驱动并没有进入linux官方内核代码,
香橙派官方只维护了一个linux5.4的内核,其中有能完美运行的驱动,https://github.com/orangepi-xunlong/linux-orangepi/tree/orange-pi-5.4-sun50iw9
对于最新版的内核,armbian项目维护了一个构建库,其中有对uwe5622库的完整实现和为适应linux更新的bug修复。具体来说就是针对官方版本内核的一些.patch文件,只需要调用driver_uwe5622函数就能执行这些patch。
root@DESKTOP-J2QM63T:~# ls armbian-build/patch/misc/wireless-uwe5622/ -al
total 26988
drwxr-xr-x 2 root root 4096 Jan 19 02:50 .
drwxr-xr-x 6 root root 4096 Jan 19 02:50 ..
-rw-r--r-- 1 root root 256836 Jan 19 02:50 uwe5622-adjust-for-rockchip-post-6.1.patch
-rw-r--r-- 1 root root 284802 Jan 19 02:50 uwe5622-adjust-for-rockchip-pre-6.1.patch
-rw-r--r-- 1 root root 370310 Jan 19 02:50 uwe5622-allwinner-bugfix-v6.3.patch
-rw-r--r-- 1 root root 370924 Jan 19 02:50 uwe5622-allwinner-bugfix.patch
-rw-r--r-- 1 root root 1800 Jan 19 02:50 uwe5622-allwinner-v6.3-compilation-fix.patch
-rw-r--r-- 1 root root 13115299 Jan 19 02:50 uwe5622-allwinner-v6.3.patch
-rw-r--r-- 1 root root 13114044 Jan 19 02:50 uwe5622-allwinner.patch
-rw-r--r-- 1 root root 1355 Jan 19 02:50 uwe5622-fix-setting-mac-address-for-netdev.patch
-rw-r--r-- 1 root root 7872 Jan 19 02:50 uwe5622-fix-spanning-writes.patch
-rw-r--r-- 1 root root 7789 Jan 19 02:50 uwe5622-fix-timer-api-changes-for-6.15-only-sunxi.patch
-rw-r--r-- 1 root root 2152 Jan 19 02:50 uwe5622-park-link-pre-v6.1.patch
-rw-r--r-- 1 root root 2271 Jan 19 02:50 uwe5622-park-link-v6.1-post.patch
-rw-r--r-- 1 root root 2157 Jan 19 02:50 uwe5622-park-link-v6.2-only.patch
-rw-r--r-- 1 root root 2778 Jan 19 02:50 uwe5622-v6.1.patch
-rw-r--r-- 1 root root 2300 Jan 19 02:50 uwe5622-v6.11.patch
-rw-r--r-- 1 root root 6827 Jan 19 02:50 uwe5622-v6.15-timer-api-changes.patch
-rw-r--r-- 1 root root 8720 Jan 19 02:50 uwe5622-v6.16.patch
-rw-r--r-- 1 root root 642 Jan 19 02:50 uwe5622-v6.17.patch
-rw-r--r-- 1 root root 1125 Jan 19 02:50 uwe5622-v6.18.patch
-rw-r--r-- 1 root root 1355 Jan 19 02:50 uwe5622-v6.4-post.patch
-rw-r--r-- 1 root root 935 Jan 19 02:50 uwe5622-v6.6-fix-tty-sdio.patch
-rw-r--r-- 1 root root 1350 Jan 19 02:50 uwe5622-v6.9.patch
-rw-r--r-- 1 root root 8261 Jan 19 02:50 uwe5622-warnings.patch
-rw-r--r-- 1 root root 1164 Jan 19 02:50 wireless-uwe5622-Fix-compilation-with-6.7-kernel.patch
-rw-r--r-- 1 root root 1062 Jan 19 02:50 wireless-uwe5622-reduce-system-load.patchroot@DESKTOP-J2QM63T:~# cat armbian-build/lib/functions/compilation/patch/drivers_network.sh
....
driver_uwe5622() {
# Wireless drivers for Unisoc uwe5622 wireless
if linux-version compare "${version}" ge 5.15 && [[ "$LINUXFAMILY" == sun* || "$LINUXFAMILY" == rockchip64 || "$LINUXFAMILY" == rk35xx ]]; then
display_alert "Adding" "Drivers for Unisoc uwe5622 found on some Allwinner and Rockchip boards" "info"
if linux-version compare "${version}" ge 6.3; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-allwinner-v6.3.patch" "applying"
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-allwinner-bugfix-v6.3.patch" "applying"
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-allwinner-v6.3-compilation-fix.patch" "applying"
else
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-allwinner.patch" "applying"
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-allwinner-bugfix.patch" "applying"
fi
if linux-version compare "${version}" ge 6.4; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-v6.4-post.patch" "applying"
fi
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-warnings.patch" "applying"
# Add to section Makefile
echo "obj-\$(CONFIG_SPARD_WLAN_SUPPORT) += uwe5622/" >> "$kerneldir/drivers/net/wireless/Makefile"
# Don't add this to legacy (<5.0) kernels.
if linux-version compare "${version}" ge 5.0 && linux-version compare "${version}" lt 6.1; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-park-link-pre-v6.1.patch" "applying"
fi
if linux-version compare "${version}" ge 6.1; then
if linux-version compare "${version}" ge 6.2 && linux-version compare "${version}" lt 6.3; then # only for 6.2.y
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-park-link-v6.2-only.patch" "applying"
else # assume 6.1.y y > 30
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-park-link-v6.1-post.patch" "applying"
fi
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-v6.1.patch" "applying"
fi
if linux-version compare "${version}" ge 6.6; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-v6.6-fix-tty-sdio.patch" "applying"
fi
if [[ "$LINUXFAMILY" == sun* ]]; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-fix-setting-mac-address-for-netdev.patch" "applying"
fi
# Apply patches that adjust the driver only for rockchip platforms
if [[ "$LINUXFAMILY" == rockchip* || "$LINUXFAMILY" == "rk35xx" ]]; then
if linux-version compare "${version}" le 6.1; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-adjust-for-rockchip-pre-6.1.patch"
else
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-adjust-for-rockchip-post-6.1.patch"
fi
fi
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/wireless-uwe5622-Fix-compilation-with-6.7-kernel.patch" "applying"
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/wireless-uwe5622-reduce-system-load.patch" "applying"
if linux-version compare "${version}" ge 6.9; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-v6.9.patch" "applying"
fi
if linux-version compare "${version}" ge 6.11; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-v6.11.patch" "applying"
fi
# Fix "spanning-writes" warning in dmesg, applicable when kernel is compiled with FORTIFY_SOURCE
if linux-version compare "${version}" ge 6.12; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-fix-spanning-writes.patch" "applying"
fi
if linux-version compare "${version}" ge 6.15; then
if [[ "$LINUXFAMILY" == sun* ]]; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-fix-timer-api-changes-for-6.15-only-sunxi.patch" "applying"
else
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-v6.15-timer-api-changes.patch" "applying"
fi
fi
if linux-version compare "${version}" ge 6.16; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-v6.16.patch" "applying"
fi
if linux-version compare "${version}" ge 6.17; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-v6.17.patch" "applying"
fi
if linux-version compare "${version}" ge 6.18; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-v6.18.patch" "applying"
fi
fi
}
....根据以上的driver_uwe5622函数,编写一个patch.sh脚本并执行。
#!/usr/bin/env bash
cd ~
git clone https://github.com/armbian/build.git ./armbian-build
SRC=./armbian-build
kerneldir=./linux-6.18.2
LINUXFAMILY=sun50iw9
version=6.18.2
source "${SRC}"/lib/functions/compilation/patch/drivers_network.sh
source "${SRC}"/lib/functions/compilation/patch/patching.sh
source "${SRC}"/lib/functions/compilation/utils-compilation.sh
source "${SRC}"/lib/functions/logging/display-alert.sh
source "${SRC}"/lib/functions/logging/traps.sh
driver_uwe5622修改sun50i-h618-orangepi-zero2w.dts设备树文件,为uwe5622 蓝牙/wifi模块添加设备节点。
// linux-6.18.2/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dts
/ {
reg_vcc33_wifi: vcc33-wifi {
/* Always on 3.3V regulator for WiFi and BT */
compatible = "regulator-fixed";
regulator-name = "vcc33-wifi";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
vin-supply = <®_vcc5v>;
};
reg_vcc_wifi_io: vcc-wifi-io {
/* Always on 1.8V/300mA regulator for WiFi and BT IO */
compatible = "regulator-fixed";
regulator-name = "vcc-wifi-io";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
vin-supply = <®_vcc33_wifi>;
};
wifi_pwrseq: wifi-pwrseq {
compatible = "mmc-pwrseq-simple";
clocks = <&rtc 1>;
clock-names = "osc32k-out";
reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */
post-power-on-delay-ms = <200>;
};
};
&mmc1 {
vmmc-supply = <®_vcc33_wifi>;
vqmmc-supply = <®_vcc_wifi_io>;
mmc-pwrseq = <&wifi_pwrseq>;
bus-width = <4>;
non-removable;
mmc-ddr-1_8v;
status = "okay";
};配置并编译
sudo apt-get install libncurses-dev
# H618{4核Arm® Cortex®-A53{ ARMv8-A }}
# export CROSS_COMPILE=aarch64-none-linux-gnu-
export ARCH=arm64
# 生成 .config文件
# make sunxi_defconfig
cp ./arch/arm/configs/sunxi_defconfig .config
# 配置内核
make menuconfigmenuconfig:配置Linux内核
.config - Linux/arm64 6.18.2 Kernel Configuration
# (按需)编写默认内核启动命令
→ Boot options
() Default kernel command string
# (按需)启用文件系统对中文和UTF-8的支持
→ File systems → Native language support
<*> Simplified Chinese charset (CP936, GB2312)
<*> raditional Chinese charset (Big5)
<*> ASCII (United States)
<*> NLS UTF-8
# (按需)启用对Arm32的支持
→ Kernel Features
[*] Kernel support for 32-bit EL0
# (按需)启用对ROM只读文件系统的支持(cramfs)
→ File systems → Miscellaneous filesystems
<*> Compressed ROM file system support (cramfs)
# (按需)启用对RAM文件系统的支持 RamDisk(initrd)(ext2)
→ Device Drivers → Block devices
<*> RAM block device support
(1) Default number of RAM disks
(102400) Default RAM disk size (kbytes) # (100M)
→ File systems
<*> Second extended fs support (DEPRECATED)
→ General setup
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
[*] Support initial ramdisk/ramfs compressed using gzip
# (按需)启用对NFS文件系统的支持
→ File systems → Network File Systems
<*> NFS client support
<*> NFS client support for NFS version 3
<*> NFS client support for NFS version 4
[*] Root file system on NFS
####################################################################################
# 针对orangepi-zero2w #
####################################################################################
# ARCH
→ Search (CONFIG_ARCH_SUNXI) → Platform selection
[*] Allwinner sunxi 64-bit SoC Family
# MMC
→ Search (CONFIG_MMC_SUNXI) → MMC/SD/SDIO card support
<*> Allwinner sunxi SD/MMC Host Controller support
# Wifi config API
> Search (cfg80211) > Wireless
<M> cfg80211 - wireless configuration API
[*] enable powersave by default (NEW)
[*] cfg80211 wireless extensions compatibility
# RFKILL
→ Search (RFKILL) → Networking support
<*> RF switch subsystem support --->
<*> GPIO RFKILL driver
# for UWE5622 Wifi Driver
> Search (Unisoc) > Unisoc wireless Support
[*] Unisoc wireless Support
<M> UWE5622 Wi-Fi Driver
<M> SPRD Next Generation Wireless LAN Support
[*] Unisoc Wi-Fi Power Save Support
<M> Spard TTY Overy SDIO Driver编译
make -j4查看编译结果
root@DESKTOP-J2QM63T:~/linux-6.18.2# ls ./arch/arm64/boot/ -l | grep Image
-rw-r--r-- 1 root root 14944768 Dec 25 21:14 Image
-rw-r--r-- 1 root root 6172135 Dec 25 21:14 Image.gz
root@DESKTOP-J2QM63T:~/linux-6.18.2/# ls arch/arm64/boot/dts/allwinner -l | grep orangepi-zero2w
-rw-r--r-- 1 root root 21710 Dec 25 21:13 sun50i-h618-orangepi-zero2w.dtb
-rw-rw-r-- 1 root root 4042 Dec 18 21:03 sun50i-h618-orangepi-zero2w.dts
root@DESKTOP-J2QM63T:~/linux-6.18.2# export INSTALL_MOD_PATH=_install
root@DESKTOP-J2QM63T:~/linux-6.18.2# make modules_install
SYMLINK _install/lib/modules/6.18.2-gb780ee9e82b1-dirty/build
INSTALL _install/lib/modules/6.18.2-gb780ee9e82b1-dirty/modules.order
INSTALL _install/lib/modules/6.18.2-gb780ee9e82b1-dirty/modules.builtin
INSTALL _install/lib/modules/6.18.2-gb780ee9e82b1-dirty/modules.builtin.modinfo
INSTALL _install/lib/modules/6.18.2-gb780ee9e82b1-dirty/kernel/fs/efivarfs/efivarfs.ko
INSTALL _install/lib/modules/6.18.2-gb780ee9e82b1-dirty/kernel/crypto/sha256.ko
INSTALL _install/lib/modules/6.18.2-gb780ee9e82b1-dirty/kernel/drivers/net/wireless/uwe5622/unisocwcn/uwe5622_bsp_sdio.ko
INSTALL _install/lib/modules/6.18.2-gb780ee9e82b1-dirty/kernel/drivers/net/wireless/uwe5622/unisocwifi/sprdwl_ng.ko
INSTALL _install/lib/modules/6.18.2-gb780ee9e82b1-dirty/kernel/drivers/net/wireless/uwe5622/tty-sdio/sprdbt_tty.ko
INSTALL _install/lib/modules/6.18.2-gb780ee9e82b1-dirty/kernel/net/wireless/cfg80211.ko
INSTALL _install/lib/modules/6.18.2-gb780ee9e82b1-dirty/kernel/net/rfkill/rfkill.ko
INSTALL _install/lib/modules/6.18.2-gb780ee9e82b1-dirty/kernel/net/rfkill/rfkill-gpio.ko
DEPMOD _install/lib/modules/6.18.2-gb780ee9e82b1-dirty
root@DESKTOP-J2QM63T:~/linux-6.18.2# find drivers/net/wireless/uwe5622/ net/wireless/ net/rfkill/ -name *.ko
drivers/net/wireless/uwe5622/tty-sdio/sprdbt_tty.ko
drivers/net/wireless/uwe5622/unisocwifi/sprdwl_ng.ko
drivers/net/wireless/uwe5622/unisocwcn/uwe5622_bsp_sdio.ko
net/wireless/cfg80211.ko
net/rfkill/rfkill.ko
net/rfkill/rfkill-gpio.ko制作rootfs
获取、解压、配置ubuntu-rootfs
- 从官网找到Ubuntu基础版的下载连接 https://wiki.ubuntu.com/Base
- Ubuntu Base不是发行版,是 Ubuntu 的最小实现版本(rootfs),允许用户安装其他软件包。
- 以
ubuntu-base-20.04.5-base-arm64.tar.gz文件为例,只有25MB大小.
root@DESKTOP-J2QM63T:~# wget http://cdimage.ubuntu.com/ubuntu-base/releases/20.04.5/release/ubuntu-base-20.04.5-base-arm64.tar.gz
root@DESKTOP-J2QM63T:~# mkdir ./ubuntu-rootfs
# tar解压
# -p选项来保留文件权限(对于rootfs很重要)
# -C选项指定目标目录
# 使用sudo来确保有权限创建所有文件
root@DESKTOP-J2QM63T:~# sudo tar -xpvf ubuntu-base-20.04.5-base-arm64.tar.gz -C ./ubuntu-rootfs
root@DESKTOP-J2QM63T:~# ls ./ubuntu-rootfs/
bin boot dev etc home lib media mnt opt proc root run sbin srv sys tmp usr var
# 使用 qemu-user-static来模拟目标架构的执行环境
# 安装后能直接在x86平台执行arm64程序
# 原理是利用内核的binfmt_misc功能,自动识别arm可执行文件格式并传递给qemu执行
sudo apt install qemu-user-static
# 确保后续能够访问互联网
# sudo cp /etc/resolv.conf ./ubuntu-rootfs/etc/
echo 'nameserver 223.5.5.5' > ./ubuntu-rootfs/etc/resolv.conf
echo 'nameserver 223.6.6.6' >> ./ubuntu-rootfs/etc/resolv.conf
echo 'nameserver 8.8.8.8' >> ./ubuntu-rootfs/etc/resolv.conf
# 修改根目录执行/bin/bash
sudo chroot ./ubuntu-rootfs /bin/bash
# 更新
apt update
# 安装工具
apt install sudo vim iputils-ping net-tools network-manager kmod openssh-client openssh-server
# 修改root默认密码
passwd root
123456编写uboot启动脚本boot.cmd并编译得到boot.scr
- uboot启动后会自动执行
run distro_bootcmd,distro_bootcmd脚本会自动搜素到boot.scr文件并执行,boot.scr的内容是加载uEnv.txt环境变量,然后执行run bootcmd- bootcmd和bootargs都由用户定义在uEnv.txt中。
root@DESKTOP-J2QM63T:~/ubuntu-rootfs# vi boot/boot.cmd
root@DESKTOP-J2QM63T:~/ubuntu-rootfs# cd boot/
root@DESKTOP-J2QM63T:~/ubuntu-rootfs/boot# mkimage -A arm -O linux -T script -C none -d boot.cmd boot.scr
Image Name:
Created: Mon Jan 26 04:18:19 2026
Image Type: ARM Linux Script (uncompressed)
Data Size: 282 Bytes = 0.28 KiB = 0.00 MiB
Load Address: 00000000
Entry Point: 00000000
Contents:
Image 0: 274 Bytes = 0.27 KiB = 0.00 MiB
root@DESKTOP-J2QM63T:~/ubuntu-rootfs/boot# ls
boot.cmd boot.scr
root@DESKTOP-J2QM63T:~/ubuntu-rootfs/boot# cat boot.cmd# boot.cmd
# 从mmc0p1加载环境变量
load mmc 0:1 ${loadaddr} /boot/uEnv.txt
# 导入环境变量
env import -t ${loadaddr} ${filesize}
# 执行在环境变量中定义的bootcmd命令
run bootcmd
# 编译: mkimage -A arm -O linux -T script -C none -d boot.cmd boot.scr编写环境变量/boot/uEnv.txt
root@DESKTOP-J2QM63T:~/ubuntu-rootfs/boot# vi uEnv.txt
root@DESKTOP-J2QM63T:~/ubuntu-rootfs/boot# ls
boot.cmd boot.scr uEnv.txt
root@DESKTOP-J2QM63T:~/ubuntu-rootfs/boot# cat uEnv.txt# /boot/uEnv.txt
bootcmd=load mmc 0 ${kernel_addr_r} /boot/Image.gz;load mmc 0 ${fdt_addr_r} /boot/sun50i-h618-orangepi-zero2w.dtb;booti ${kernel_addr_r} - ${fdt_addr_r};
bootargs=console=ttyS0,115200 root=/dev/mmcblk0p1 rootfstype=ext4 rootwait rw init=/linuxrc debug panic=30
# u-boot启动测试代码:
# setenv bootcmd "load mmc 0 ${kernel_addr_r} /boot/Image.gz;load mmc 0 ${fdt_addr_r} /boot/sun50i-h618-orangepi-zero2w.dtb;booti ${kernel_addr_r} - ${fdt_addr_r};"
# setenv bootargs "console=ttyS0,115200 root=/dev/mmcblk0p1 rootfstype=ext4 rootwait rw init=/linuxrc debug panic=30"
# saveenv
# run bootcmd安装linux内核和设备树到根文件系统
root@DESKTOP-J2QM63T:~/ubuntu-rootfs# mkdir boot/
root@DESKTOP-J2QM63T:~/ubuntu-rootfs# cp ~/linux-6.18.2/arch/arm64/boot/Image.gz boot/
root@DESKTOP-J2QM63T:~/ubuntu-rootfs# cp ~/linux-6.18.2/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dt* boot/
root@DESKTOP-J2QM63T:~/ubuntu-rootfs# ls boot/
Image.gz boot.cmd boot.scr sun50i-h618-orangepi-zero2w.dtb sun50i-h618-orangepi-zero2w.dts uEnv.txt安装Linux模块到根文件系统
mkdir -p ~/ubuntu-rootfs/lib/modules/
cp -r ~/linux-6.18.2/_install/lib/modules/6.18.2-gb780ee9e82b1-dirty ~/ubuntu-rootfs/lib/modules/
root@DESKTOP-J2QM63T:~/ubuntu-rootfs/lib/modules# tree .
.
└── 6.18.2-gb780ee9e82b1-dirty
├── build -> /root/linux-6.18.2
├── kernel
│ ├── crypto
│ │ └── sha256.ko
│ ├── drivers
│ │ └── net
│ │ └── wireless
│ │ └── uwe5622
│ │ ├── tty-sdio
│ │ │ └── sprdbt_tty.ko
│ │ ├── unisocwcn
│ │ │ └── uwe5622_bsp_sdio.ko
│ │ └── unisocwifi
│ │ └── sprdwl_ng.ko
│ ├── fs
│ │ └── efivarfs
│ │ └── efivarfs.ko
│ └── net
│ ├── rfkill
│ │ ├── rfkill-gpio.ko
│ │ └── rfkill.ko
│ └── wireless
│ └── cfg80211.ko
├── modules.alias
├── modules.alias.bin
├── modules.builtin
├── modules.builtin.alias.bin
├── modules.builtin.bin
├── modules.builtin.modinfo
├── modules.dep
├── modules.dep.bin
├── modules.devname
├── modules.order
├── modules.softdep
├── modules.symbols
└── modules.symbols.bin配置uwe5622驱动文件的加载
# /etc/modules-load.d/uwe5622.conf文件中的模块 将自动由systemd通过modprobe完成加载
root@DESKTOP-J2QM63T:~# cat > ./ubuntu-rootfs/etc/modules-load.d/uwe5622.conf << EOF
rfkill
rfkill-gpio
cfg80211
uwe5622_bsp_sdio
sprdwl_ng
# sprdbt_tty
EOF安装uwe5622固件
# 安装uwe5622固件
#
root@DESKTOP-J2QM63T:~/ubuntu-rootfs# mkdir lib/firmware/
root@DESKTOP-J2QM63T:~/ubuntu-rootfs# cd lib/firmware/
# root@DESKTOP-J2QM63T:~/ubuntu-rootfs/lib/firmware# wget https://raw.githubusercontent.com/orangepi-xunlong/firmware/master/wcnmodem.bin
# root@DESKTOP-J2QM63T:~/ubuntu-rootfs/lib/firmware# wget https://raw.githubusercontent.com/orangepi-xunlong/firmware/master/wifi_2355b001_1ant.ini
root@DESKTOP-J2QM63T:~/ubuntu-rootfs/lib/firmware# wget https://raw.githubusercontent.com/armbian/firmware/master/uwe5622/wcnmodem.bin
root@DESKTOP-J2QM63T:~/ubuntu-rootfs/lib/firmware# wget https://raw.githubusercontent.com/armbian/firmware/master/uwe5622/wifi_2355b001_1ant.ini
root@DESKTOP-J2QM63T:~/ubuntu-rootfs/lib/firmware# ls
wcnmodem.bin wifi_2355b001_1ant.ini下载编译安装cfg80211.ko模块所需的固件regulatory.db
root@DESKTOP-J2QM63T:~# cd ~
root@DESKTOP-J2QM63T:~# wget https://mirrors.edge.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2025.10.07.tar.xz
root@DESKTOP-J2QM63T:~# tar -xvf wireless-regdb-2025.10.07.tar.xz
root@DESKTOP-J2QM63T:~# find ./wireless-regdb-2025.10.07/ -name regulatory*
./wireless-regdb-2025.10.07/regulatory.db.5
./wireless-regdb-2025.10.07/regulatory.db
./wireless-regdb-2025.10.07/regulatory.bin.5
./wireless-regdb-2025.10.07/regulatory.bin
./wireless-regdb-2025.10.07/regulatory.db.p7s
root@DESKTOP-J2QM63T:~# cp $(find ../wireless-regdb-2025.10.07/ -name regulatory*) ~/ubuntu-rootfs/lib/firmware/
root@DESKTOP-J2QM63T:~# ls ~/ubuntu-rootfs/lib/firmware/
regulatory.bin regulatory.bin.5 regulatory.db regulatory.db.5 regulatory.db.p7s wcnmodem.bin wifi_2355b001_1ant.ini制作linux.img系统镜像
创建1G空白文件linux.img
root@DESKTOP-J2QM63T:~# dd if=/dev/zero of=linux.img bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.73621 s, 1.5 GB/s分区方法一:MBR分区表+根分区
/linux文件系统分区/boot
dyg@ubuntu220405:~$ fdisk linux.img
Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xd33a9c2b.
Command (m for help): m
Help:
DOS (MBR)
a toggle a bootable flag
b edit nested BSD disklabel
c toggle the dos compatibility flag
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
u change display/entry units
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table
Command (m for help): o
Created a new DOS disklabel with disk identifier 0x75850b30.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-2097151, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2097151, default 2097151):
Created a new partition 1 of type 'Linux' and of size 1023 MiB.
Command (m for help): w
The partition table has been altered.
Syncing disks.分区方法二:GPT分区表+EFI分区+根分区
/bootEFI分区 100M/linux文件系统分区 剩余空间
root@DESKTOP-J2QM63T:~# fdisk linux.img
Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xe581cd3d.
Command (m for help): m
Help:
DOS (MBR)
a toggle a bootable flag
b edit nested BSD disklabel
c toggle the dos compatibility flag
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
u change display/entry units
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table
Command (m for help): g
Created a new GPT disklabel (GUID: 683B7EE3-7320-3D4A-8EC9-4B00BFDB3A62).
Command (m for help): n
Partition number (1-128, default 1): 1
First sector (2048-2097118, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2097118, default 2097118): +100M
Created a new partition 1 of type 'Linux filesystem' and of size 100 MiB.
Command (m for help): t
Selected partition 1
Partition type or alias (type L to list all): L
1 EFI System C12A7328-F81F-11D2-BA4B-00A0C93EC93B
......
19 Linux swap 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
20 Linux filesystem 0FC63DAF-8483-4772-8E79-3D69D8477DE4
......
49 Linux user's home 773f91ef-66d4-49b5-bd83-d683bf40ad16
Partition type or alias (type L to list all): 1
Changed type of partition 'Linux filesystem' to 'EFI System'.
Command (m for help): n
Partition number (2-128, default 2):
First sector (206848-2097118, default 206848):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (206848-2097118, default 2097118):
Created a new partition 2 of type 'Linux filesystem' and of size 923 MiB.
Command (m for help): w
The partition table has been altered.
Syncing disks.作为设备挂载
# losetup
# -f, find first unused device
# -P, create a partitioned loop device
# --show print device name after setup (with -f)
# -d, --detach <loopdev>... detach one or more devices
# sudo losetup -d /dev/loop0 # 分离Loop设备
root@DESKTOP-J2QM63T:~# losetup -f -P --show linux.img
/dev/loop0
root@DESKTOP-J2QM63T:~# ls /dev/loop0*
/dev/loop0 /dev/loop0p1 /dev/loop0p2格式化分区文件系统
# 对于MBR分区表
root@DESKTOP-J2QM63T:~# mkfs.ext4 /dev/loop0p1
mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done
Creating filesystem with 236283 4k blocks and 59136 inodes
Filesystem UUID: 5cfbb2e0-543e-448c-9009-8fd6374dbde1
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
# 对于GPT分区表
# root@DESKTOP-J2QM63T:~# mkfs.fat -F32 /dev/loop0p1
# mkfs.fat 4.2 (2021-01-31)
# root@DESKTOP-J2QM63T:~# mkfs.ext4 /dev/loop0p2
# mke2fs 1.46.5 (30-Dec-2021)
# Discarding device blocks: done
# Creating filesystem with 236283 4k blocks and 59136 inodes
# Filesystem UUID: 5cfbb2e0-543e-448c-9009-8fd6374dbde1
# Superblock backups stored on blocks:
# 32768, 98304, 163840, 229376
# Allocating group tables: done
# Writing inode tables: done
# Creating journal (4096 blocks): done
# Writing superblocks and filesystem accounting information: done挂载分区文件系统
root@DESKTOP-J2QM63T:~# mkdir /mnt/root
root@DESKTOP-J2QM63T:~# mount /dev/loop0p1 /mnt/root/
# root@DESKTOP-J2QM63T:~# mkdir /mnt/root /mnt/efi
# root@DESKTOP-J2QM63T:~# mount /dev/loop0p1 /mnt/efi/
# root@DESKTOP-J2QM63T:~# mount /dev/loop0p2 /mnt/root/安装U-boot到128k位置
# 对于MBR分区表
root@DESKTOP-J2QM63T:~# dd if=u-boot-2026.01-rc4/u-boot-sunxi-with-spl.bin of=/dev/loop0 bs=1k seek=8
852+1 records in
852+1 records out
872641 bytes (873 kB, 852 KiB) copied, 0.0317658 s, 27.5 MB/s
# 对于GPT分区表
# root@DESKTOP-J2QM63T:~# dd if=u-boot-2026.01-rc4/u-boot-sunxi-with-spl.bin of=/dev/loop0 bs=1k seek=128
# 852+1 records in
# 852+1 records out
# 872641 bytes (873 kB, 852 KiB) copied, 0.0317658 s, 27.5 MB/s
# 确保u-boot不会覆盖EFI分区:`128KB位置+872.641kB大小=1000.641KB` **小于** `EFI分区起始位置1048KB(2048扇区)`安装根文件系统
root@DESKTOP-J2QM63T:~# cp -a busybox-1.37.0/_install/* /mnt/root/
root@DESKTOP-J2QM63T:~# ls /mnt/root
bin dev etc home lib lib64 linuxrc lost+found mnt opt proc root sbin sys tmp usr var安装内核以及设备树文件到EFI分区
# 或安装到/boot目录
mkdir /mnt/root/boot
cp linux-6.18.2/arch/arm64/boot/Image.gz /mnt/root/boot/
mkdir /mnt/root/boot/dts/allwinner -p
cp linux-6.18.2/arch/arm64/boot/dts/allwinner/*.dtb /mnt/root/boot/dts/allwinner/
cp linux-6.18.2/arch/arm64/boot/dts/allwinner/*.dts /mnt/root/boot/dts/allwinner/
ls /mnt/root/boot/
Image.gz dts
# root@DESKTOP-J2QM63T:~# cp orange-pi-5.4-sun50iw9/arch/arm64/boot/Image.gz /mnt/efi/
# root@DESKTOP-J2QM63T:~# cp orange-pi-5.4-sun50iw9/arch/arm64/boot/dts/sunxi/sun50i-h616-orangepi-zero3.dtb /mnt/efi/
# root@DESKTOP-J2QM63T:~# ls /mnt/efi/
# Image.gz sun50i-h616-orangepi-zero3.dtb移除镜像
root@DESKTOP-J2QM63T:~# umount /mnt/efi/
root@DESKTOP-J2QM63T:~# umount /mnt/root/
root@DESKTOP-J2QM63T:~# sudo losetup -d /dev/loop0写入到U盘
root@DESKTOP-J2QM63T:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 1G 0 loop
├─loop0p1 259:0 0 100M 0 part /mnt/efi
└─loop0p2 259:1 0 923M 0 part /mnt/root
sde 8:64 1 29.7G 0 disk
root@DESKTOP-J2QM63T:~# dd if=linux.img of=/dev/sde bs=100M seek=0
10+1 records in
10+1 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 127.715 s, 8.4 MB/s编写启动命令
# load mmc 0 ${ramdisk_addr_r} /boot/uInitrd;
load mmc 0 ${kernel_addr_r} /boot/Image.gz;
load mmc 0 ${fdt_addr_r} /boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dtb;
# 启动uImage
# bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
# bootm ${kernel_addr_r} - ${fdt_addr_r}
# 启动Image.gz
# booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
booti ${kernel_addr_r} - ${fdt_addr_r}
setenv bootcmd "load mmc 0 ${kernel_addr_r} /boot/Image.gz;load mmc 0 ${fdt_addr_r} /boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dtb;booti ${kernel_addr_r} - ${fdt_addr_r};"
# setenv bootcmd "load mmc 0 ${kernel_addr_r} /boot/Image.gz;load mmc 0 ${fdt_addr_r} /boot/dts/allwinner/sun50i-h6-orangepi-3.dtb;;booti ${kernel_addr_r} - ${fdt_addr_r};"
# setenv bootcmd "load mmc 0 ${kernel_addr_r} /boot/Image.gz;load mmc 0 ${fdt_addr_r} /boot/dts/allwinner/sun50i-h618-orangepi-zero3.dtb;booti ${kernel_addr_r} - ${fdt_addr_r};"
setenv bootargs "console=ttyS0,115200 root=/dev/mmcblk0p1 rootfstype=ext4 rootwait rw init=/linuxrc debug panic=30"
setenv bootargs "console=ttyS0,115200 root=/dev/mmcblk0p1 rootfstype=ext4 rootwait rw init=/sbin/init debug panic=30"
saveenv
run bootcmdmodprobe rfkill
modprobe rfkill-gpio
modprobe cfg80211
modprobe uwe5622_bsp_sdio
modprobe sprdwl_ng
export PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
export LD_LIBRARY_PATH="/lib:/lib64:/usr/lib:/usr/lib64:/usr/local/lib:/usr/local/lib64"
rfkill
iwconfig
ifconfig wlan0 up
iwconfig
iwlist wlan0 scan | grep SSID
cat /proc/sys/kernel/printk
echo 3 > /proc/sys/kernel/printk
iwconfig wlan0 essid "HUAWEI-R1ENE4"
iwconfig wlan0 essid "HUAWEI-R1ENE4_Guest"
ifconfig wlan0 up
ifconfig wlan0 down
ifconfig wlan0 upHit any key to stop autoboot: 0
6272824 bytes read in 260 ms (23 MiB/s)
22332 bytes read in 4 ms (5.3 MiB/s)
Uncompressing Kernel Image to 0
Moving Image from 0x40080000 to 0x40200000, end=0x410d0000
## Flattened Device Tree blob at 4fa00000
Booting using the fdt blob at 0x4fa00000
Working FDT set to 4fa00000
Loading Device Tree to 0000000049ff7000, end 0000000049fff73b ... OK
Working FDT set to 49ff7000
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 6.18.2-gb780ee9e82b1-dirty (root@DESKTOP-J2QM63T) (aarch64-none-linux-gnu-gcc (Arm GNU Toolchain 14.3.Rel1 (Build arm-14.174)) 14.3.1 20250623, GNU ld (Arm GNU Toolchain 14.3.Rel1 (Build arm-14.174)) 2.44.0.20250616) #2 SMP Wed Jan 21 00:08:10 CST 2026
[ 0.000000] Machine model: OrangePi Zero 2W
[ 0.000000] efi: UEFI not found.
[ 0.000000] OF: reserved mem: 0x0000000040000000..0x000000004003ffff (256 KiB) nomap non-reusable secmon@40000000
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000040000000-0x000000007fffffff]
[ 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 0x0000000040000000-0x000000004003ffff]
[ 0.000000] node 0: [mem 0x0000000040040000-0x000000007fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]
[ 0.000000] cma: Reserved 16 MiB at 0x000000007dc00000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 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.5
[ 0.000000] percpu: Embedded 20 pages/cpu s42008 r8192 d31720 u81920
[ 0.000000] pcpu-alloc: s42008 r8192 d31720 u81920 alloc=20*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] alternatives: applying boot alternatives
[ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mmcblk0p1 rootfstype=ext4 rootwait rw init=/linuxrc debug panic=30
[ 0.000000] printk: log buffer data + meta data: 131072 + 458752 = 589824 bytes
[ 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] software IO TLB: SWIOTLB bounce buffer size adjusted to 1MB
[ 0.000000] software IO TLB: area num 4.
[ 0.000000] software IO TLB: mapped [mem 0x000000007da80000-0x000000007db80000] (1MB)
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 262144
[ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[ 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=4
[ 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 running at 24.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000376] Console: colour dummy device 80x25
[ 0.000435] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)
[ 0.000448] pid_max: default: 32768 minimum: 301
[ 0.000600] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.000612] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.002368] rcu: Hierarchical SRCU implementation.
[ 0.002372] rcu: Max phase no-delay instances is 1000.
[ 0.002642] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[ 0.002754] EFI services will not be available.
[ 0.002956] smp: Bringing up secondary CPUs ...
[ 0.003429] Detected VIPT I-cache on CPU1
[ 0.003558] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.004114] Detected VIPT I-cache on CPU2
[ 0.004206] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 0.004669] Detected VIPT I-cache on CPU3
[ 0.004761] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 0.004829] smp: Brought up 1 node, 4 CPUs
[ 0.004836] SMP: Total of 4 processors activated.
[ 0.004839] CPU: All CPU(s) started at EL2
[ 0.004844] CPU features: detected: 32-bit EL0 Support
[ 0.004848] CPU features: detected: CRC32 instructions
[ 0.004858] CPU features: detected: PMUv3
[ 0.004893] alternatives: applying system-wide alternatives
[ 0.005528] Memory: 991756K/1048576K available (9216K kernel code, 1220K rwdata, 2960K rodata, 1280K init, 304K bss, 36964K reserved, 16384K cma-reserved)
[ 0.006027] devtmpfs: initialized
[ 0.009971] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.009992] posixtimers hash table entries: 2048 (order: 3, 32768 bytes, linear)
[ 0.010095] futex hash table entries: 1024 (65536 bytes on 1 NUMA nodes, total 64 KiB, linear).
[ 0.010503] 28976 pages in range for non-PLT usage
[ 0.010507] 520496 pages in range for PLT usage
[ 0.010563] pinctrl core: initialized pinctrl subsystem
[ 0.011096] DMI not present or invalid.
[ 0.011621] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.012872] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[ 0.013329] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.014176] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.015058] thermal_sys: Registered thermal governor 'step_wise'
[ 0.015140] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.015212] ASID allocator initialised with 65536 entries
[ 0.018126] /soc/clock@3001000: Fixed dependency cycle(s) with /soc/rtc@7000000
[ 0.018168] /soc/interrupt-controller@3021000: Fixed dependency cycle(s) with /soc/interrupt-controller@3021000
[ 0.018286] /soc/rtc@7000000: Fixed dependency cycle(s) with /soc/clock@3001000
[ 0.018299] /soc/rtc@7000000: Fixed dependency cycle(s) with /soc/clock@7010000
[ 0.018312] /soc/clock@7010000: Fixed dependency cycle(s) with /soc/clock@3001000
[ 0.018324] /soc/clock@7010000: Fixed dependency cycle(s) with /soc/rtc@7000000
[ 0.018820] /soc/clock@3001000: Fixed dependency cycle(s) with /soc/rtc@7000000
[ 0.021157] /soc/clock@3001000: Fixed dependency cycle(s) with /soc/rtc@7000000
[ 0.021261] /soc/rtc@7000000: Fixed dependency cycle(s) with /soc/clock@3001000
[ 0.021316] /soc/rtc@7000000: Fixed dependency cycle(s) with /soc/clock@7010000
[ 0.021408] /soc/rtc@7000000: Fixed dependency cycle(s) with /soc/clock@7010000
[ 0.021462] /soc/clock@7010000: Fixed dependency cycle(s) with /soc/clock@3001000
[ 0.021518] /soc/clock@7010000: Fixed dependency cycle(s) with /soc/rtc@7000000
[ 0.025079] SCSI subsystem initialized
[ 0.025192] libata version 3.00 loaded.
[ 0.025349] usbcore: registered new interface driver usbfs
[ 0.025383] usbcore: registered new interface driver hub
[ 0.025415] usbcore: registered new device driver usb
[ 0.025543] mc: Linux media interface: v0.10
[ 0.025576] videodev: Linux video capture interface: v2.00
[ 0.025613] pps_core: LinuxPPS API ver. 1 registered
[ 0.025616] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.025630] PTP clock support registered
[ 0.025917] Advanced Linux Sound Architecture Driver Initialized.
[ 0.026718] clocksource: Switched to clocksource arch_sys_counter
[ 0.033351] NET: Registered PF_INET protocol family
[ 0.033496] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.034507] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[ 0.034530] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.034540] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.034609] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)
[ 0.034918] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.035009] UDP hash table entries: 512 (order: 3, 32768 bytes, linear)
[ 0.035055] UDP-Lite hash table entries: 512 (order: 3, 32768 bytes, linear)
[ 0.035184] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.035615] RPC: Registered named UNIX socket transport module.
[ 0.035620] RPC: Registered udp transport module.
[ 0.035623] RPC: Registered tcp transport module.
[ 0.035626] RPC: Registered tcp-with-tls transport module.
[ 0.035629] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.036583] Initialise system trusted keyrings
[ 0.036713] workingset: timestamp_bits=62 max_order=18 bucket_order=0
[ 0.037171] NFS: Registering the id_resolver key type
[ 0.037204] Key type id_resolver registered
[ 0.037208] Key type id_legacy registered
[ 0.037263] Key type asymmetric registered
[ 0.037270] Asymmetric key parser 'x509' registered
[ 0.037316] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[ 0.037323] io scheduler mq-deadline registered
[ 0.037327] io scheduler kyber registered
[ 0.037343] io scheduler bfq registered
[ 0.084727] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.092142] CAN device driver interface
[ 0.093190] i2c_dev: i2c /dev entries driver
[ 0.094473] sunxi-wdt 30090a0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 0.095028] SMCCC: SOC_ID: ID = jep106:091e:1823 Revision = 0x00000002
[ 0.095618] usbcore: registered new interface driver usbhid
[ 0.095623] usbhid: USB HID core driver
[ 0.096539] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 (0,8000003f) counters available
[ 0.101342] NET: Registered PF_PACKET protocol family
[ 0.101350] can: controller area network core
[ 0.101392] NET: Registered PF_CAN protocol family
[ 0.101398] can: raw protocol
[ 0.101404] can: broadcast manager protocol
[ 0.101411] can: netlink gateway - max_hops=1
[ 0.101519] Key type dns_resolver registered
[ 0.107094] Loading compiled-in X.509 certificates
[ 0.123320] ehci-platform 5200000.usb: EHCI Host Controller
[ 0.123354] ehci-platform 5200000.usb: new USB bus registered, assigned bus number 1
[ 0.123408] ohci-platform 5200400.usb: Generic Platform OHCI controller
[ 0.123424] ohci-platform 5200400.usb: new USB bus registered, assigned bus number 2
[ 0.123442] usb_phy_generic usb_phy_generic.0.auto: dummy supplies not allowed for exclusive requests (id=vbus)
[ 0.123663] ohci-platform 5200400.usb: irq 21, io mem 0x05200400
[ 0.123755] ehci-platform 5200000.usb: irq 20, io mem 0x05200000
[ 0.131282] clk: Disabling unused clocks
[ 0.131432] PM: genpd: Disabling unused power domains
[ 0.131441] ALSA device list:
[ 0.131445] #0: h616-audio-codec
[ 0.131498] Warning: unable to open an initial console.
[ 0.131514] check access for rdinit=/init failed: -2, ignoring
[ 0.134724] ehci-platform 5200000.usb: USB 2.0 started, EHCI 1.00
[ 0.135364] hub 1-0:1.0: USB hub found
[ 0.135407] hub 1-0:1.0: 1 port detected
[ 0.183745] hub 2-0:1.0: USB hub found
[ 0.183775] hub 2-0:1.0: 1 port detected
[ 0.184166] Waiting for root device /dev/mmcblk0p1...
[ 10.208019] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
[ 10.208449] sun50i-h616-r-pinctrl 7022000.pinctrl: initialized sunXi PIO driver
[ 10.210464] sun50i-h616-r-pinctrl 7022000.pinctrl: supply vcc-pl not found, using dummy regulator
[ 10.211184] /soc/i2c@7081400/pmic@36: Fixed dependency cycle(s) with /soc/pinctrl@300b000
[ 10.212428] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
[ 10.219428] sun50i-h616-pinctrl 300b000.pinctrl: initialized sunXi PIO driver
[ 10.220233] dw-apb-uart 5000000.serial: Error applying setting, reverse things back
[ 10.221004] sun6i-spi 5010000.spi: Error applying setting, reverse things back
[ 10.221156] sunxi-mmc 4020000.mmc: Error applying setting, reverse things back
[ 10.221424] axp20x-i2c 0-0036: AXP20x variant AXP313a found
[ 10.221761] sunxi-mmc 4021000.mmc: Error applying setting, reverse things back
[ 10.223290] axp20x-i2c 0-0036: AXP20X driver loaded
[ 10.224037] dw-apb-uart 5000000.serial: Error applying setting, reverse things back
[ 10.224296] sun6i-spi 5010000.spi: Error applying setting, reverse things back
[ 10.225348] sunxi-mmc 4020000.mmc: Error applying setting, reverse things back
[ 10.225448] platform wifi-pwrseq: deferred probe pending: pwrseq_simple: reset GPIOs not ready
[ 10.225456] platform leds: deferred probe pending: leds-gpio: Failed to get GPIO '/leds/led-0'
[ 10.225462] platform 5000000.serial: deferred probe pending: (reason unknown)
[ 10.225467] platform 5010000.spi: deferred probe pending: (reason unknown)
[ 10.225473] platform 4020000.mmc: deferred probe pending: (reason unknown)
[ 10.225557] sunxi-mmc 4021000.mmc: Error applying setting, reverse things back
[ 10.228732] printk: legacy console [ttyS0] disabled
[ 10.249363] 5000000.serial: ttyS0 at MMIO 0x5000000 (irq = 297, base_baud = 1500000) is a 16550A
[ 10.249416] printk: legacy console [ttyS0] enabled
[ 11.445526] sunxi-mmc 4020000.mmc: Got CD GPIO
[ 11.445687] sunxi-mmc 4021000.mmc: allocated mmc-pwrseq
[ 11.475348] sunxi-mmc 4020000.mmc: initialized, max. request size: 16384 KB, uses new timings mode
[ 11.527757] mmc0: host does not support reading read-only switch, assuming write-enable
[ 11.538943] mmc0: new high speed SDHC card at address aaaa
[ 11.545093] mmcblk0: mmc0:aaaa SD32G 29.7 GiB
[ 11.551597] mmcblk0: p1
[ 11.682738] sunxi-mmc 4021000.mmc: initialized, max. request size: 16384 KB, uses new timings mode
[ 11.708448] mmc1: new high speed SDIO card at address 8800
[ 11.762315] EXT4-fs (mmcblk0p1): recovery complete
[ 11.768182] EXT4-fs (mmcblk0p1): mounted filesystem 691ab93c-38e0-4d58-a0c0-43f22d51df46 r/w with ordered data mode. Quota mode: disabled.
[ 11.780667] VFS: Mounted root (ext4 filesystem) on device 179:1.
[ 11.787695] devtmpfs: mounted
[ 11.791350] Freeing unused kernel memory: 1280K
[ 11.795964] Run /linuxrc as init process
[ 11.799892] with arguments:
[ 11.802862] /linuxrc
[ 11.805393] with environment:
[ 11.808549] HOME=/
[ 11.810915] TERM=linux
Mounting virtual filesystems...
Populating /dev with mdev...
/etc/init.d/rcS: /etc/init.d/rcS: line 0: line 27: can't create /proc/sys/kernel/hotplug: nonexistent directory
can't open '/dev/null': No such file or directory
Syst
Please press Enter to activate this console.
~ # modprobe rfkill
~ # modprobe rfkill-gpio
~ # modprobe cfg80211
[ 20.401152] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 20.413112] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 20.422058] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
~ # [ 20.438364] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
modprobe uwe5622_bsp_sdio
[ 23.193030] WCN: marlin_init entry!
[ 23.196902] WCN: wcn config bt wake host
[ 23.200975] WCN_ERR: dts node for bt_wake not found
[ 23.200979] WCN: marlin2 parse_dt some para not config
[ 23.211018] sdiohal:sdiohal_parse_dt adma_tx:1, adma_rx:1, pwrseq:0, irq type:data, gpio_num:0, blksize:840
[ 23.222815] sdiohal:sdiohal_init ok
[ 23.226878] WCN: marlin_probe ok!
~ # modprobe sprdwl_ng
[ 25.739658] WCN: start_marlin [MARLIN_WIFI]
[ 25.743879] WCN: marlin power state:0, subsys: [MARLIN_WIFI] power 1
[ 25.750235] WCN: the first power on start
[ 25.854725] WCN: marlin chip en dummy pull up -- need manually set GPIO
[ 25.882723] sdiohal:sdiohal_scan_card
[ 25.886527] sdiohal:sdiohal_probe: func->class=0, vendor=0x0000, device=0x0000, func_num=0x0001, clock=50000000
[ 25.896887] WCN: marlin_get_wcn_chipid: chipid: 0x2355b001
[ 25.902380] WCN: marlin_scan_finish!
[ 25.905958] sdiohal:probe ok
[ 25.908898] sdiohal:scan end!
[ 25.911872] WCN: then marlin start to download
[ 25.916332] WCN: marlin_request_firmware from /lib/firmware/uwe5622/wcnmodem.bin start!
[ 26.942723] WCN_ERR: load_firmware_data_path: open file /lib/firmware/uwe5622/wcnmodem.bin error
[ 26.951515] WCN: marlin_request_firmware from /lib/firmware/wcnmodem.bin start!
[ 28.479648] WCN: combin_img 0 marlin_firmware_write finish and successful
[ 28.486667] WCN: marlin_start_run read reset reg val:0x1
[ 28.491985] WCN: after do marlin_start_run reset reg val:0x0
[ 28.497865] WCN: s_marlin_bootup_time=28497864181
[ 28.504530] WCN: clock mode: TSX
[ 28.512689] WCN: marlin_write_cali_data sync init_state:0xffffffff
[ 28.542939] WCN: marlin_write_cali_data sync init_state:0xf0f0f0f1
[ 28.549122] WCN: sdio_config bt_wake_host trigger:[high]
[ 28.554436] WCN: sdio_config irq:[inband]
[ 28.558449] WCN: sdio_config wake_host_level_duration_time:[20ms]
[ 28.564540] WCN: sdio_config wake_host_data_separation:[bt/wifi reuse]
[ 28.571064] WCN: marlin_send_sdio_config_to_cp sdio_config:0x80f01 (enable config)
[ 28.579073] WCN: marlin_write_cali_data finish
[ 28.583744] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[ 28.610940] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[ 28.638943] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[ 28.666941] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[ 28.694946] WCN: check_cp_ready sync val:0xf0f0f0ff, prj_type val:0x0
[ 28.701389] sdiohal:sdiohal_runtime_get entry
[ 28.705992] WCN: get_cp2_version entry!
[ 28.744976] WCN: WCND at cmd read:WCN_VER:Platform Version:MARLIN3_19B_W21.05.3~Project Version:sc2355_marlin3_lite_ott~12-15-2021 11:26:33~
[ 28.757594] WCN: switch_cp2_log - close entry!
[ 28.763178] WCN: WCND at cmd read:OK
[ 28.766785] WCN: then marlin download finished and run ok
[ 28.772192] WCN: start_loopcheck
[ 28.790321] WCN: get_board_ant_num [one_ant]
[ 28.794639] wifi ini path = /lib/firmware/wifi_2355b001_1ant.ini
[ 28.824850] sprdwl:sprdwl_get_fw_info length mismatch: len_count=83, r_len=89
[ 28.832003] sprdwl:sprdwl_get_fw_info, drv_version=1, fw_version=2, compat_ver=0
[ 28.839399] sprdwl:chip_model:0x2355, chip_ver:0x0
[ 28.844193] sprdwl:fw_ver:0, fw_std:0x7f, fw_capa:0x120f7f
[ 28.849679] sprdwl:mac_addr:c8:26:e2:4b:29:bb
[ 28.854039] sprdwl:credit_capa:TX_WITH_CREDIT
[ 28.858398] sprdwl:ott support:0
[ 28.895141] unisoc_wifi unisoc_wifi wlan0: mixed HW and IP checksum settings.
export PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
export LD_LIBRARY_PATH="/lib:/lib64:/usr/lib:/usr/lib64:/usr/local/lib:/usr/local/lib64"
~ # iwconfig
lo no wir[ 44.386781] warning: `iwconfig' uses wireless extensions which will stop working for Wi-Fi 7 hardware; use nl80211
eless extensions.
wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated
Retry short limit:10 RTS thr=2353 B Fragment thr:off
Encryption key:off
Power Management:off
~ # ifconfig wlan0 up
~ # iwconfig
lo no wireless extensions.
wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated
Retry short limit:10 RTS thr=2353 B Fragment thr:off
Encryption key:off
Power Management:off
~ # iwlist wlan0 scan | grep SSID
ESSID:"HUAWEI-R1ENE4"
ESSID:"HUAWEI-R1ENE4_Guest"
ESSID:"ChinaNet-Wv54"
ESSID:"CMCC-W3CK"
ESSID:"xue"
ESSID:"ChinaNet-90"
ESSID:"ChinaNet-90"
ESSID:"ChinaNet-90"
ESSID:"ChinaNet-90-5G"
ESSID:"ChinaNet-90-5G"
ESSID:"ChinaNet-90-5G"
ESSID:"HUAWEI-R1ENE4"
ESSID:"HUAWEI-R1ENE4_Guest"
~ # cat /proc/sys/kernel/printk
10 4 1 7
~ # echo 3 > /proc/sys/kernel/printk
~ # ^C
~ # iwconfig wlan0 essid "HUAWEI-R1ENE4"
~ # iwconfig wlan0 essid "HUAWEI-R1ENE4_Guest"
Error for wireless request "Set ESSID" (8B1A) :
SET failed on device wlan0 ; Operation not permitted.
~ # [ 169.790711] unisoc_wifi unisoc_wifi wlan0: NETDEV WATCHDOG: CPU: 3: transmit queue 0 timed out 2144 ms
~ # ifconfig wlan0 up
~ # ifconfig wlan0 down
~ # ifconfig wlan0 up
~ # iwlist wlan0 scan | grep SSID
wlan0 Interface doesn't support scanning : Input/output error
~ #root@DESKTOP-J2QM63T:~/busybox-1.37.0# chroot ./_install /bin/sh
# 安装alpine的apk包管理工具
wget https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic//v2.14.10/aarch64/apk.static
chmod +x apk.static
mv apk.static /bin/apk
mkdir /etc/apk
echo 'https://dl-cdn.alpinelinux.org/alpine/latest-stable/main' > /etc/apk/repositories
echo 'https://dl-cdn.alpinelinux.org/alpine/latest-stable/community' >> /etc/apk/repositories
cat /etc/apk/repositories
mkdir /etc/apk/keys /var/lib/apk /var/cache/apk /var/lock -p
root@DESKTOP-J2QM63T:~# git clone https://github.com/alpinelinux/aports.git --depth=1
root@DESKTOP-J2QM63T:~/busybox-1.37.0# find ~/aports/ -name *.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-66ba20fe.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub
/root/aports/main/alpine-keys/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub
root@DESKTOP-J2QM63T:~/busybox-1.37.0# cp `find ~/aports/ -name *.pub` _install/etc/apk/keys/
root@DESKTOP-J2QM63T:~/busybox-1.37.0# chroot ./_install /bin/sh
apk update
apk add file ca-certificates-bundle networkmanagerU-Boot SPL 2026.01-rc4 (Jan 10 2026 - 02:31:30 +0800)
DRAM: 1024 MiB
Trying to boot from MMC1
NOTICE: BL31: v2.14.0(debug):sandbox/v2.14-94-ge9db137a7
NOTICE: BL31: Built : 05:23:50, Dec 14 2025
NOTICE: BL31: Detected Allwinner H616 SoC (1823)
NOTICE: BL31: Found U-Boot DTB at 0x4a0b5c28, model: OrangePi Zero 2W
INFO: ARM GICv2 driver initialized
INFO: Configuring SPC Controller
INFO: Probing for PMIC on I2C:
INFO: PMIC: found AXP313
INFO: BL31: Platform setup done
INFO: BL31: Initializing runtime services
INFO: BL31: cortex_a53: CPU workaround for erratum 855873 was applied
INFO: BL31: cortex_a53: CPU workaround for erratum 1530924 was applied
INFO: PSCI: Suspend is unavailable
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x4a000000
INFO: SPSR = 0x3c9
INFO: Changed devicetree.
U-Boot 2026.01-rc4 (Jan 10 2026 - 02:31:30 +0800) Allwinner Technology
CPU: Allwinner H616 (SUN50I)
Model: OrangePi Zero 2W
DRAM: 1 GiB
Core: 58 devices, 24 uclasses, devicetree: separate
WDT: Not starting watchdog@30090a0
MMC: mmc@4020000: 0
Loading Environment from MMC... Reading from MMC(0)... OK
In: serial@5000000
Out: serial@5000000
Err: serial@5000000
Allwinner mUSB OTG (Peripheral)
Net: using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
eth0: usb_ether
starting USB...
USB EHCI 1.00
USB OHCI 1.0
Bus usb@5200000: 1 USB Device(s) found
Bus usb@5200400: 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
> load mmc 0 ${kernel_addr_r} /boot/Image.gz;
> load mmc 0 ${fdt_addr_r} /boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dtb;
> # booti ${kernel_addr_r} - ${fdt_addr_r}
> setenv bootcmd "load mmc 0 ${kernel_addr_r} /boot/Image.gz;load mmc 0 ${fdt_addr_r} /boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dtb;booti ${kernel_addr_r} - ${fdt_addr_r};"
> setenv bootargs "console=ttyS0,115200 root=/dev/mmcblk0p1 rootfstype=ext4 rootwait rw init=/sbin/init debug panic=30"
> saveenv
> run bootcmd
6272820 bytes read in 261 ms (22.9 MiB/s)
22332 bytes read in 3 ms (7.1 MiB/s)
Uncompressing Kernel Image to 0
Moving Image from 0x40080000 to 0x40200000, end=0x410d0000
## Flattened Device Tree blob at 4fa00000
Booting using the fdt blob at 0x4fa00000
Working FDT set to 4fa00000
Loading Device Tree to 0000000049ff7000, end 0000000049fff73b ... OK
Working FDT set to 49ff7000
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 6.18.2-gb780ee9e82b1-dirty (root@DESKTOP-J2QM63T) (aarch64-none-linux-gnu-gcc (Arm GNU Toolchain 14.3.Rel1 (Build arm-14.174)) 14.3.1 20250623, GNU ld (Arm GNU Toolchain 14.3.Rel1 (Build arm-14.174)) 2.44.0.20250616) #3 SMP Thu Jan 22 23:10:46 CST 2026
[ 0.000000] Machine model: OrangePi Zero 2W
[ 0.000000] efi: UEFI not found.
[ 0.000000] OF: reserved mem: 0x0000000040000000..0x000000004003ffff (256 KiB) nomap non-reusable secmon@40000000
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000040000000-0x000000007fffffff]
[ 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 0x0000000040000000-0x000000004003ffff]
[ 0.000000] node 0: [mem 0x0000000040040000-0x000000007fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]
[ 0.000000] cma: Reserved 16 MiB at 0x000000007dc00000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 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.5
[ 0.000000] percpu: Embedded 20 pages/cpu s42008 r8192 d31720 u81920
[ 0.000000] pcpu-alloc: s42008 r8192 d31720 u81920 alloc=20*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] alternatives: applying boot alternatives
[ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mmcblk0p1 rootfstype=ext4 rootwait rw init=/sbin/init debug panic=30
[ 0.000000] printk: log buffer data + meta data: 131072 + 458752 = 589824 bytes
[ 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] software IO TLB: SWIOTLB bounce buffer size adjusted to 1MB
[ 0.000000] software IO TLB: area num 4.
[ 0.000000] software IO TLB: mapped [mem 0x000000007da80000-0x000000007db80000] (1MB)
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 262144
[ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[ 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=4
[ 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 running at 24.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000377] Console: colour dummy device 80x25
[ 0.000439] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)
[ 0.000452] pid_max: default: 32768 minimum: 301
[ 0.000602] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.000614] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.002372] rcu: Hierarchical SRCU implementation.
[ 0.002376] rcu: Max phase no-delay instances is 1000.
[ 0.002652] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[ 0.002764] EFI services will not be available.
[ 0.002964] smp: Bringing up secondary CPUs ...
[ 0.003434] Detected VIPT I-cache on CPU1
[ 0.003563] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.004115] Detected VIPT I-cache on CPU2
[ 0.004210] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 0.004674] Detected VIPT I-cache on CPU3
[ 0.004767] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 0.004834] smp: Brought up 1 node, 4 CPUs
[ 0.004840] SMP: Total of 4 processors activated.
[ 0.004844] CPU: All CPU(s) started at EL2
[ 0.004848] CPU features: detected: 32-bit EL0 Support
[ 0.004853] CPU features: detected: CRC32 instructions
[ 0.004862] CPU features: detected: PMUv3
[ 0.004898] alternatives: applying system-wide alternatives
[ 0.005531] Memory: 991756K/1048576K available (9216K kernel code, 1220K rwdata, 2960K rodata, 1280K init, 304K bss, 36964K reserved, 16384K cma-reserved)
[ 0.006032] devtmpfs: initialized
[ 0.009922] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.009943] posixtimers hash table entries: 2048 (order: 3, 32768 bytes, linear)
[ 0.010048] futex hash table entries: 1024 (65536 bytes on 1 NUMA nodes, total 64 KiB, linear).
[ 0.010455] 28976 pages in range for non-PLT usage
[ 0.010459] 520496 pages in range for PLT usage
[ 0.010515] pinctrl core: initialized pinctrl subsystem
[ 0.011044] DMI not present or invalid.
[ 0.011571] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.012807] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[ 0.013261] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.014098] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.014960] thermal_sys: Registered thermal governor 'step_wise'
[ 0.015042] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.015114] ASID allocator initialised with 65536 entries
[ 0.018032] /soc/clock@3001000: Fixed dependency cycle(s) with /soc/rtc@7000000
[ 0.018075] /soc/interrupt-controller@3021000: Fixed dependency cycle(s) with /soc/interrupt-controller@3021000
[ 0.018193] /soc/rtc@7000000: Fixed dependency cycle(s) with /soc/clock@3001000
[ 0.018205] /soc/rtc@7000000: Fixed dependency cycle(s) with /soc/clock@7010000
[ 0.018218] /soc/clock@7010000: Fixed dependency cycle(s) with /soc/clock@3001000
[ 0.018230] /soc/clock@7010000: Fixed dependency cycle(s) with /soc/rtc@7000000
[ 0.018726] /soc/clock@3001000: Fixed dependency cycle(s) with /soc/rtc@7000000
[ 0.021058] /soc/clock@3001000: Fixed dependency cycle(s) with /soc/rtc@7000000
[ 0.021162] /soc/rtc@7000000: Fixed dependency cycle(s) with /soc/clock@3001000
[ 0.021217] /soc/rtc@7000000: Fixed dependency cycle(s) with /soc/clock@7010000
[ 0.021308] /soc/rtc@7000000: Fixed dependency cycle(s) with /soc/clock@7010000
[ 0.021362] /soc/clock@7010000: Fixed dependency cycle(s) with /soc/clock@3001000
[ 0.021418] /soc/clock@7010000: Fixed dependency cycle(s) with /soc/rtc@7000000
[ 0.024947] SCSI subsystem initialized
[ 0.025058] libata version 3.00 loaded.
[ 0.025214] usbcore: registered new interface driver usbfs
[ 0.025247] usbcore: registered new interface driver hub
[ 0.025279] usbcore: registered new device driver usb
[ 0.025406] mc: Linux media interface: v0.10
[ 0.025438] videodev: Linux video capture interface: v2.00
[ 0.025475] pps_core: LinuxPPS API ver. 1 registered
[ 0.025479] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.025492] PTP clock support registered
[ 0.025788] Advanced Linux Sound Architecture Driver Initialized.
[ 0.026580] clocksource: Switched to clocksource arch_sys_counter
[ 0.033377] NET: Registered PF_INET protocol family
[ 0.033517] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.034525] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[ 0.034546] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.034556] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.034637] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)
[ 0.034940] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.035033] UDP hash table entries: 512 (order: 3, 32768 bytes, linear)
[ 0.035079] UDP-Lite hash table entries: 512 (order: 3, 32768 bytes, linear)
[ 0.035212] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.035553] RPC: Registered named UNIX socket transport module.
[ 0.035558] RPC: Registered udp transport module.
[ 0.035561] RPC: Registered tcp transport module.
[ 0.035564] RPC: Registered tcp-with-tls transport module.
[ 0.035567] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.036514] Initialise system trusted keyrings
[ 0.036645] workingset: timestamp_bits=62 max_order=18 bucket_order=0
[ 0.037082] NFS: Registering the id_resolver key type
[ 0.037102] Key type id_resolver registered
[ 0.037106] Key type id_legacy registered
[ 0.037157] Key type asymmetric registered
[ 0.037164] Asymmetric key parser 'x509' registered
[ 0.037211] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[ 0.037219] io scheduler mq-deadline registered
[ 0.037223] io scheduler kyber registered
[ 0.037238] io scheduler bfq registered
[ 0.085052] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.092504] CAN device driver interface
[ 0.093553] i2c_dev: i2c /dev entries driver
[ 0.094846] sunxi-wdt 30090a0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 0.095383] SMCCC: SOC_ID: ID = jep106:091e:1823 Revision = 0x00000002
[ 0.095967] usbcore: registered new interface driver usbhid
[ 0.095972] usbhid: USB HID core driver
[ 0.096868] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 (0,8000003f) counters available
[ 0.101977] NET: Registered PF_PACKET protocol family
[ 0.101988] can: controller area network core
[ 0.102031] NET: Registered PF_CAN protocol family
[ 0.102037] can: raw protocol
[ 0.102043] can: broadcast manager protocol
[ 0.102051] can: netlink gateway - max_hops=1
[ 0.102146] Key type dns_resolver registered
[ 0.107684] Loading compiled-in X.509 certificates
[ 0.123939] ehci-platform 5200000.usb: EHCI Host Controller
[ 0.123972] ehci-platform 5200000.usb: new USB bus registered, assigned bus number 1
[ 0.124047] ohci-platform 5200400.usb: Generic Platform OHCI controller
[ 0.124063] ohci-platform 5200400.usb: new USB bus registered, assigned bus number 2
[ 0.124081] usb_phy_generic usb_phy_generic.0.auto: dummy supplies not allowed for exclusive requests (id=vbus)
[ 0.124157] ohci-platform 5200400.usb: irq 21, io mem 0x05200400
[ 0.124335] ehci-platform 5200000.usb: irq 20, io mem 0x05200000
[ 0.132027] clk: Disabling unused clocks
[ 0.132173] PM: genpd: Disabling unused power domains
[ 0.132182] ALSA device list:
[ 0.132186] #0: h616-audio-codec
[ 0.132240] Warning: unable to open an initial console.
[ 0.132257] check access for rdinit=/init failed: -2, ignoring
[ 0.134592] ehci-platform 5200000.usb: USB 2.0 started, EHCI 1.00
[ 0.135232] hub 1-0:1.0: USB hub found
[ 0.135263] hub 1-0:1.0: 1 port detected
[ 0.183075] hub 2-0:1.0: USB hub found
[ 0.183110] hub 2-0:1.0: 1 port detected
[ 0.183513] Waiting for root device /dev/mmcblk0p1...
[ 10.207629] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
[ 10.208001] sun50i-h616-r-pinctrl 7022000.pinctrl: initialized sunXi PIO driver
[ 10.210005] sun50i-h616-r-pinctrl 7022000.pinctrl: supply vcc-pl not found, using dummy regulator
[ 10.210748] /soc/i2c@7081400/pmic@36: Fixed dependency cycle(s) with /soc/pinctrl@300b000
[ 10.211982] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
[ 10.218964] sun50i-h616-pinctrl 300b000.pinctrl: initialized sunXi PIO driver
[ 10.219817] dw-apb-uart 5000000.serial: Error applying setting, reverse things back
[ 10.220586] sun6i-spi 5010000.spi: Error applying setting, reverse things back
[ 10.220733] sunxi-mmc 4020000.mmc: Error applying setting, reverse things back
[ 10.221015] axp20x-i2c 0-0036: AXP20x variant AXP313a found
[ 10.221342] sunxi-mmc 4021000.mmc: Error applying setting, reverse things back
[ 10.222822] axp20x-i2c 0-0036: AXP20X driver loaded
[ 10.223577] dw-apb-uart 5000000.serial: Error applying setting, reverse things back
[ 10.223839] sun6i-spi 5010000.spi: Error applying setting, reverse things back
[ 10.224746] platform wifi-pwrseq: deferred probe pending: pwrseq_simple: reset GPIOs not ready
[ 10.224754] platform leds: deferred probe pending: leds-gpio: Failed to get GPIO '/leds/led-0'
[ 10.224760] platform 5000000.serial: deferred probe pending: (reason unknown)
[ 10.224765] platform 5010000.spi: deferred probe pending: (reason unknown)
[ 10.224842] sunxi-mmc 4020000.mmc: Error applying setting, reverse things back
[ 10.225146] sunxi-mmc 4021000.mmc: Error applying setting, reverse things back
[ 10.228016] printk: legacy console [ttyS0] disabled
[ 10.248640] 5000000.serial: ttyS0 at MMIO 0x5000000 (irq = 297, base_baud = 1500000) is a 16550A
[ 10.248693] printk: legacy console [ttyS0] enabled
[ 11.438747] sunxi-mmc 4020000.mmc: Got CD GPIO
[ 11.438941] sunxi-mmc 4021000.mmc: allocated mmc-pwrseq
[ 11.468548] sunxi-mmc 4020000.mmc: initialized, max. request size: 16384 KB, uses new timings mode
[ 11.520958] mmc0: host does not support reading read-only switch, assuming write-enable
[ 11.531817] mmc0: new high speed SDHC card at address aaaa
[ 11.537961] mmcblk0: mmc0:aaaa SD32G 29.7 GiB
[ 11.544485] mmcblk0: p1
[ 11.675130] sunxi-mmc 4021000.mmc: initialized, max. request size: 16384 KB, uses new timings mode
[ 11.700846] mmc1: new high speed SDIO card at address 8800
[ 14.367221] EXT4-fs (mmcblk0p1): recovery complete
[ 14.373304] EXT4-fs (mmcblk0p1): mounted filesystem 057f81bf-ffdc-4bad-851a-1af1d580ffb0 r/w with ordered data mode. Quota mode: disabled.
[ 14.385803] VFS: Mounted root (ext4 filesystem) on device 179:1.
[ 14.391955] devtmpfs: mounted
[ 14.395610] Freeing unused kernel memory: 1280K
[ 14.400224] Run /sbin/init as init process
[ 14.404325] with arguments:
[ 14.407295] /sbin/init
[ 14.410000] with environment:
[ 14.413143] HOME=/
[ 14.415509] TERM=linux
[ 14.893768] systemd[1]: System time before build time, advancing clock.
[ 14.911863] systemd[1]: Failed to find module 'autofs4'
[ 14.960122] systemd[1]: systemd 245.4-4ubuntu3.24 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid)
[ 14.982682] systemd[1]: No virtualization found in DMI
[ 14.987832] systemd[1]: No virtualization found in CPUID
[ 14.993169] systemd[1]: Virtualization XEN not found, /proc/xen does not exist
[ 15.000516] systemd[1]: No virtualization found in /proc/device-tree/*
[ 15.007293] systemd[1]: UML virtualization not found in /proc/cpuinfo.
[ 15.013836] systemd[1]: This platform does not support /proc/sysinfo
[ 15.020205] systemd[1]: Found VM virtualization none
[ 15.025187] systemd[1]: Detected architecture arm64.
[ 15.030223] /proc/cgroups lists only v1 controllers, use cgroup.controllers of root cgroup for v2 info
Welcome to Ubuntu 20.04.5 LTS!
[ 15.051295] systemd[1]: Set hostname to <localhost.localdomain>.
[ 15.064544] systemd[1]: Successfully added address 127.0.0.1 to loopback interface
[ 15.072201] systemd[1]: Failed to add address ::1 to loopback interface: Operation not supported
[ 15.081018] systemd[1]: Successfully brought loopback interface up
[ 15.087380] systemd[1]: Setting 'fs/file-max' to '9223372036854775807'.
[ 15.097778] systemd[1]: Found cgroup2 on /sys/fs/cgroup/unified, unified hierarchy for systemd controller
[ 15.107455] systemd[1]: Found cgroup2 on /sys/fs/cgroup/unified, unified hierarchy for systemd controller
[ 15.117033] systemd[1]: Unified cgroup hierarchy is located at /sys/fs/cgroup/unified. Controllers are on legacy hierarchies.
[ 15.155726] systemd[1]: Can't load kernel CGROUP SKB BPF program, BPF firewalling is not supported: Function not implemented
[ 15.166979] systemd[1]: Can't load kernel CGROUP DEVICE BPF program, BPF device control is not supported: Function not implemented
[ 15.178724] systemd[1]: Controller 'cpu' supported: no
[ 15.183877] systemd[1]: Controller 'cpuacct' supported: no
[ 15.189377] systemd[1]: Controller 'cpuset' supported: no
[ 15.194791] systemd[1]: Controller 'io' supported: no
[ 15.199853] systemd[1]: Controller 'blkio' supported: no
[ 15.205179] systemd[1]: Controller 'memory' supported: no
[ 15.210596] systemd[1]: Controller 'devices' supported: no
[ 15.216090] systemd[1]: Controller 'pids' supported: no
[ 15.221331] systemd[1]: Controller 'bpf-firewall' supported: no
[ 15.227264] systemd[1]: Controller 'bpf-devices' supported: no
[ 15.233135] systemd[1]: Set up TFD_TIMER_CANCEL_ON_SET timerfd.
[ 15.239675] systemd[1]: Enabling (yes) showing of status (commandline).
[ 15.250738] systemd[1]: Successfully forked off '(sd-executor)' as PID 78.
[ 15.252953] systemd[78]: Successfully forked off '(direxec)' as PID 79.
[ 15.265424] systemd[78]: Successfully forked off '(direxec)' as PID 80.
[ 15.268731] systemd-bless-boot-generator[79]: Skipping generator, not an EFI boot.
[ 15.273078] systemd[78]: Successfully forked off '(direxec)' as PID 81.
[ 15.287415] systemd[78]: Successfully forked off '(direxec)' as PID 82.
[ 15.294943] systemd[78]: Successfully forked off '(direxec)' as PID 84.
[ 15.302706] systemd[78]: Successfully forked off '(direxec)' as PID 85.
[ 15.308419] systemd-fstab-generator[82]: Parsing /etc/fstab...
[ 15.310411] systemd[78]: Successfully forked off '(direxec)' as PID 86.
[ 15.324273] systemd[78]: Successfully forked off '(direxec)' as PID 88.
[ 15.324686] systemd-getty-generator[84]: Automatically adding serial getty for /dev/ttyS0.
[ 15.330743] systemd-gpt-auto-generator[85]: Disabling root partition auto-detection, root= is defined.
[ 15.330939] systemd-gpt-auto-generator[85]: Failed to chase block device '/', ignoring: No such file or directory
[ 15.331629] systemd-gpt-auto-generator[85]: mmcblk0p1: Root device /dev/mmcblk0.
[ 15.332107] systemd[78]: Successfully forked off '(direxec)' as PID 89.
[ 15.333095] systemd[78]: Successfully forked off '(direxec)' as PID 90.
[ 15.334016] systemd[78]: Successfully forked off '(direxec)' as PID 91.
[ 15.334939] systemd[78]: Successfully forked off '(direxec)' as PID 92.
[ 15.351984] systemd-rc-local-generator[88]: /etc/rc.local does not exist, skipping.
[ 15.359308] systemd-hibernate-resume-generator[86]: Not running in an initrd, quitting.
[ 15.379738] systemd-sysv-generator[91]: Native unit for dbus.service already exists, skipping.
[ 15.381333] systemd[78]: /usr/lib/systemd/system-generators/systemd-veritysetup-generator succeeded.
[ 15.387806] systemd-sysv-generator[91]: Native unit for udev.service already exists, skipping.
[ 15.393127] systemd[78]: /usr/lib/systemd/system-generators/systemd-system-update-generator succeeded.
[ 15.401320] systemd-sysv-generator[91]: Native unit for pppd-dns.service already exists, skipping.
[ 15.427854] systemd-gpt-auto-generator[85]: No suitable partition table found, ignoring.
[ 15.436379] systemd-sysv-generator[91]: Native unit for network-manager.service already exists, skipping.
[ 15.446638] systemd[78]: /usr/lib/systemd/system-generators/systemd-gpt-auto-generator succeeded.
[ 15.454495] systemd-sysv-generator[91]: Native unit for procps.service already exists, skipping.
[ 15.461471] systemd[78]: /usr/lib/systemd/system-generators/systemd-getty-generator succeeded.
[ 15.472129] systemd-sysv-generator[91]: Native unit for kmod.service already exists, skipping.
[ 15.479891] systemd[78]: /usr/lib/systemd/system-generators/systemd-rc-local-generator succeeded.
[ 15.488799] systemd-sysv-generator[91]: Native unit for hwclock.service already exists, skipping.
[ 15.497286] systemd[78]: /usr/lib/systemd/system-generators/systemd-fstab-generator succeeded.
[ 15.506066] systemd-sysv-generator[91]: Ignoring S01dbus symlink in rc2.d, not generating dbus.service.
[ 15.541663] systemd-sysv-generator[91]: Ignoring S01dbus symlink in rc3.d, not generating dbus.service.
[ 15.551144] systemd-sysv-generator[91]: Ignoring S01dbus symlink in rc4.d, not generating dbus.service.
[ 15.560645] systemd-sysv-generator[91]: Ignoring S01dbus symlink in rc5.d, not generating dbus.service.
[ 15.571908] systemd[78]: /usr/lib/systemd/system-generators/systemd-sysv-generator succeeded.
[ 15.580478] systemd[78]: /usr/lib/systemd/system-generators/systemd-cryptsetup-generator succeeded.
[ 15.589566] systemd[78]: /usr/lib/systemd/system-generators/systemd-run-generator succeeded.
[ 15.598045] systemd[78]: /usr/lib/systemd/system-generators/systemd-debug-generator succeeded.
[ 15.606688] systemd[78]: /usr/lib/systemd/system-generators/systemd-bless-boot-generator succeeded.
[ 15.615763] systemd[78]: /usr/lib/systemd/system-generators/systemd-hibernate-resume-generator succeeded.
[ 15.626253] systemd[1]: (sd-executor) succeeded.
[ 15.630992] systemd[1]: Looking for unit files in (higher priority first):
[ 15.637876] systemd[1]: /etc/systemd/system.control
[ 15.642850] systemd[1]: /run/systemd/system.control
[ 15.647822] systemd[1]: /run/systemd/transient
[ 15.652363] systemd[1]: /run/systemd/generator.early
[ 15.657421] systemd[1]: /etc/systemd/system
[ 15.661700] systemd[1]: /etc/systemd/system.attached
[ 15.666759] systemd[1]: /run/systemd/system
[ 15.671038] systemd[1]: /run/systemd/system.attached
[ 15.676097] systemd[1]: /run/systemd/generator
[ 15.680636] systemd[1]: /usr/local/lib/systemd/system
[ 15.685782] systemd[1]: /lib/systemd/system
[ 15.690064] systemd[1]: /usr/lib/systemd/system
[ 15.694690] systemd[1]: /run/systemd/generator.late
[ 15.709102] systemd[1]: Unit type .automount is not supported on this system.
[ 15.724282] systemd[1]: Unit type .automount is not supported on this system.
[ 15.731799] systemd[1]: unit_file_build_name_map: alias: /etc/systemd/system/dbus-org.freedesktop.ModemManager1.service → ModemManager.service
[ 15.744919] systemd[1]: unit_file_build_name_map: alias: /etc/systemd/system/dbus-org.freedesktop.resolve1.service → systemd-resolved.service
[ 15.757933] systemd[1]: unit_file_build_name_map: alias: /etc/systemd/system/dbus-fi.w1.wpa_supplicant1.service → wpa_supplicant.service
[ 15.770499] systemd[1]: unit_file_build_name_map: alias: /etc/systemd/system/dbus-org.freedesktop.timesync1.service → systemd-timesyncd.service
[ 15.783674] systemd[1]: unit_file_build_name_map: alias: /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service → NetworkManager-dispatcher.service
[ 15.798238] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-hibernate.service
[ 15.808524] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/cryptsetup-pre.target
[ 15.818460] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-resolved.service
[ 15.828708] systemd[1]: unit_file_build_name_map: linked unit file: /lib/systemd/system/sudo.service → /dev/null
[ 15.839072] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/rpcbind.target
[ 15.848400] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-random-seed.service
[ 15.858856] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/sys-kernel-config.mount
[ 15.868966] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/boot-complete.target
[ 15.878822] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/system-update-cleanup.service
[ 15.889443] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/nss-lookup.target
[ 15.899070] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/container-getty@.service
[ 15.909267] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/dev-hugepages.mount
[ 15.919152] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/runlevel4.target → multi-user.target
[ 15.929599] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/poweroff.target
[ 15.939009] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/getty.target
[ 15.948156] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-poweroff.service
[ 15.958342] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/apt-daily-upgrade.service
[ 15.968615] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/syslog.socket
[ 15.977854] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-user-sessions.service
[ 15.988481] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-reboot.service
[ 15.998646] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/network-manager.service → NetworkManager.service
[ 16.010140] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/apt-daily-upgrade.timer
[ 16.020242] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/initrd-switch-root.service
[ 16.030601] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/basic.target
[ 16.039747] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/console-getty.service
[ 16.049675] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-ask-password-console.service
[ 16.060903] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/remote-cryptsetup.target
[ 16.071095] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-journald@.socket
[ 16.081280] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/multi-user.target
[ 16.090860] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-rfkill.socket
[ 16.100790] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/kmod-static-nodes.service
[ 16.111063] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/dbus.service
[ 16.120292] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-ask-password-console.path
[ 16.131406] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/dbus-org.freedesktop.timedate1.service → systemd-timedated.service
[ 16.144581] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/autovt@.service → getty@.service
[ 16.154685] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-journald-dev-log.socket
[ 16.165477] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/ModemManager.service
[ 16.175441] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/runlevel1.target → rescue.target
[ 16.185545] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-fsck-root.service
[ 16.195820] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/smartcard.target
[ 16.205311] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/halt.target
[ 16.214373] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/swap.target
[ 16.223441] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/motd-news.timer
[ 16.232846] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/sys-kernel-tracing.mount
[ 16.243077] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/graphical.target
[ 16.252571] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-journald.service
[ 16.262757] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/final.target
[ 16.271903] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-exit.service
[ 16.281875] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/ctrl-alt-del.target → reboot.target
[ 16.292237] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-logind.service
[ 16.302251] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/e2scrub@.service
[ 16.311741] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/sleep.target
[ 16.320984] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/udev.service → systemd-udevd.service
[ 16.331434] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-quotacheck.service
[ 16.341793] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/suspend.target
[ 16.351121] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/system-systemd\x2dcryptsetup.slice
[ 16.362184] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/machine.slice
[ 16.371418] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/e2scrub_fail@.service
[ 16.381344] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-remount-fs.service
[ 16.391706] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/e2scrub_all.timer
[ 16.401288] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-networkd-wait-online.service
[ 16.412612] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/procps.service → systemd-sysctl.service
[ 16.423326] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/user.slice
[ 16.432300] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-networkd.socket
[ 16.442403] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-backlight@.service
[ 16.452824] systemd[1]: unit_file_build_name_map: linked unit file: /lib/systemd/system/rc.service → /dev/null
[ 16.463015] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/umount.target
[ 16.472250] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-tmpfiles-clean.timer
[ 16.482787] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/fstrim.service
[ 16.492215] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/runlevel2.target → multi-user.target
[ 16.502666] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/hybrid-sleep.target
[ 16.512416] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/sigpwr.target
[ 16.521659] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/user-runtime-dir@.service
[ 16.531935] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/polkit.service
[ 16.541409] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-ask-password-wall.service
[ 16.552380] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/NetworkManager-wait-online.service
[ 16.563581] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/dbus-org.freedesktop.hostname1.service → systemd-hostnamed.service
[ 16.576633] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/cryptsetup.target
[ 16.586216] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-boot-system-token.service
[ 16.597184] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/modprobe@.service
[ 16.606909] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/dbus-org.freedesktop.locale1.service → systemd-localed.service
[ 16.619733] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/sockets.target
[ 16.629104] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/initrd-fs.target
[ 16.638611] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/pppd-dns.service
[ 16.648113] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-journald-varlink@.socket
[ 16.659008] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-update-utmp.service
[ 16.669465] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-suspend.service
[ 16.679885] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/runlevel5.target → graphical.target
[ 16.690260] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-tmpfiles-setup-dev.service
[ 16.701321] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/fstrim.timer
[ 16.710473] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/emergency.target
[ 16.720109] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/dbus-org.freedesktop.login1.service → systemd-logind.service
[ 16.732755] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/local-fs-pre.target
[ 16.742516] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-sysctl.service
[ 16.752539] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/rc-local.service
[ 16.762034] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-udevd.service
[ 16.771971] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-network-generator.service
[ 16.782950] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/remote-fs.target
[ 16.792449] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-timedated.service
[ 16.802727] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/networkd-dispatcher.service
[ 16.813179] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-volatile-root.service
[ 16.823804] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-sysusers.service
[ 16.834150] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/runlevel3.target → multi-user.target
[ 16.844630] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/apt-daily.service
[ 16.854220] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-udevd-kernel.socket
[ 16.864680] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-tmpfiles-clean.service
[ 16.875449] systemd[1]: unit_file_build_name_map: linked unit file: /lib/systemd/system/hwclock.service → /dev/null
[ 16.886085] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/suspend-then-hibernate.target
[ 16.896713] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-initctl.socket
[ 16.906735] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/rescue.target
[ 16.916032] systemd[1]: unit_file_build_name_map: linked unit file: /lib/systemd/system/cryptdisks-early.service → /dev/null
[ 16.927445] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/NetworkManager.service
[ 16.937470] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/bluetooth.target
[ 16.947033] systemd[1]: unit_file_build_name_map: linked unit file: /lib/systemd/system/cryptdisks.service → /dev/null
[ 16.957922] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/proc-sys-fs-binfmt_misc.automount
[ 16.968897] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/ondemand.service
[ 16.978398] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-tmpfiles-setup.service
[ 16.989125] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/network-pre.target
[ 16.998795] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/local-fs.target
[ 17.008309] systemd[1]: unit_file_build_name_map: alias: /lib/systemd/system/kmod.service → systemd-modules-load.service
[ 17.019369] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/proc-sys-fs-binfmt_misc.mount
[ 17.029988] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/quotaon.service
[ 17.039397] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/shutdown.target
[ 17.048803] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/initrd-cleanup.service
[ 17.058818] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/getty-pre.target
[ 17.068320] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-rfkill.service
[ 17.078334] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/initrd-udevadm-cleanup-db.service
[ 17.089301] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/initrd-parse-etc.service
[ 17.099495] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-journald-audit.socket
[ 17.110120] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-ask-password-wall.path
[ 17.120845] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/serial-getty@.service
[ 17.130773] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/wpa_supplicant-wired@.service
[ 17.141394] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/timers.target
[ 17.150627] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-halt.service
[ 17.160466] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/network-online.target
[ 17.170396] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-update-utmp-runlevel.service
[ 17.181622] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-localed.service
[ 17.191722] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-journal-flush.service
[ 17.202349] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/remote-fs-pre.target
[ 17.212250] systemd[1]: unit_file_build_name_map: linked unit file: /lib/systemd/system/rcS.service → /dev/null
[ 17.222526] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-boot-check-no-failures.service
[ 17.233929] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/hibernate.target
[ 17.243426] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-timesyncd.service
[ 17.253704] systemd[1]: unit_file_build_name_map: normal unit file: /lib/systemd/system/systemd-machine-id-commit.service
[ 18.334595] random: crng init done
[ OK ] Created slice system-getty.slice.
[ OK ] Created slice system-modprobe.slice.
[ OK ] Created slice system-serial\x2dgetty.slice.
[ OK ] Created slice User and Session Slice.
[ OK ] Started Dispatch Password …ts to Console Directory Watch.
[ OK ] Started Forward Password R…uests to Wall Directory Watch.
[ OK ] Reached target Local Encrypted Volumes.
[ OK ] Reached target Paths.
[ OK ] Reached target Remote File Systems.
[ OK ] Reached target Slices.
[ OK ] Reached target Swap.
[ OK ] Listening on initctl Compatibility Named Pipe.
[ OK ] Listening on Journal Socket (/dev/log).
[ OK ] Listening on Journal Socket.
[ OK ] Listening on udev Control Socket.
[ OK ] Listening on udev Kernel Socket.
Mounting Kernel Debug File System...
Starting Journal Service...
Starting Create list of st…odes for the current kernel...
Starting Load Kernel Module chromeos_pstore...
Starting Load Kernel Module efi_pstore...
Starting Load Kernel Module pstore_blk...
Starting Load Kernel Module pstore_zone...
Starting Load Kernel Module ramoops...
[ 18.900331] systemd-journald[95]: Found cgroup2 on /sys/fs/cgroup/unified, unified hierarchy for systemd controller
Starting Load [ 18.912881] systemd-journald[95]: Journal effective settings seal=no compress=yes compress_threshold_bytes=512B
Kernel Modules 18.924460] systemd-journald[95]: Fixed min_use=1.9M max_use=9.8M max_size=1.2M min_size=512.0K keep_free=4.9M n_max_files=100
0m...
[ 18.937804] systemd-journald[95]: Reserving 2254 entries in hash table.
[ 18.944604] systemd-journald[95]: Vacuuming...
[ 18.949117] systemd-journald[95]: Vacuuming done, freed 0B of archived journals from /run/log/journal/3ed83a6a1ee344b9b2840593ae9f58c7.
[ 18.961355] systemd-journald[95]: Flushing /dev/kmsg...
Starting Remount Root and Kernel File Systems...
[ 18.983153] cfg80211: Loading compiled-in X.509 certificates for regulatory database
Starting udev Coldplug all Devices...
[ 19.010152] systemd-journald[95]: systemd-journald running as PID 95 for the system.
[ OK 19.018757] systemd-journald[95]: Sent READY=1 notification.
0m] Mounted 19.021695] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
1;39mKernel Debu[ 19.026750] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
g File System 19.033050] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
m.
[ 19.043403] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
[ OK 19.061156] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
0m] Started Journal Ser[ 19.072244] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
vice.
[ 19.083037] WCN: marlin_init entry!
[ 19.083743] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
[ 19.087055] WCN: wcn config bt wake host
[ 19.096302] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
[ 19.099388] WCN_ERR: dts node for bt_wake not found
[ 19.107854] WCN: marlin2 parse_dt some para not config
[ 19.108948] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
[ 19.112740] sdiohal:sdiohal_parse_dt adma_tx:1, adma_rx:1, pwrseq:0, irq type:data, gpio_num:0, blksize:840
[ 19.119449] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
[ 19.128667] sdiohal:sdiohal_init ok
[ 19.137702] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
[ 19.145514] WCN: marlin_probe ok!
[ 19.148946] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
[ OK ] Finished Create list of st… nodes for the current kernel.
[ OK ] Finished Load Kerne[ 19.188759] WCN: start_marlin [MARLIN_WIFI]
l Module chromeo[ 19.193724] WCN: marlin power state:0, subsys: [MARLIN_WIFI] power 1
s_pstore.
[ 19.201417] WCN: the first power on start
[ OK ] Finished Load Kernel Module efi_pstore.
[ OK ] Finished Load Kernel Module pstore_blk.
[ OK ] Finished Load Kernel Module pstore_zone.
[ OK ] Finished Load Kernel Module ramoops.
[ OK ] Finished Remount Root and Kernel File Systems.
[ 19.287322] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
Startin[ 19.297633] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
g Flush Journal to Persistent Storage...
[ 19.310661] WCN: marlin chip en dummy pull up -- need manually set GPIO
[ 19.313953] systemd-journald[95]: n/a: New incoming connection.
[ 19.323973] systemd-journald[95]: varlink-20: varlink: setting state idle-server
[ 19.331731] systemd-journald[95]: varlink-20: New incoming message: {"method":"io.systemd.Journal.FlushToVar","parameters":{}}
[ 19.343412] systemd-journald[95]: varlink-20: varlink: changing state idle-server → processing-method
[ 19.352906] systemd-journald[95]: Received client request to flush runtime journal.
[ 19.353624] sdiohal:sdiohal_scan_card
Startin[ 19.360881] systemd-journald[95]: Journal effective settings seal=yes compress=yes compress_threshold_bytes=512B
g Load/[ 19.375873] sdiohal:sdiohal_probe: func->class=0, vendor=0x0000, device=0x0000, func_num=0x0001, clock=50000000
Save Random Seed[ 19.376244] systemd-journald[95]: Fixed min_use=16.0M max_use=2.9G max_size=128.0M min_size=512.0K keep_free=1.4G n_max_files=100
...
[ 19.401359] WCN: marlin_get_wcn_chipid: chipid: 0x2355b001
[ 19.406938] WCN: marlin_scan_finish!
[ 19.410510] sdiohal:probe ok
[ 19.413542] sdiohal:scan end!
[ 19.416544] WCN: then marlin start to download
[ 19.421028] WCN: marlin_request_firmware from /lib/firmware/uwe5622/wcnmodem.bin start!
Starting Create System Users...
[ OK ] Finished 19.450015] systemd-journald[95]: Reserving 233016 entries in hash table.
;1;39mLoad/Save Random Seed.
[ 19.466795] systemd-journald[95]: Flushing to /var/log/journal/3ed83a6a1ee344b9b2840593ae9f58c7...
[ 19.475840] systemd-journald[95]: Considering root directory '/run/log/journal'.
[ 19.483345] systemd-journald[95]: Root directory /run/log/journal added.
[ 19.490135] systemd-journald[95]: Considering directory '/run/log/journal/3ed83a6a1ee344b9b2840593ae9f58c7'.
[ 19.500093] systemd-journald[95]: Directory /run/log/journal/3ed83a6a1ee344b9b2840593ae9f58c7 added.
[ 19.509345] systemd-journald[95]: Journal effective settings seal=no compress=no compress_threshold_bytes=8B
[ 19.519348] systemd-journald[95]: File /run/log/journal/3ed83a6a1ee344b9b2840593ae9f58c7/system.journal added.
[ 19.529400] systemd-journald[95]: Considering root directory '/var/log/journal'.
[ 19.536830] systemd-journald[95]: Considering root directory '/var/log/journal/remote'.
[ OK ] Finished Create Sys[ 19.577827] systemd-journald[95]: Directory /run/log/journal/3ed83a6a1ee344b9b2840593ae9f58c7 removed.
tem Users.
[ 19.588324] systemd-journald[95]: Root directory /run/log/journal removed.
[ 19.596559] systemd-journald[95]: mmap cache statistics: 20148 hit, 1 miss
[ 19.603506] systemd-journald[95]: Journal effective settings seal=no compress=yes compress_threshold_bytes=512B
[ OK 19.614100] systemd-journald[95]: Vacuuming...
0m] Finished 19.619562] systemd-journald[95]: Vacuuming done, freed 0B of archived journals from /var/log/journal/3ed83a6a1ee344b9b2840593ae9f58c7.
;1;39mudev Coldplug all Devices.
Starting Create Static Device Nodes in /dev...
[ 19.830375] systemd-journald[95]: varlink-20: Sending message: {"parameters":{}}
[ 19.837992] systemd-journald[95]: varlink-20: varlink: changing state processing-method → processed-method
[ 19.847884] systemd-journald[95]: varlink-20: varlink: changing state processed-method → idle-server
[ 19.859771] systemd-journald[95]: varlink-20: Got POLLHUP from socket.
[ 19.866384] systemd-journald[95]: varlink-20: varlink: changing state idle-server → pending-disconnect
[ OK 19.875964] systemd-journald[95]: varlink-20: varlink: changing state pending-disconnect → processing-disconnect
0m] Finished 19.887661] systemd-journald[95]: varlink-20: varlink: changing state processing-disconnect → disconnected
;1;39mCreate Static Device Nodes[ 19.900431] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
in /dev.
[ 19.910790] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
[ 19.921020] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
[ OK ] Finished Flush Journal to Persistent Storage.
[ OK ] Reached target Local File Systems (Pre).
[ OK ] Reached target Local File Systems.
Startin[ 19.995783] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
g Create Volatile Files and Directories...
Startin[ 20.018324] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
g udev Kernel Device Manager...
[ OK ] Finished Create Volatile Files and Directories.
Starting Network Name Resolution...
Starting Network Time Synchronization...
Startin[ 20.102640] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
g Update UTMP about System Boot/Shutdown...
[ 20.125902] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
[ 20.135544] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
[ OK ] Finished Update UTMP about System Boot/Shutdown.
[ OK ] Started udev Kernel Device Manager.
[ OK ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
[ 20.450785] WCN_ERR: load_firmware_data_path: open file /lib/firmware/uwe5622/wcnmodem.bin error
[ 20.459694] WCN: marlin_request_firmware from /lib/firmware/wcnmodem.bin start!
[ OK ] Started Network Time Synchronization.
[ OK ] Reached target System Time Set.
[ OK ] Reached target System Time Synchronized.
[ OK ] Found device /dev/ttyS0.
[ OK ] Started Network Name Resolution.
[ OK ] Reached target Host and Network Name Lookups.
[ OK ] Reached target Sound Card.
[ 21.830717] WCN: combin_img 0 marlin_firmware_write finish and successful
[ 21.837723] WCN: marlin_start_run read reset reg val:0x1
[ 21.843054] WCN: after do marlin_start_run reset reg val:0x0
[ 21.848908] WCN: s_marlin_bootup_time=21848908207
[ 21.854771] WCN: clock mode: TSX
[ 21.862909] WCN: marlin_write_cali_data sync init_state:0xffffffff
[ 21.890803] WCN: marlin_write_cali_data sync init_state:0xffffffff
[ 21.918791] WCN: marlin_write_cali_data sync init_state:0xf0f0f0f1
[ 21.924977] WCN: sdio_config bt_wake_host trigger:[high]
[ 21.930291] WCN: sdio_config irq:[inband]
[ 21.934304] WCN: sdio_config wake_host_level_duration_time:[20ms]
[ 21.940398] WCN: sdio_config wake_host_data_separation:[bt/wifi reuse]
[ 21.946926] WCN: marlin_send_sdio_config_to_cp sdio_config:0x80f01 (enable config)
[ 21.954909] WCN: marlin_write_cali_data finish
[ 21.959549] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[ 21.986800] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[ 22.014797] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[ 22.042796] WCN: check_cp_ready sync val:0xf0f0f0f2, prj_type val:0x0
[ 22.070799] WCN: check_cp_ready sync val:0xf0f0f0ff, prj_type val:0x0
[ 22.077246] sdiohal:sdiohal_runtime_get entry
[ 22.081772] WCN: get_cp2_version entry!
[ 22.120761] WCN: WCND at cmd read:WCN_VER:Platform Version:MARLIN3_19B_W21.05.3~Project Version:sc2355_marlin3_lite_ott~12-15-2021 11:26:33~
[ 22.133376] WCN: switch_cp2_log - close entry!
[ 22.138928] WCN: WCND at cmd read:OK
[ 22.142528] WCN: then marlin download finished and run ok
[ 22.147935] WCN: start_loopcheck
[ 22.165433] WCN: get_board_ant_num [one_ant]
[ 22.169756] wifi ini path = /lib/firmware/wifi_2355b001_1ant.ini
[ 22.199962] sprdwl:sprdwl_get_fw_info length mismatch: len_count=83, r_len=89
[ 22.207105] sprdwl:sprdwl_get_fw_info, drv_version=1, fw_version=2, compat_ver=0
[ 22.214505] sprdwl:chip_model:0x2355, chip_ver:0x0
[ 22.219303] sprdwl:fw_ver:0, fw_std:0x7f, fw_capa:0x120f7f
[ 22.224800] sprdwl:mac_addr:c8:26:e2:4b:29:bb
[ 22.229165] sprdwl:credit_capa:TX_WITH_CREDIT
[ 22.233530] sprdwl:ott support:0
[ 22.270316] unisoc_wifi unisoc_wifi wlan0: mixed HW and IP checksum settings.
Startin[ 22.280989] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
g Load/Save RF Kill Switch Status...
[ OK ] Finished Load Kernel Modules.
[ OK ] Started Load/Save RF Kill Switch Status.
Startin[ 22.336960] systemd-journald[95]: Successfully sent stream file descriptor to service manager.
g Apply Kernel Variables...
[ OK ] Finished Apply Kernel Variables.
[ OK ] Reached target System Initialization.
[ OK ] Started Daily apt download activities.
[ OK ] Started Daily apt upgrade and clean activities.
[ OK ] Started Periodic ext4 Onli…ata Check for All Filesystems.
[ OK ] Started Discard unused blocks once a week.
[ OK ] Started Message of the Day.
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Reached target Timers.
[ OK ] Listening on D-Bus System Message Bus Socket.
[ OK ] Reached target Sockets.
[ OK ] Reached target Basic System.
[ OK ] Started D-Bus System Message Bus.
Starting Network Manager...
Starting Remove Stale Onli…t4 Metadata Check Snapshots...
Starting Dispatcher daemon for systemd-networkd...
[ OK ] Started Set the CPU Frequency Scaling governor.
Starting Authorization Manager...
Starting Restore /etc/reso… the ppp link was shut down...
Starting Login Service...
Starting WPA supplicant...
[ OK ] Finished Restore /etc/reso…re the ppp link was shut down.
[ OK ] Started Login Service.
[ OK ] Started Authorization Manager.
Starting Modem Manager...
[ OK ] Started WPA supplicant.
[ OK ] Started Network Manager.
[ OK ] Reached target Network.
Starting Permit User Sessions...
[ OK ] Finished Permit User Sessions.
[ OK ] Started Getty on tty1.
[ OK ] Started Serial Getty on ttyS0.
[ OK ] Reached target Login Prompts.
Starting Hostname Service...
[ OK ] Started Modem Manager.
[ OK ] Finished Remove Stale Onli…ext4 Metadata Check Snapshots.
[ OK ] Started Hostname Service.
Starting Network Manager Script Dispatcher Service...
[ OK ] Started Network Manager Script Dispatcher Service.
[ OK ] Started Dispatcher daemon for systemd-networkd.
[ OK ] Reached target Multi-User System.
[ OK ] Reached target Graphical Interface.
Starting Update UTMP about System Runlevel Changes...
[ OK ] Finished Update UTMP about System Runlevel Changes.
Ubuntu 20.04.5 LTS localhost.localdomain ttyS0
localhost login:
localhost login: root
Password:
Welcome to Ubuntu 20.04.5 LTS (GNU/Linux 6.18.2-gb780ee9e82b1-dirty aarch64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
This system has been minimized by removing packages and content that are
not required on a system that users do not log into.
To restore this content, you can run the 'unminimize' command.
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
root@localhost:~# nmcli dev wifi
IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS
SECURITY
02:E9:08:C9:28:3D HUAWEI-R1ENE4 Infra
1 270 Mbit/s 100 ▂▄▆█ WPA2
02:E9:08:C9:28:41 HUAWEI-R1ENE4 Infra
44 270 Mbit/s 99 ▂▄▆█ WPA2
3C:BC:D0:76:35:C6 ChinaNet-90 Infra
13 130 Mbit/s 94 ▂▄▆█ WPA2
3C:BC:D0:80:E6:C0 ChinaNet-90 Infra
13 130 Mbit/s 92 ▂▄▆█ WPA2
3C:BC:D0:80:DF:70 ChinaNet-90 Infra
13 130 Mbit/s 77 ▂▄▆_ WPA2
3C:BC:D0:80:DF:71 ChinaNet-90-5G Infra
36 270 Mbit/s 77 ▂▄▆_ WPA2
3C:BC:D0:76:35:C7 ChinaNet-90-5G Infra
36 270 Mbit/s 69 ▂▄▆_ WPA2
3C:BC:D0:80:E6:C1 ChinaNet-90-5G Infra
36 270 Mbit/s 65 ▂▄▆_ WPA2
3E:BC:D0:70:E6:C1 -- Infra
36 270 Mbit/s 65 ▂▄▆_ WPA2 WPA3
7C:B5:9B:3A:F3:F9 xue Infra
11 405 Mbit/s 39 ▂▄__ WPA1 WPA2
A8:E2:C3:30:26:F4 ChinaNet-Wv54 Infra
6m3 130 Mbit/s 30 ▂___ WPA1 WPA2
54:A7:03:4F:69:E7 TP-LINK_69E7 Infra
11 270 Mbit/s 29 ▂___ --
9C:7F:81:D1:AE:34 CMCC-3D9H Infra
6 195 Mbit/s 27 ▂___ WPA1 WPA2
A2:F2:4A:7E:D3:07 CMCC-W3CK Infra
6 130 Mbit/s 24 ▂___ WPA1 WPA2
E4:7D:EB:AE:AC:58 YiMing-AC58 Infra
11 65 Mbit/s 24 ▂___ WPA1 WPA2
root@localhost:~# nmcli dev wifi connect "HUAWEI-R1ENE4" password "12345678"
Device 'wlan0' successfully activated with 'a4e3ba3f-f93b-490b-b3c2-1c3d00a0c858'.
root@localhost:~# ping baidu.com
PING baidu.com (111.63.65.103) 56(84) bytes of data.
64 bytes from 111.63.65.103 (111.63.65.103): icmp_seq=1 ttl=52 time=33.5 ms
64 bytes from 111.63.65.103 (111.63.65.103): icmp_seq=2 ttl=52 time=38.8 ms
64 bytes from 111.63.65.103 (111.63.65.103): icmp_seq=3 ttl=52 time=89.9 ms
64 bytes from 111.63.65.103 (111.63.65.103): icmp_seq=4 ttl=52 time=38.4 ms
^C
--- baidu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 33.518/50.165/89.936/23.055 ms
root@localhost:~# apt install nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libc-ares2 libnode64 libuv1 nodejs-doc
Suggested packages:
npm
The following NEW packages will be installed:
libc-ares2 libnode64 libuv1 nodejs nodejs-doc
0 upgraded, 5 newly installed, 0 to remove and 43 not upgraded.
Need to get 6550 kB of archives.
After this operation, 30.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]root@DESKTOP-J2QM63T:~/linux-6.18.2# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sdk 8:160 1 29.7G 0 disk
└─sdk1 8:161 1 1023M 0 part
root@DESKTOP-J2QM63T:~/linux-6.18.2# mount /dev/sdk1 /mnt/root
root@DESKTOP-J2QM63T:~/linux-6.18.2# cp $(find drivers/net/wireless/uwe5622/ net/wireless/ net/rfkill/ -name *.ko) /mnt/root/lib/modules/6.18.2/
root@DESKTOP-J2QM63T:~/linux-6.18.2# ls /mnt/root/lib/modules/6.18.2/
cfg80211.ko rfkill-gpio.ko rfkill.ko sprdbt_tty.ko sprdwl_ng.ko uwe5622_bsp_sdio.ko
modprobe rfkill
modprobe rfkill-gpio
modprobe cfg80211
modprobe uwe5622_bsp_sdio
modprobe sprdwl_ng
modprobe sprdbt_tty
modprobe -r sprdbt_tty sprdwl_ng uwe5622_bsp_sdio cfg80211 rfkill
rmmod
export PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
export LD_LIBRARY_PATH="/lib:/lib64:/usr/lib:/usr/lib64:/usr/local/lib:/usr/local/lib64"
iwconfig
ifconfig wlan0 up
iwlist wlan0 scan | grep SSID
# KERN_ERR
echo 8 > /proc/sys/kernel/printk
iwconfig wlan0 essid "HUAWEI-R1ENE4" key s:12345678
iwconfig wlan0 essid "HUAWEI-R1ENE4_Guest"