docker镜像来自于Sipped官方百度网盘:https://pan.baidu.com/s/1QJTaDw6kkTM4c_GAlmG0hg 提取码:wbef

下载后找到licheerv_d1_compile.tar.gz文件.

我这边使用的是WSL2来将其解压成licheerv_d1_compile.tar

这个解压的步骤会比较慢,我这边这边差不多10分钟.需要耐心等待.

解压完成后就可以在docker中导入该镜像.

直接将cmd路径定位到镜像所在路径,然后运行以下命令(这个运行时间更久十几,几十分钟)

docker import licheerv_d1_compile.tar licheerv_d1_compile:latest

结束后就可以看到容器的sha值了.

然后启动容器(docker run -it licheerv_d1_compile:latest /bin/bash)并在容器内重新登录一次(login),用户名为nihao,密码为sipeed123,并通过menuconfig修改配置来去除alsa-plugins选项,再走正常的编译流程.

整个操作流程所需命令如下:

docker run -it licheerv_d1_compile:latest /bin/bash # 交互模式启动D1镜像编译环境
login #切换用户
cd ~/sdk/tina-d1-open_new/
source build/envsetup.sh
lunch   #选1
make menuconfig  #去掉里面的 alsa-plugin 选项,否则编译不过
# alsa-plugins 在 menuconfig 中的位置如下
#.
#└── Libraries
#    └── alsa-plugins
make -j8  #按实际CPU性能编译
pack  #打包

menuconfig的操作方式:

  • 上下键:选择不同的行,即移动到不同的(每一行的)选项上
  • 空格键:用于在 选择该选项,取消选择该选项,之间来回切换
    • 选择该(行所在的)选项:则对应的该选项前面就变成了,中括号里面一个星号,即 [ * ],表示被选中了。
    • 如果是取消该选项,就变成了,只有一个中括号,里面是空的,即:[   ]
  • 左右键:用于在Select/Exit/Help之前切换
  • 回车键:左右键切换到了某个键上,此时回车键,就执行相应的动作:
    • Select:此时一般都是所在(的行的)选项,后面有三个短横线加上一个右箭头,即 —>,表示此项下面还有子选项,即进入子菜单
    • Exit:直接退出当前的配置
      • 所以,当你更改了一些配置,但是又没有去保存,此时一般都会询问你是否要保存当前(已修改后的最新的)配置,然后再退出。
    • Help:针对你当前所在某个(行的)选项,查看其帮助信息。

编译过程会比较久,根据make参数中同时编译的数量来看,我这边j2用了大几十分钟.

注意:编译过程中如果报错:g++: internal compiler error的话,请检查WSL2进程所占用的RAM大小,一般原因是过编译参数的make -jx中的这个x太大.导致占用过多RAM,可以适当减少同时编译的数量,比如不带j或者j2之类的.

然后pack打包.即可输出最终的镜像文件.

其中红色字体的文件路径就是当前生成的镜像所在的路径,可以在外面(windows环境)的cmd中通过docker命令来拷贝出来.比如:

docker cp 021c219ead78:/opt/tina_d1-nezha_uart0.img  E:\LicheeRV\docker\tina_d1-nezha_uart0.img

上面的命令行中,021c219ead78是容器ID,可以通过docker ps -a命令来查看目前所有docker容器的列表.列表中第一列就是容器ID.

然后"/opt/tina_d1-nezha_uart0.img"是拷贝的目标文件在容器环境中的路径,"E:\LicheeRV\docker\tina_d1-nezha_uart0.img"是要拷贝到的本机路径.

运行命令行后即可在本机的E:\LicheeRV\docker目录找到拷贝出来的tina_d1-nezha_uart0.img.然后按上一篇文章的烧录方式进行烧录即可

运行效果如下:

[41]HELLO! BOOT0 is starting!
[44]BOOT0 commit : 27369ab
[46]set pll start
[48]periph0 has been enabled
[51]set pll end
[52][pmu]: bus read error
[55]board init ok
[57]DRAM only have internal ZQ!!
[60]get_pmu_exist() = -1
[62]ddr_efuse_type: 0x0
[65][AUTO DEBUG] single rank and full DQ!
[69]ddr_efuse_type: 0x0
[72][AUTO DEBUG] rank 0 row = 15
[75][AUTO DEBUG] rank 0 bank = 8
[78][AUTO DEBUG] rank 0 page size = 2 KB
[82]DRAM BOOT DRIVE INFO: V0.24
[85]DRAM CLK = 792 MHz
[87]DRAM Type = 3 (2:DDR2,3:DDR3)
[90]DRAMC ZQ value: 0x7b7bfb
[93]DRAM ODT value: 0x42.
[95]ddr_efuse_type: 0x0
[98]DRAM SIZE =512 M
[102]DRAM simple test OK.
[104]dram size =512
[106]card no is 0
[108]sdcard 0 line count 4
[110][mmc]: mmc driver ver 2021-04-2 16:45
[119][mmc]: Wrong media type 0x0
[122][mmc]: ***Try SD card 0***
[142][mmc]: HSSDR52/SDR25 4 bit
[145][mmc]: 50000000 Hz
[147][mmc]: 15193 MB
[149][mmc]: ***SD/MMC 0 init OK!!!***
[188]Loading boot-pkg Succeed(index=0).
[192]Entry_name        = opensbi
[195]Entry_name        = u-boot
[198]Entry_name        = dtb
[201]mmc not para
[203]Jump to second Boot.

OpenSBI v0.6
   ____                    _____ ____ _____
  / __ \                  / ____|  _ \_   _|
 | |  | |_ __   ___ _ __ | (___ | |_) || |
 | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |
 | |__| | |_) |  __/ | | |____) | |_) || |_
  \____/| .__/ \___|_| |_|_____/|____/_____|
        | |
        |_|

Platform Name          : T-HEAD Xuantie Platform
Platform HART Features : RV64ACDFIMSUVX
Platform Max HARTs     : 1
Current Hart           : 0
Firmware Base          : 0x40000400
Firmware Size          : 75 KB
Runtime SBI Version    : 0.2

MIDELEG : 0x0000000000000222
MEDELEG : 0x000000000000b1ff
PMP0    : 0x0000000040000000-0x000000004001ffff (A)
PMP1    : 0x0000000040000000-0x000000007fffffff (A,R,W,X)
PMP2    : 0x0000000080000000-0x00000000bfffffff (A,R,W,X)
PMP3    : 0x0000000000020000-0x0000000000027fff (A,▒

U-Boot 2018.05-g0a88ac9-dirty-config-dirty (Mar 29 2023 - 14:31:17 +0800) Allwinner Technology

[00.287]DRAM:  512 MiB
[00.289]Relocation Offset is: 1df30000
[00.293]secure enable bit: 0
[00.296]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz  MBus=300Mhz
[00.302]flash init start
[00.304]workmode = 0,storage type = 1
[00.308][mmc]: mmc driver ver uboot2018:2021-04-16 14:23:00-1
[00.313][mmc]: get sdc_type fail and use default host:tm1.
[00.320][mmc]: can't find node "mmc0",will add new node
[00.324][mmc]: fdt err returned <no error>
[00.328][mmc]: Using default timing para
[00.332][mmc]: SUNXI SDMMC Controller Version:0x50310
[00.358][mmc]: card_caps:0x3000000a
[00.361][mmc]: host_caps:0x3000003f
[00.366]sunxi flash init ok
[00.369]line:714 init_clocks
__clk_init: clk pll_periph0x2 already initialized
register fix_factor clk error
[00.388]Loading Environment from SUNXI_FLASH... OK
[00.407]out of usb burn from boot: not need burn key
root_partition is rootfs
set root to /dev/mmcblk0p7
[00.419]update part info
[00.422]update bootcmd
[00.425]change working_fdt 0x5eaefda8 to 0x5eacfda8
[00.444]update dts
Hit any key to stop autoboot:  0
Android's image name: d1-nezha
No reserved memory region found in source FDT
[00.874]
Starting kernel ...

[00.877][mmc]: MMC Device 2 not found
[00.880][mmc]: mmc 2 not find, so not exit
[    0.000000] OF: fdt: Ignoring memory range 0x40000000 - 0x40200000
[    0.000000] Linux version 5.4.61 (nihao@021c219ead78) (riscv64-unknown-linux-gnu-gcc (C-SKY RISCV Tools V1.8.4 B20200702) 8.1.0, GNU ld (GNU Binutils) 2.32) #162 PREEMPT Wed Mar 29 09:04:52 UTC 2023
[    0.000000] cma: Reserved 8 MiB at 0x000000005f800000
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000040200000-0x000000005fffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040200000-0x000000005fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040200000-0x000000005fffffff]
[    0.000000] On node 0 totalpages: 130560
[    0.000000]   DMA32 zone: 1785 pages used for memmap
[    0.000000]   DMA32 zone: 0 pages reserved
[    0.000000]   DMA32 zone: 130560 pages, LIFO batch:31
[    0.000000] elf_hwcap is 0x20112d
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 128775
[    0.000000] Kernel command line: earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 console=tty0 loglevel=8 root=/dev/mmcblk0p7 init=/sbin/init partitions=boot-resource@mmcblk0p1:env@mmcblk0p2:env-redund@mmcblk0p3:boot@mmcblk0p4:dsp0@mmcblk0p5:recovery@mmcblk0p6:rootfs@mmcblk0p7:UDISK@mmcblk0p8 cma=8M snum= mac_addr= wifi_mac= bt_mac= specialstr= gpt=1 androidboot.mode=normal androidboot.hardware=sun20iw1p1 boot_type=1 androidboot.boot_type=1 gpt=1 uboot_message=2018.05-g0a88ac9-dirty-config-dirty(03
[    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.000000] Sorting __ex_table...
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 495292K/522240K available (6171K kernel code, 674K rwdata, 2130K rodata, 196K init, 332K bss, 18756K reserved, 8192K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000]  Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 0, nr_irqs: 0, preallocated irqs: 0
[    0.000000] plic: mapped 200 interrupts with 1 handlers for 2 contexts.
[    0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [0]
[    0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000005] sched_clock: 64 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000021] riscv_timer_clockevent depends on broadcast, but no broadcast function available
[    0.000312] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000904] Console: colour dummy device 80x25
[    0.001996] printk: console [tty0] enabled
[    0.002058] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.002131] pid_max: default: 32768 minimum: 301
[    0.002327] Mount-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.002405] Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.004177] ASID allocator initialised with 65536 entries
[    0.004380] rcu: Hierarchical SRCU implementation.
[    0.005042] devtmpfs: initialized
[    0.017600] random: get_random_u32 called from bucket_table_alloc.isra.31+0x4e/0x15e with crng_init=0
[    0.018448] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.018597] futex hash table entries: 256 (order: 0, 6144 bytes, linear)
[    0.019055] pinctrl core: initialized pinctrl subsystem
[    0.020407] NET: Registered protocol family 16
[    0.022200] DMA: preallocated 256 KiB pool for atomic allocations
[    0.022798] cpuidle: using governor menu
[    0.064484] rtc_ccu: sunxi ccu init OK
[    0.070767] clock: sunxi ccu init OK
[    0.071655] clock: sunxi ccu init OK
[    0.103165] iommu: Default domain type: Translated
[    0.103372] sunxi iommu: irq = 4
[    0.104479] SCSI subsystem initialized
[    0.104825] usbcore: registered new interface driver usbfs
[    0.104939] usbcore: registered new interface driver hub
[    0.105082] usbcore: registered new device driver usb
[    0.105271] mc: Linux media interface: v0.10
[    0.105367] videodev: Linux video capture interface: v2.00
[    0.106426] sunxi-msgbox-amp 3003000.msgbox: invalid resource
[    0.107075] Advanced Linux Sound Architecture Driver Initialized.
[    0.107675] Bluetooth: Core ver 2.22
[    0.107816] NET: Registered protocol family 31
[    0.107859] Bluetooth: HCI device and connection manager initialized
[    0.107909] Bluetooth: HCI socket layer initialized
[    0.107954] Bluetooth: L2CAP socket layer initialized
[    0.108019] Bluetooth: SCO socket layer initialized
[    0.108304] pwm module init!
[    0.109805] g2d 5410000.g2d: Adding to iommu group 0
[    0.110304] G2D: rcq version initialized.major:250
[    0.111093] input: sunxi-keyboard as /devices/virtual/input/input0
[    0.112464] clocksource: Switched to clocksource riscv_clocksource
[    0.123540] sun8iw20-pinctrl 2000000.pinctrl: initialized sunXi PIO driver
[    0.138504] thermal_sys: Registered thermal governor 'step_wise'
[    0.138510] thermal_sys: Registered thermal governor 'user_space'
[    0.139042] NET: Registered protocol family 2
[    0.139891] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.139993] TCP established hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.140109] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.140188] TCP: Hash tables configured (established 4096 bind 4096)
[    0.140353] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.140429] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.140670] NET: Registered protocol family 1
[    0.143197] Initialise system trusted keyrings
[    0.143456] workingset: timestamp_bits=62 max_order=17 bucket_order=0
[    0.149854] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.171245] Key type asymmetric registered
[    0.171293] Asymmetric key parser 'x509' registered
[    0.171344] io scheduler mq-deadline registered
[    0.171380] io scheduler kyber registered
[    0.171425] atomic64_test: passed
[    0.172634] [DISP]disp_module_init
[    0.173196] disp 5000000.disp: Adding to iommu group 0
[    0.198101] disp 5000000.disp: 5000000.disp supply vcc-lcd not found, using dummy regulator
[    0.198443] disp 5000000.disp: 5000000.disp supply vcc-pd not found, using dummy regulator
[    0.209676] ##########################lcd_init
[    0.209730] =====lcd 0, driver_name st7701s_rgb,  panel_name default_lcd
[    0.209771] =====lcd 0, driver_name st7701s_rgb,  panel_name inet_dsi_panel
[    0.209811] =====lcd 0, driver_name st7701s_rgb,  panel_name st7789v_cpu
[    0.209850] =====lcd 0, driver_name st7701s_rgb,  panel_name tft08006
[    0.209889] =====lcd 0, driver_name st7701s_rgb,  panel_name st7701s_rgb
[    0.209925] ##match!
[    0.209966] =====lcd 0, driver_name st7701s_rgb,  panel_name nv3052c_rgb
[    0.210007] =====lcd 0, driver_name st7701s_rgb,  panel_name bp101wx1
[    0.210046] =====lcd 0, driver_name st7701s_rgb,  panel_name k101im2qa04
[    0.210085] =====lcd 0, driver_name st7701s_rgb,  panel_name fx070
[    0.210124] =====lcd 0, driver_name st7701s_rgb,  panel_name K080_IM2HYL802R_800X1280
[    0.210185] =====lcd 0, driver_name st7701s_rgb,  panel_name K101_IM2BYL02_L_800X1280
[    0.210275] display_fb_request,fb_id:0
[    0.216615] [DISP] Fb_copy_boot_fb,line:1444:
[    0.216620] no boot_fb0
[    0.217067] ===disp_lcd_enable lcd 0
[    0.217110] ===2033
[    0.217139] ===2039
[    0.217168] ===2042
[    0.217242] disp_al_manager_apply ouput_type:0
[    0.217408] ===2047
[    0.217448] ===2064
[    0.217508] ===2069
[    0.217642] [DISP] lcd_clk_config,line:732:
[    0.217654] disp 0, clk: pll(304000000),clk(304000000),dclk(19000000) dsi_rate(304000000)
[    0.217654]      clk real:pll(300000000),clk(300000000),dclk(18750000) dsi_rate(0)
[    0.217654]  tcon_div=16, lcd_div=1, dsi_div=1
[    0.217702] ===2078
[    0.217868] ===2081
[    0.217901] going to enbale pwm
[    0.217933] ===2089
[    0.217977] ===2109
[    0.218009] =====================LCD_open_flow
[    0.218043] ===2114
[    0.218072] ===2118
[    0.218101] =====================LCD_power_on
[    0.218145] lcd 0 pin config, state on, 1
[    0.218178] ## io=pad
[    0.219435] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pd not found, using dummy regulator
[    0.219936] open flow:step 0 finish, to delay 20
[    0.220427] [DISP]disp_module_init finish
[    0.221297] sunxi_sid_init()506 - insmod ok
[    0.221876] pwm-regulator: supplied by regulator-dummy
[    0.228976] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pb not found, using dummy regulator
[    0.229435] uart uart0: get regulator failed
[    0.229497] uart uart0: uart0 supply uart not found, using dummy regulator
[    0.229890] uart0: ttyS0 at MMIO 0x2500000 (irq = 18, base_baud = 1500000) is a SUNXI
[    0.229976] sw_console_setup()1808 - console setup baud 115200 parity n bits 8, flow n
[    0.256718] =====================LCD_panel_init
[    0.525959] open flow:step 1 finish, to delay 20
[    0.556686] open flow:step 2 finish, to delay 100
[    0.664791] =====================LCD_bl_open
[    0.665007] open flow:step 3 finish, to delay 0
[    0.665012] ===2129
[    0.665015] ===2142
[    0.665020] [DISP] disp_device_attached_and_enable,line:233:
[    0.665025] attached ok, mgr0<-->dev0
[    0.665028] [DISP] disp_device_attached_and_enable,line:236:
[    0.665037] type:1,mode:0,fmt:rgb,bits:8bits,eotf:4,cs:0 dvi_hdmi:2, range:2 scan:0 ratio:8
[    1.269757] printk: console [ttyS0] enabled
[    1.275351] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pg not found, using dummy regulator
[    1.286863] uart uart1: get regulator failed
[    1.291679] uart uart1: uart1 supply uart not found, using dummy regulator
[    1.299738] uart1: ttyS1 at MMIO 0x2500400 (irq = 19, base_baud = 1500000) is a SUNXI
[    1.309692] misc dump reg init
[    1.313946] sunxi-rfkill soc@3000000:rfkill@0: module version: v1.0.9
[    1.321232] sunxi-rfkill soc@3000000:rfkill@0: devm_pinctrl_get() failed!
[    1.328895] sunxi-rfkill soc@3000000:rfkill@0: get gpio chip_en failed
[    1.336253] sunxi-rfkill soc@3000000:rfkill@0: get gpio power_en failed
[    1.343750] sunxi-rfkill soc@3000000:rfkill@0: wlan_busnum (1)
[    1.350295] sunxi-rfkill soc@3000000:rfkill@0: Missing wlan_power.
[    1.357306] sunxi-rfkill soc@3000000:rfkill@0: wlan clock[0] (32k-fanout1)
[    1.365076] sunxi-rfkill soc@3000000:rfkill@0: wlan_regon gpio=204 assert=1
[    1.373014] sunxi-rfkill soc@3000000:rfkill@0: wlan_hostwake gpio=202 assert=1
[    1.381164] sunxi-rfkill soc@3000000:rfkill@0: wakeup source is enabled
[    1.388899] sunxi-rfkill soc@3000000:rfkill@0: Missing bt_power.
[    1.395710] sunxi-rfkill soc@3000000:rfkill@0: bt clock[0] (32k-fanout1)
[    1.403284] sunxi-rfkill soc@3000000:rfkill@0: bt_rst gpio=210 assert=0
[    1.411532] [ADDR_MGT] addr_mgt_probe: module version: v1.0.9
[    1.419092] [ADDR_MGT] addr_mgt_probe: success.
[    1.425536] libphy: Fixed MDIO Bus: probed
[    1.430139] CAN device driver interface
[    1.435291] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pe not found, using dummy regulator
[    1.446674] sunxi gmac driver's version: 1.0.0
[    1.451815] gmac-power0: NULL
[    1.455199] gmac-power1: NULL
[    1.458561] gmac-power2: NULL
[    1.463148] Failed to alloc md5
[    1.466692] eth0: Use random mac address
[    1.471426] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.478873] sunxi-ehci: EHCI SUNXI driver
[    1.483980] get ehci0-controller wakeup-source is fail.
[    1.489951] sunxi ehci0-controller don't init wakeup source
[    1.496336] [sunxi-ehci0]: probe, pdev->name: 4101000.ehci0-controller, sunxi_ehci: 0xffffffe000923398, 0x:ffffffd004077000, irq_no:2e
[    1.509984] [sunxi-ehci0]: Not init ehci0
[    1.514895] get ehci1-controller wakeup-source is fail.
[    1.520852] sunxi ehci1-controller don't init wakeup source
[    1.527216] [sunxi-ehci1]: probe, pdev->name: 4200000.ehci1-controller, sunxi_ehci: 0xffffffe000923758, 0x:ffffffd00407b000, irq_no:31
[    1.540825] sunxi-ehci 4200000.ehci1-controller: 4200000.ehci1-controller supply drvvbus not found, using dummy regulator
[    1.553444] sunxi-ehci 4200000.ehci1-controller: EHCI Host Controller
[    1.560726] sunxi-ehci 4200000.ehci1-controller: new USB bus registered, assigned bus number 1
[    1.570620] sunxi-ehci 4200000.ehci1-controller: irq 49, io mem 0x04200000
[    1.602511] sunxi-ehci 4200000.ehci1-controller: USB 2.0 started, EHCI 1.00
[    1.611272] hub 1-0:1.0: USB hub found
[    1.615613] hub 1-0:1.0: 1 port detected
[    1.620801] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.627867] sunxi-ohci: OHCI SUNXI driver
[    1.632969] get ohci0-controller wakeup-source is fail.
[    1.638940] sunxi ohci0-controller don't init wakeup source
[    1.645280] [sunxi-ohci0]: probe, pdev->name: 4101400.ohci0-controller, sunxi_ohci: 0xffffffe000923ed8
[    1.655750] [sunxi-ohci0]: Not init ohci0
[    1.660631] get ohci1-controller wakeup-source is fail.
[    1.666646] sunxi ohci1-controller don't init wakeup source
[    1.672934] [sunxi-ohci1]: probe, pdev->name: 4200400.ohci1-controller, sunxi_ohci: 0xffffffe000924298
[    1.683475] sunxi-ohci 4200400.ohci1-controller: 4200400.ohci1-controller supply drvvbus not found, using dummy regulator
[    1.696119] sunxi-ohci 4200400.ohci1-controller: OHCI Host Controller
[    1.703429] sunxi-ohci 4200400.ohci1-controller: new USB bus registered, assigned bus number 2
[    1.713335] sunxi-ohci 4200400.ohci1-controller: irq 50, io mem 0x04200400
[    1.787398] hub 2-0:1.0: USB hub found
[    1.791677] hub 2-0:1.0: 1 port detected
[    1.797215] usbcore: registered new interface driver uas
[    1.803411] usbcore: registered new interface driver usb-storage
[    1.810213] usbcore: registered new interface driver ums-alauda
[    1.817049] usbcore: registered new interface driver ums-cypress
[    1.823903] usbcore: registered new interface driver ums-datafab
[    1.830735] usbcore: registered new interface driver ums_eneub6250
[    1.837771] usbcore: registered new interface driver ums-freecom
[    1.844614] usbcore: registered new interface driver ums-isd200
[    1.851343] usbcore: registered new interface driver ums-jumpshot
[    1.858288] usbcore: registered new interface driver ums-karma
[    1.864983] usbcore: registered new interface driver ums-onetouch
[    1.871909] usbcore: registered new interface driver ums-realtek
[    1.878758] usbcore: registered new interface driver ums-sddr09
[    1.885552] usbcore: registered new interface driver ums-sddr55
[    1.892255] usbcore: registered new interface driver ums-usbat
[    1.899935] sunxi_gpadc_init,1968, success
[    1.906725] sunxi-rtc 7090000.rtc: registered as rtc0
[    1.912578] sunxi-rtc 7090000.rtc: setting system clock to 1970-01-01T00:17:18 UTC (1038)
[    1.921818] sunxi-rtc 7090000.rtc: sunxi rtc probed
[    1.927729] i2c /dev entries driver
[    1.931802] IR NEC protocol handler initialized
[    1.937583] sunxi cedar version 1.1
[    1.941759] sunxi-cedar 1c0e000.ve: Adding to iommu group 0
[    1.948081] VE: install start!!!
[    1.948081]
[    1.953688] VE: cedar-ve the get irq is 6
[    1.953688]
[    1.960048] VE: ve_debug_proc_info:(____ptrval____), data:(____ptrval____), lock:(____ptrval____)
[    1.960048]
[    1.971756] VE: install end!!!
[    1.971756]
[    1.978211] sunxi-wdt 6011000.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[    1.987456] Bluetooth: HCI UART driver ver 2.3
[    1.992449] Bluetooth: HCI UART protocol H4 registered
[    1.998248] Bluetooth: HCI UART protocol BCSP registered
[    2.004273] Bluetooth: XRadio Bluetooth LPM Mode Driver Ver 1.0.10
[    2.014239] sunxi-mmc 4020000.sdmmc: SD/MMC/SDIO Host Controller Driver(v4.19 2021-03-24 19:50)
[    2.024304] sunxi-mmc 4020000.sdmmc: ***ctl-spec-caps*** 8
[    2.030519] sunxi-mmc 4020000.sdmmc: No vmmc regulator found
[    2.036946] sunxi-mmc 4020000.sdmmc: No vqmmc regulator found
[    2.043420] sunxi-mmc 4020000.sdmmc: No vdmmc regulator found
[    2.049858] sunxi-mmc 4020000.sdmmc: No vd33sw regulator found
[    2.056453] sunxi-mmc 4020000.sdmmc: No vd18sw regulator found
[    2.063022] sunxi-mmc 4020000.sdmmc: No vq33sw regulator found
[    2.069577] sunxi-mmc 4020000.sdmmc: No vq18sw regulator found
[    2.076571] sunxi-mmc 4020000.sdmmc: Got CD GPIO
[    2.082057] sunxi-mmc 4020000.sdmmc: set cd-gpios as 24M fail
[    2.088825] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[    2.100027] sunxi-mmc 4020000.sdmmc: no vqmmc,Check if there is regulator
[    2.120253] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[    2.144705] sunxi-mmc 4020000.sdmmc: detmode:gpio irq
[    2.150438] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[    2.162826] sunxi-mmc 4021000.sdmmc: SD/MMC/SDIO Host Controller Driver(v4.19 2021-03-24 19:50)
[    2.172995] sunxi-mmc 4021000.sdmmc: ***ctl-spec-caps*** 8
[    2.179262] sunxi-mmc 4021000.sdmmc: No vmmc regulator found
[    2.185689] sunxi-mmc 4021000.sdmmc: No vqmmc regulator found
[    2.192193] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[    2.203894] sunxi-mmc 4021000.sdmmc: No vdmmc regulator found
[    2.210338] sunxi-mmc 4021000.sdmmc: No vd33sw regulator found
[    2.217010] sunxi-mmc 4021000.sdmmc: No vd18sw regulator found
[    2.223648] sunxi-mmc 4021000.sdmmc: No vq33sw regulator found
[    2.230230] sunxi-mmc 4021000.sdmmc: No vq18sw regulator found
[    2.236856] sunxi-mmc 4021000.sdmmc: Cann't get pin bias hs pinstate,check if needed
[    2.245643] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[    2.258342] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[    2.269586] sunxi-mmc 4021000.sdmmc: no vqmmc,Check if there is regulator
[    2.278569] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[    2.290250] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[    2.314616] sunxi-mmc 4021000.sdmmc: detmode:manually by software
[    2.322278] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[    2.334440] sun8iw20-pinctrl 2000000.pinctrl: 2000000.pinctrl supply vcc-pc not found, using dummy regulator
[    2.345881] sunxi_led_probe()1715 - start
[    2.350530] sunxi_get_str_of_property()1560 - failed to get the string of propname led_regulator!
[    2.360644] sunxi_register_led_classdev()1448 - led_classdev start
[    2.367667] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[    2.383920] sunxi_led_probe()1820 - finish
[    2.389262] usbcore: registered new interface driver usbhid
[    2.395618] mmc0: host does not support reading read-only switch, assuming write-enable
[    2.404665] usbhid: USB HID core driver
[    2.409023] sunxi-mmc 4021000.sdmmc: card claims to support voltages below defined range
[    2.419839] usbcore: registered new interface driver snd-usb-audio
[    2.431068] sunxi-daudio 2034000.daudio: regulator missing or invalid
[    2.438405] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
[    2.451205] [AUDIOCODEC][sunxi_codec_parse_params][2094]:digital_vol:0, lineout_vol:26, mic1gain:19, mic2gain:19 pa_msleep:120, pa_level:1, pa_pwr_level:1
[    2.451205]
[    2.468598] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
[    2.480427] [AUDIOCODEC][sunxi_codec_parse_params][2130]:adcdrc_cfg:0, adchpf_cfg:1, dacdrc_cfg:0, dachpf:0
[    2.491573] sunxi-mmc 4020000.sdmmc: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 4 timing SD-HS(SDR25) dt B
[    2.503901] [AUDIOCODEC][sunxi_internal_codec_probe][2266]:codec probe finished
[    2.512614] mmc0: new high speed SDHC card at address aaaa
[    2.520224] debugfs: Directory '203034c.dummy_cpudai' with parent 'audiocodec' already present!
[    2.531084] mmcblk0: mmc0:aaaa SC16G 14.8 GiB
[    2.536161] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
[    2.547841] [SNDCODEC][sunxi_card_init][583]:card init finished
[    2.554628] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
[    2.566899] sunxi-mmc 4021000.sdmmc: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 4 timing SD-HS(SDR25) dt B
[    2.582762] sunxi-codec-machine 2030340.sound: 2030000.codec <-> 203034c.dummy_cpudai mapping ok
[    2.593717] mmc1: new high speed SDIO card at address 0001
[    2.601640] input: audiocodec sunxi Audio Jack as /devices/platform/soc@3000000/2030340.sound/sound/card0/input1
[    2.614032] [SNDCODEC][sunxi_card_dev_probe][832]:register card finished
[    2.621722]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8
[    2.627366] sunxi-rpaf-dsp soc@3000000:rpaf-dsp@203034c: register device finished!
[    2.638591] sunxi-rpaf-dsp soc@3000000:rpaf-dsp@203034c: [rpaf_dsp0] probe finished!
[    2.647788] rpmsg_hifi 3003000.msgbox.sunxi,dsp-msgbox.514.258: id:sunxi,dsp-msgbox new channel: 0x202 -> 0x102!
[    2.659427] rpmsg_hifi 3003000.msgbox.sunxi,dsp-msgbox.514.258: rpmsg hifi[0] client driver is probed
[    2.671441] NET: Registered protocol family 10
[    2.677899] Segment Routing with IPv6
[    2.682216] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.689706] NET: Registered protocol family 17
[    2.694842] can: controller area network core (rev 20170425 abi 9)
[    2.701898] NET: Registered protocol family 29
[    2.706963] can: raw protocol (rev 20170425)
[    2.711758] can: broadcast manager protocol (rev 20170425 t)
[    2.718187] can: netlink gateway (rev 20190810) max_hops=1
[    2.724691] Bluetooth: RFCOMM TTY layer initialized
[    2.730210] Bluetooth: RFCOMM socket layer initialized
[    2.736092] Bluetooth: RFCOMM ver 1.11
[    2.741289] Loading compiled-in X.509 certificates
[    2.748984] HDMI 2.0 driver init start!
[    2.753385] boot_hdmi=false
[    2.756579] ERROR: pinctrl_get for HDMI2.0 DDC fail
[    2.763627] HDMI2.0 module init end
[    2.791776] twi twi2: twi2 supply twi not found, using dummy regulator
[    2.806082] input: fts_ts as /devices/platform/soc@3000000/twi2/i2c-2/2-0048/input/input2
[    2.840344] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    2.847274] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    2.853912] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    2.898958] random: fast init done
[    2.917494] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    2.924421] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    2.930996] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    2.940475] fts_ts 2-0048: 2-0048 supply  not found, using dummy regulator
[    2.948463] fts_ts 2-0048: 2-0048 supply  not found, using dummy regulator
[    2.956304] debugfs: Directory '2-0048-' with parent 'reg-dummy-regulator-dummy' already present!
[    3.248049] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    3.254979] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    3.261605] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    3.282518] [SNDCODEC][sunxi_check_hs_detect_status][191]:plugin --> switch:3
[    3.328106] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    3.335037] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    3.341674] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    3.408349] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    3.415279] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    3.421880] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    3.488210] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    3.495138] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    3.501756] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    3.568290] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    3.575220] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    3.581852] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    3.648209] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    3.655138] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    3.661736] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    3.728349] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    3.735281] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    3.741906] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    3.808304] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    3.815234] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    3.821857] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    3.888304] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    3.895236] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    3.901861] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    3.968542] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    3.975471] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    3.982074] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    4.048455] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    4.055385] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    4.062010] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    4.128446] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    4.135374] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    4.141996] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    4.208424] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    4.215355] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    4.221972] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    4.288518] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    4.295448] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    4.302081] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    4.368479] twi_stop()488 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[    4.375407] sunxi_i2c_core_process()1632 - [i2c2] STOP failed!
[    4.382032] sunxi_i2c_do_xfer()1816 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x48)
[    4.422819] sunxi_i2c_probe()2262 - [i2c2] probe success
[    4.432351] debugfs: Directory '2031000.dmic' with parent 'snddmic' already present!
[    4.442660] sunxi-audio-card 2031060.sounddmic: dmic-hifi <-> 2031000.dmic mapping ok
[    4.452871] debugfs: Directory '2034000.daudio' with parent 'sndhdmi' already present!
[    4.463571] sunxi-audio-card 20340a0.sounddaudio2: 20340a4.hdmiaudio <-> 2034000.daudio mapping ok
[    4.475385] get det_vbus is fail, -84
[    4.479532] get id is fail, -84
[    4.484423] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    4.495435] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    4.503067] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    4.512853] clk: Not disabling unused clocks
[    4.517655] ALSA device list:
[    4.520985]   #0: audiocodec
[    4.524345] cfg80211: failed to load regulatory.db
[    4.529820]   #1: snddmic
[    4.532846]   #2: sndhdmi
[    4.535804] alloc_fd: slot 0 not NULL!
[    4.552123] EXT4-fs (mmcblk0p7): mounted filesystem without journal. Opts: (null)
[    4.560689] VFS: Mounted root (ext4 filesystem) readonly on device 179:7.
[    4.570957] devtmpfs: mounted
[    4.574598] Freeing unused kernel memory: 196K
[    4.579635] This architecture does not have kernel memory protection.
[    4.586891] Run /sbin/init as init process
[    4.687908] cgroup1: Need name or subsystem set
[    4.712441] init: Console is alive
[    4.716681] init: - watchdog -
[    4.720265] init: - preinit -
[    5.035517] mount_root: mounting /dev/root
[    5.040546] EXT4-fs (mmcblk0p7): re-mounted. Opts: (null)
[    5.046907] mount_root: loading kmods from internal overlay
[    5.147560] block: attempting to load /etc/config/fstab
[    5.155664] block: extroot: not configured
[    5.171170] procd: - early -
[    5.175359] procd: - watchdog -
[    5.189291] random: procd: uninitialized urandom read (4 bytes read)
[    5.485496] procd: - watchdog -
[    5.489314] procd: - ubus -
[    5.493218] procd (1): /proc/118/oom_adj is deprecated, please use /proc/118/oom_score_adj instead.
[    5.515365] random: ubusd: uninitialized urandom read (4 bytes read)
[    5.522587]
[    5.522587] insmod_device_driver
[    5.522587]
[    5.529652] device_chose finished 139!
[    5.549747] random: ubusd: uninitialized urandom read (4 bytes read)
[    5.598929] procd: - init -
Please press Enter to activate this console.
[    6.362569] hdmi_hpd_sys_config_release
[    6.409024] fuse: init (API version 7.31)
[    6.454669] file system registered
[    6.512305] usbcore: registered new interface driver uvcvideo
[    6.535895] configfs-gadget 4100000.udc-controller: failed to start g1: -19
[    6.543805] USB Video Class driver (1.1.1)
[    6.712676] read descriptors
[    6.715936] read strings
[    6.873486] sunxi_set_cur_vol_work()394 WARN: get power supply failed
[    6.959860] android_work: sent uevent USB_STATE=CONNECTED
[    7.126439] configfs-gadget gadget: high-speed config #1: c
[    7.132907] android_work: sent uevent USB_STATE=CONFIGURED
[    9.566412] ======== XRADIO WIFI OPEN ========
[    9.585248] [XRADIO] Driver Label:XR_V02.16.84_P2P_HT40_01.31
[    9.592060] [XRADIO] Allocated hw_priv @ (____ptrval____)
[    9.629121] sunxi-rfkill soc@3000000:rfkill@0: bus_index: 1
[    9.658481] sunxi-rfkill soc@3000000:rfkill@0: wlan power on success
[    9.877120] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[   10.173344] [XRADIO] Detect SDIO card 1
[   11.742537] random: crng init done
[   11.746365] random: 7 urandom warning(s) missed due to ratelimiting
[   12.242617] sunxi-rfkill soc@3000000:rfkill@0: wlan power off success
[   12.462512] [XRADIO] Remove SDIO card 1
[   12.486521] [SBUS_ERR] sdio probe timeout!
[   12.491149] [XRADIO_ERR] sbus_sdio_init failed
[   12.503691] xradio_core_init failed (-110)!
[   12.615164] xt_time: kernel timezone is -0000
[   12.652914] Error: Driver 'gt9xxnew_ts' is already registered, aborting...
[   15.072839] ======== XRADIO WIFI OPEN ========
[   15.082574] [XRADIO] Driver Label:XR_V02.16.84_P2P_HT40_01.31
[   15.089392] [XRADIO] Allocated hw_priv @ 00000000763e5972
[   15.122587] sunxi-rfkill soc@3000000:rfkill@0: bus_index: 1
[   15.148559] sunxi-rfkill soc@3000000:rfkill@0: wlan power on success
[   15.568600] [XRADIO] Detect SDIO card 1
[   17.682626] sunxi-rfkill soc@3000000:rfkill@0: wlan power off success
[   17.902528] [XRADIO] Remove SDIO card 1
[   17.926789] [SBUS_ERR] sdio probe timeout!
[   17.931394] [XRADIO_ERR] sbus_sdio_init failed
[   17.943667] xradio_core_init failed (-110)!
[   19.366597] EXT4-fs (mmcblk0p7): warning: mounting unchecked fs, running e2fsck is recommended
[   19.436803] EXT4-fs (mmcblk0p7): re-mounted. Opts: (null)
[   20.345069] [SNDCODEC][sunxi_card_hw_params][620]:stream_flag: 0



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

    __  ___     _        __   _
   /  |/  /__ _(_)_ __  / /  (_)__  __ ____ __
  / /|_/ / _ `/ /\ \ / / /__/ / _ \/ // /\ \ /
 /_/  /_/\_,_/_//_\_\ /____/_/_//_/\_,_//_\_\
 ----------------------------------------------
 Maix Linux (Neptune, 5C1C9C53)
 ----------------------------------------------

一个电子工程师的自我修养