您尚未登录。

#1 2021-04-14 15:13:25 分享评论

大帅
会员
注册时间: 2019-01-17
已发帖子: 161
积分: 147

Zero V3s 全过程编译BSP,使用sunxi-fel启动系统问题

编译BSP系统参考: https://whycan.com/t_682.html

1. 编译uboot
2. 生成boot.scr文件
    编写boot.cmd
    setenv bootdelay 0
    setenv bootargs "console=ttyS0,115200 panic=5 rootwait root=/dev/ram0 rdinit=/linuxrc earlyprintk rw"
    setenv bootm_boot_mode sec
    setenv machid 1029
    bootm 0x41000000
    制作:
    tools/mkimage -C none -A arm -T script -d boot.cmd boot.scr
3. 生成 script.bin文件
    使用qianhao提供的sys_config.fex
    fex2bin sys_config.fex > script.bin
4. 编译文件系统
    使用https://buildroot.org/downloads/buildroot-2017.08.1.tar.gz
    Toolchain

x x                                        Toolchain type (External toolchain)  --->                                                              x x 
  x x                                        *** Toolchain External Options ***                                                                     x x 
  x x                                        Toolchain (Custom toolchain)  --->                                                                     x x 
  x x                                        Toolchain origin (Pre-installed toolchain)  --->                                                       x x 
  x x                                    (/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf) Toolchain path                                 
  x x 
  x x                                    (arm-linux-gnueabihf) Toolchain prefix                                                                     x x 
  x x                                        External toolchain gcc version (4.9.x)  --->                                                           x x 
  x x                                        External toolchain kernel headers series (4.0.x)  --->                                                 
  x x 
  x x                                        External toolchain C library (glibc/eglibc)  --->                                                      x x

    Filesystem images 制作rootfs.cpio.gz

x x                            * cpio the root filesystem (for use as an initial RAM filesystem)                               x x 
  x x                                  Compression method (gzip)  --->

   
  编译完成后,生成output/images/文件夹下的rootfs.cpio.gz
  制作ramfs
  mkimage -A arm -T ramdisk -C none -n uInitrd -d rootfs.cpio.gz rootfs.cpio.gz.uImage

5. 编译内核
    cp lichee_BSP_config .config
    配置内核

General setup  --->
  x x                     * Initial RAM filesystem and RAM disk (initramfs/initrd) support                         x x 
  x x                     (/home/osboxes/v3s/licheezero/rootfs/rootfs-bin) Initramfs source file(s)
  x x                     (0)     User ID to map to 0 (user root)                                                      x x 
  x x                     (0)     Group ID to map to 0 (group root)                                                  x x 
  x x                     *   Support initial ramdisks compressed using gzip                                       x x 
  x x                     [ ]   Support initial ramdisks compressed using bzip2                                      x x 
  x x                     [ ]   Support initial ramdisks compressed using LZMA                                       x x 
  x x                     [ ]   Support initial ramdisks compressed using XZ                                         x x 
  x x                     [ ]   Support initial ramdisks compressed using LZO                                        x x 
  x x                           Built-in initramfs compression mode (None)  --->

    其中/home/osboxes/v3s/licheezero/rootfs/rootfs-bin目录下存放制作好的rootfs.cpio.gz
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage -j8

上电进入FEL模式运行:
sunxi-fel.exe -p uboot u-boot-sunxi-with-spl.bin write 0x41000000 uImage write 0x41d00000 script.bin write 0x41e00000 boot.scr write 0x41A00000 rootfs.cpio.gz.uImage

系统启动后停在

[    1.324816] Warning: unable to open an initial console.
[    1.330947] Waiting for root device /dev/ram0...

输入回车没有反应。

U-Boot SPL 2017.01-rc2-00057-g32ab180 (Apr 06 2021 - 04:01:39)
DRAM: 64 MiB
Trying to boot from FEL

U-Boot 2017.01-rc2-00057-g32ab180 (Apr 06 2021 - 04:01:39 -0400) Allwinner Technology

CPU:   Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM:  64 MiB
MMC:   SUNXI SD/MMC: 0
Card did not respond to voltage select!
*** Warning - MMC init failed, using default environment

Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In:    serial@01c28000
Out:   serial@01c28000
Err:   serial@01c28000


U-Boot 2017.01-rc2-00057-g32ab180 (Apr 06 2021 - 04:01:39 -0400) Allwinner Technology

CPU:   Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM:  64 MiB
MMC:   SUNXI SD/MMC: 0
Card did not respond to voltage select!
*** Warning - MMC init failed, using default environment

Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In:    serial@01c28000
Out:   serial@01c28000
Err:   serial@01c28000
Net:   No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot:  0 
(FEL boot)
## Executing script at 41e00000
## Booting kernel from Legacy Image at 41000000 ...
   Image Name:   Linux-3.4.39
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3939328 Bytes = 3.8 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
Using machid 0x1029 from environment

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0
[    0.000000] Linux version 3.4.39 (osboxes@osboxes) (gcc version 4.9.4 (Linaro GCC 4.9-2017.01) ) #24 Wed Apr 14 02:02:59 EDT 2021
[    0.000000] Initialized persistent memory from 41d20800-41d307ff
[    0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/ram0 rdinit=/linuxrc earlyprintk rw
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 64MB = 64MB total
[    0.000000] Memory: 28932k/28932k available, 36604k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xc4800000 - 0xff000000   ( 936 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0476000   (4536 kB)
[    0.000000]       .init : 0xc0476000 - 0xc0609000   (1612 kB)
[    0.000000]       .data : 0xc060a000 - 0xc064e7b0   ( 274 kB)
[    0.000000]        .bss : 0xc064e7d4 - 0xc06e93d4   ( 619 kB)
[    0.000000] NR_IRQS:544
[    0.000000] Architected local timer running at 24.00MHz.
[    0.000000] Switching to timer-based delay loop
[    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[    0.000000] Console: colour dummy device 80x30
[    0.000164] Calibrating delay loop (skipped), value calculated using timer frequency.. 4800.00 BogoMIPS (lpj=24000000)
[    0.000187] pid_max: default: 32768 minimum: 301
[    0.000333] Mount-cache hash table entries: 512
[    0.000885] CPU: Testing write buffer coherency: ok
[    0.001153] Setting up static identity map for 0x40351820 - 0x40351878
[    0.001815] devtmpfs: initialized
[    0.003500] pinctrl core: initialized pinctrl subsystem
[    0.003999] NET: Registered protocol family 16
[    0.004326] DMA: preallocated 128 KiB pool for atomic coherent allocations
[    0.004387] script_sysfs_init success
[    0.005137] gpiochip_add: registered GPIOs 0 to 223 on device: sunxi-pinctrl
[    0.006030] sunxi-pinctrl sunxi-pinctrl: initialized sunXi PIO driver
[    0.006395] gpiochip_add: registered GPIOs 1024 to 1031 on device: axp-pinctrl
[    0.007234] persistent_ram: uncorrectable error in header
[    0.007251] persistent_ram: no valid data in buffer (sig = 0x42004000)
[    0.014267] console [ram-1] enabled
[    0.015084] Not Found clk pll_isp in script 
[    0.015231] Not Found clk pll_video in script 
[    0.015481] Not Found clk pll_ve in script 
[    0.015614] Not Found clk pll_periph0 in script 
[    0.015859] Not Found clk pll_de in script 
[    0.019832] bio: create slab <bio-0> at 0
[    0.020250] pwm module init!
[    0.022593] SCSI subsystem initialized
[    0.022975] usbcore: registered new interface driver usbfs
[    0.023177] usbcore: registered new interface driver hub
[    0.023566] usbcore: registered new device driver usb
[    0.023854] twi_chan_cfg()340 - [twi0] has no twi_regulator.
[    0.024105] twi_chan_cfg()340 - [twi1] has no twi_regulator.
[    0.024926] sunxi_i2c_do_xfer()985 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x34)
[    0.025195] axp20_board 0-0034: failed reading at 0x03
[    0.025470] axp20_board: probe of 0-0034 failed with error -70
[    0.025652] Linux video capture interface: v2.00
[    0.025871] gpiochip_add: gpios 1024..1028 (axp_pin) failed to register
[    0.026457] Advanced Linux Sound Architecture Driver Version 1.0.25.
[    0.027368] Switching to clocksource arch_sys_counter
[    0.029976] NET: Registered protocol family 2
[    0.029976] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.030088] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[    0.030383] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.030541] TCP: Hash tables configured (established 2048 bind 2048)
[    0.030789] TCP: reno registered
[    0.030927] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.031186] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.031588] NET: Registered protocol family 1
[    0.036956] standby_mode = 1. 
[    0.037102] wakeup src cnt is : 3. 
[    0.037258] pmu1_enable = 0x1. 
[    0.037392] pmux_id = 0x1. 
[    0.037646] config_pmux_para: script_parser_fetch err. 
[    0.037780] pmu2_enable = 0x0. 
[    0.037917] add_sys_pwr_dm: get ldo name failed
[    0.038161] add_sys_pwr_dm: get ldo name failed
[    0.038294] add_sys_pwr_dm: get ldo name failed
[    0.038539] add_sys_pwr_dm: get ldo name failed
[    0.038673] add_sys_pwr_dm: get ldo name failed
[    0.038805] add_sys_pwr_dm: get ldo name failed
[    0.039049] add_sys_pwr_dm: get ldo name failed
[    0.039184] add_sys_pwr_dm: get ldo name failed
[    0.039429] add_sys_pwr_dm: get ldo name failed
[    0.039562] add_sys_pwr_dm: get ldo name failed
[    0.039693] after inited: sys_mask config = 0x0. 
[    0.039939] dynamic_standby enalbe = 0x0. 
[    0.040192] sunxi_reg_init enter
[    0.042311] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.042608] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.042930] msgmni has been set to 56
[    0.043972] io scheduler noop registered
[    0.044118] io scheduler deadline registered
[    0.044443] io scheduler cfq registered (default)
[    0.044977] [DISP]disp_module_init
[    0.045512] cmdline,disp=
[    0.046199] [DISP] disp_get_rotation_sw,line:68:disp 0 out of range? g_rot_sw=0
[    0.046584] [DISP] disp_init_connections,line:289:NULL pointer: 0, 0
[    0.049270] [DISP] Fb_map_kernel_logo,line:924:Fb_map_kernel_logo failed!
[    0.052038] [DISP] disp_sys_power_enable,line:387:some error happen, fail to get regulator 
[    0.053202] [DISP]disp_module_init finish
[    0.053608] sw_uart_get_devinfo()1503 - uart0 has no uart_regulator.
[    0.054219] uart0: ttyS0 at MMIO 0x1c28000 (irq = 32) is a SUNXI
[    0.054366] sw_uart_pm()890 - uart0 clk is already enable
[    0.054621] sw_console_setup()1233 - console setup baud 115200 parity n bits 8, flow n
[    0.168106] console [ttyS0] enabled
[    0.693158] sunxi_spi_chan_cfg()1376 - [spi-0] has no spi_regulator.
[    0.701167] spi spi0: master is unqueued, this is deprecated
[    0.709217] Failed to alloc md5
[    0.712928] eth0: Use random mac address
[    0.717581] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.745091] sunxi-ehci sunxi-ehci.1: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.754272] sunxi-ehci sunxi-ehci.1: new USB bus registered, assigned bus number 1
[    0.763044] sunxi-ehci sunxi-ehci.1: irq 104, io mem 0xf1c1a000
[    0.780033] sunxi-ehci sunxi-ehci.1: USB 0.0 started, EHCI 1.00
[    0.787525] hub 1-0:1.0: USB hub found
[    0.791980] hub 1-0:1.0: 1 port detected
[    0.796902] sunxi-ehci sunxi-ehci.1: remove, state 1
[    0.802702] usb usb1: USB disconnect, device number 1
[    0.809884] sunxi-ehci sunxi-ehci.1: USB bus 1 deregistered
[    0.826456] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.853566] sunxi-ohci sunxi-ohci.1: SW USB2.0 'Open' Host Controller (OHCI) Driver
[    0.862347] sunxi-ohci sunxi-ohci.1: new USB bus registered, assigned bus number 1
[    0.871029] sunxi-ohci sunxi-ohci.1: irq 105, io mem 0xf1c1a400
[    0.934634] hub 1-0:1.0: USB hub found
[    0.939056] hub 1-0:1.0: 1 port detected
[    0.944018] sunxi-ohci sunxi-ohci.1: remove, state 1
[    0.949665] usb usb1: USB disconnect, device number 1
[    0.956101] sunxi-ohci sunxi-ohci.1: USB bus 1 deregistered
[    0.972558] Initializing USB Mass Storage driver...
[    0.978295] usbcore: registered new interface driver usb-storage
[    0.985101] USB Mass Storage support registered.
[    0.990762] file system registered
[    0.996141] android_usb gadget: Mass Storage Function, version: 2009/09/11
[    1.004080] android_usb gadget: Number of LUNs=1
[    1.009328]  lun0: LUN: removable file: (no medium)
[    1.015344] android_usb gadget: android_usb ready
[    1.020960] sunxikbd_script_init: key para not found, used default para. 
[    1.029586] sunxi-rtc sunxi-rtc: rtc core: registered sunxi-rtc as rtc0
[    1.038112] platform reg-20-cs-dcdc2: Driver reg-20-cs-dcdc2 requests probe deferral
[    1.047301] platform reg-20-cs-dcdc3: Driver reg-20-cs-dcdc3 requests probe deferral
[    1.056172] platform reg-20-cs-ldo1: Driver reg-20-cs-ldo1 requests probe deferral
[    1.064958] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe deferral
[    1.073743] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe deferral
[    1.082404] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe deferral
[    1.091162] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests probe deferral
[    1.100213] sunxi_wdt_init_module: sunxi WatchDog Timer Driver v1.0
[    1.107475] sunxi_wdt_probe: devm_ioremap return wdt_reg 0xf1c20ca0, res->start 0x01c20ca0, res->end 0x01c20cbf
[    1.118960] sunxi_wdt_probe: initialized (g_timeout=16s, g_nowayout=0)
[    1.126787] wdt_enable, write reg 0xf1c20cb8 val 0x00000000
[    1.133119] wdt_set_tmout, write 0x000000b0 to mode reg 0xf1c20cb8, actual timeout 16 sec
[    1.143178] no led_3, ignore it!
[    1.146916] no led_4, ignore it!
[    1.150766] no led_5, ignore it!
[    1.154468] no led_6, ignore it!
[    1.158166] no led_7, ignore it!
[    1.162781] usbcore: registered new interface driver usbhid
[    1.169212] usbhid: USB HID core driver
[    1.174278] ashmem: initialized
[    1.178164] logger: created 256K log 'log_main'
[    1.183516] logger: created 32K log 'log_events'
[    1.188871] logger: created 32K log 'log_radio'
[    1.194278] logger: created 32K log 'log_system'
[    1.200956] script_get_item return type err, consider it no ldo
[    1.208588] asoc: sndcodec <-> sunxi-codec mapping ok
[    1.216351] TCP: cubic registered
[    1.220218] NET: Registered protocol family 17
[    1.225531] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    1.234380] ThumbEE CPU extension supported.
[    1.239401] Registering SWP/SWPB emulation handler
[    1.245869] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests probe deferral
[    1.255042] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe deferral
[    1.263759] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe deferral
[    1.272334] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe deferral
[    1.281020] platform reg-20-cs-ldo1: Driver reg-20-cs-ldo1 requests probe deferral
[    1.289686] platform reg-20-cs-dcdc3: Driver reg-20-cs-dcdc3 requests probe deferral
[    1.298452] platform reg-20-cs-dcdc2: Driver reg-20-cs-dcdc2 requests probe deferral
[    1.307371] sunxi-rtc sunxi-rtc: setting system clock to 1970-01-01 04:37:28 UTC (16648)
[    1.317941] ALSA device list:
[    1.321435]   #0: audiocodec
[    1.324816] Warning: unable to open an initial console.
[    1.330947] Waiting for root device /dev/ram0...

离线

#2 2021-04-14 15:42:45 分享评论

哇酷小二
管理员
注册时间: 2020-04-22
已发帖子: 2,125
积分: 1907

Re: Zero V3s 全过程编译BSP,使用sunxi-fel启动系统问题

Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/ram0

你得给个合适的根文件系统

离线

#3 2021-04-14 17:00:24 分享评论

大帅
会员
注册时间: 2019-01-17
已发帖子: 161
积分: 147

Re: Zero V3s 全过程编译BSP,使用sunxi-fel启动系统问题

不明白为什么设备树必须写到这个位置? write 0x41d00000 script.bin

离线

#4 2021-04-16 15:02:48 分享评论

大帅
会员
注册时间: 2019-01-17
已发帖子: 161
积分: 147

Re: Zero V3s 全过程编译BSP,使用sunxi-fel启动系统问题

问题解决!随后更新Ramdisk启动方式,制作详细步骤

离线

#5 2021-04-16 15:03:28 分享评论

大帅
会员
注册时间: 2019-01-17
已发帖子: 161
积分: 147

Re: Zero V3s 全过程编译BSP,使用sunxi-fel启动系统问题

U-Boot SPL 2017.01-rc2-00057-g32ab180 (Apr 06 2021 - 04:01:39)
DRAM: 64 MiB
Trying to boot from FEL

U-Boot 2017.01-rc2-00057-g32ab180 (Apr 06 2021 - 04:01:39 -0400) Allwinner Technology

CPU:   Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM:  64 MiB
MMC:   SUNXI SD/MMC: 0
Card did not respond to voltage select!
*** Warning - MMC init failed, using default environment

Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In:    serial@01c28000
Out:   serial@01c28000
Err:   serial@01c28000


U-Boot 2017.01-rc2-00057-g32ab180 (Apr 06 2021 - 04:01:39 -0400) Allwinner Technology

CPU:   Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM:  64 MiB
MMC:   SUNXI SD/MMC: 0
Card did not respond to voltage select!
*** Warning - MMC init failed, using default environment

Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In:    serial@01c28000
Out:   serial@01c28000
Err:   serial@01c28000
Net:   No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot:  0 
(FEL boot)
## Executing script at 41e00000
## Booting kernel from Legacy Image at 41000000 ...
   Image Name:   Linux-3.4.39
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2457016 Bytes = 2.3 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
Using machid 0x1029 from environment

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0
[    0.000000] Linux version 3.4.39 (osboxes@osboxes) (gcc version 4.9.4 (Linaro GCC 4.9-2017.01) ) #29 Fri Apr 16 02:27:37 EDT 2021
[    0.000000] Initialized persistent memory from 41d20800-41d307ff
[    0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait initrd=0x41b00000,0x200000 root=/dev/ram init=/linuxrc earlyprintk rw
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 64MB = 64MB total
[    0.000000] Memory: 28316k/28316k available, 37220k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xc4800000 - 0xff000000   ( 936 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc047f000   (4572 kB)
[    0.000000]       .init : 0xc047f000 - 0xc04a3000   ( 144 kB)
[    0.000000]       .data : 0xc04a4000 - 0xc04e8830   ( 275 kB)
[    0.000000]        .bss : 0xc04e8854 - 0xc0583494   ( 620 kB)
[    0.000000] NR_IRQS:544
[    0.000000] Architected local timer running at 24.00MHz.
[    0.000000] Switching to timer-based delay loop
[    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[    0.000000] Console: colour dummy device 80x30
[    0.000168] Calibrating delay loop (skipped), value calculated using timer frequency.. 4800.00 BogoMIPS (lpj=24000000)
[    0.000188] pid_max: default: 32768 minimum: 301
[    0.000327] Mount-cache hash table entries: 512
[    0.000888] CPU: Testing write buffer coherency: ok
[    0.001153] Setting up static identity map for 0x40359488 - 0x403594e0
[    0.001812] devtmpfs: initialized
[    0.003527] pinctrl core: initialized pinctrl subsystem
[    0.004013] NET: Registered protocol family 16
[    0.004356] DMA: preallocated 128 KiB pool for atomic coherent allocations
[    0.004418] script_sysfs_init success
[    0.005167] gpiochip_add: registered GPIOs 0 to 223 on device: sunxi-pinctrl
[    0.006065] sunxi-pinctrl sunxi-pinctrl: initialized sunXi PIO driver
[    0.006440] gpiochip_add: registered GPIOs 1024 to 1031 on device: axp-pinctrl
[    0.007264] persistent_ram: error in header, 4
[    0.007277] persistent_ram: no valid data in buffer (sig = 0x00000000)
[    0.014391] console [ram-1] enabled
[    0.015207] Not Found clk pll_isp in script 
[    0.015463] Not Found clk pll_video in script 
[    0.015597] Not Found clk pll_ve in script 
[    0.015730] Not Found clk pll_periph0 in script 
[    0.015975] Not Found clk pll_de in script 
[    0.019920] bio: create slab <bio-0> at 0
[    0.020285] pwm module init!
[    0.022663] SCSI subsystem initialized
[    0.023026] usbcore: registered new interface driver usbfs
[    0.023334] usbcore: registered new interface driver hub
[    0.023612] usbcore: registered new device driver usb
[    0.023873] twi_chan_cfg()340 - [twi0] has no twi_regulator.
[    0.024125] twi_chan_cfg()340 - [twi1] has no twi_regulator.
[    0.024956] sunxi_i2c_do_xfer()985 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x34)
[    0.025226] axp20_board 0-0034: failed reading at 0x03
[    0.025504] axp20_board: probe of 0-0034 failed with error -70
[    0.025685] Linux video capture interface: v2.00
[    0.026020] gpiochip_add: gpios 1024..1028 (axp_pin) failed to register
[    0.026487] Advanced Linux Sound Architecture Driver Version 1.0.25.
[    0.027421] Switching to clocksource arch_sys_counter
[    0.029973] NET: Registered protocol family 2
[    0.029973] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.030120] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[    0.030411] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.030565] TCP: Hash tables configured (established 2048 bind 2048)
[    0.030810] TCP: reno registered
[    0.030949] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.031205] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.031604] NET: Registered protocol family 1
[    0.032052] Trying to unpack rootfs image as initramfs...
[    0.033221] rootfs image is not initramfs (no cpio magic); looks like an initrd
[    0.042563] Freeing initrd memory: 2048K
[    0.042879] standby_mode = 1. 
[    0.043013] wakeup src cnt is : 3. 
[    0.043280] pmu1_enable = 0x1. 
[    0.043413] pmux_id = 0x1. 
[    0.043556] config_pmux_para: script_parser_fetch err. 
[    0.043801] pmu2_enable = 0x0. 
[    0.043938] add_sys_pwr_dm: get ldo name failed
[    0.044072] add_sys_pwr_dm: get ldo name failed
[    0.044320] add_sys_pwr_dm: get ldo name failed
[    0.044453] add_sys_pwr_dm: get ldo name failed
[    0.044585] add_sys_pwr_dm: get ldo name failed
[    0.044829] add_sys_pwr_dm: get ldo name failed
[    0.044961] add_sys_pwr_dm: get ldo name failed
[    0.045205] add_sys_pwr_dm: get ldo name failed
[    0.045337] add_sys_pwr_dm: get ldo name failed
[    0.045469] add_sys_pwr_dm: get ldo name failed
[    0.045712] after inited: sys_mask config = 0x0. 
[    0.045847] dynamic_standby enalbe = 0x0. 
[    0.046155] sunxi_reg_init enter
[    0.048393] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.048583] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.049019] msgmni has been set to 59
[    0.050146] io scheduler noop registered
[    0.050406] io scheduler deadline registered
[    0.050623] io scheduler cfq registered (default)
[    0.051271] [DISP]disp_module_init
[    0.051804] cmdline,disp=
[    0.052472] [DISP] disp_get_rotation_sw,line:68:disp 0 out of range? g_rot_sw=0
[    0.052853] [DISP] disp_init_connections,line:289:NULL pointer: 0, 0
[    0.055430] [DISP] Fb_map_kernel_logo,line:924:Fb_map_kernel_logo failed!
[    0.058206] [DISP] disp_sys_power_enable,line:387:some error happen, fail to get regulator 
[    0.059369] [DISP]disp_module_init finish
[    0.059777] sw_uart_get_devinfo()1503 - uart0 has no uart_regulator.
[    0.060454] uart0: ttyS0 at MMIO 0x1c28000 (irq = 32) is a SUNXI
[    0.060602] sw_uart_pm()890 - uart0 clk is already enable
[    0.060861] sw_console_setup()1233 - console setup baud 115200 parity n bits 8, flow n
[    0.174413] console [ttyS0] enabled
[    0.724937] brd: module loaded
[    0.729069] sunxi_spi_chan_cfg()1376 - [spi-0] has no spi_regulator.
[    0.737127] spi spi0: master is unqueued, this is deprecated
[    0.745256] Failed to alloc md5
[    0.748923] eth0: Use random mac address
[    0.753535] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.781248] sunxi-ehci sunxi-ehci.1: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.790316] sunxi-ehci sunxi-ehci.1: new USB bus registered, assigned bus number 1
[    0.799067] sunxi-ehci sunxi-ehci.1: irq 104, io mem 0xf1c1a000
[    0.820035] sunxi-ehci sunxi-ehci.1: USB 0.0 started, EHCI 1.00
[    0.827419] hub 1-0:1.0: USB hub found
[    0.831767] hub 1-0:1.0: 1 port detected
[    0.836836] sunxi-ehci sunxi-ehci.1: remove, state 1
[    0.842522] usb usb1: USB disconnect, device number 1
[    0.848976] sunxi-ehci sunxi-ehci.1: USB bus 1 deregistered
[    0.865434] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.892637] sunxi-ohci sunxi-ohci.1: SW USB2.0 'Open' Host Controller (OHCI) Driver
[    0.901321] sunxi-ohci sunxi-ohci.1: new USB bus registered, assigned bus number 1
[    0.910003] sunxi-ohci sunxi-ohci.1: irq 105, io mem 0xf1c1a400
[    0.974640] hub 1-0:1.0: USB hub found
[    0.978944] hub 1-0:1.0: 1 port detected
[    0.983825] sunxi-ohci sunxi-ohci.1: remove, state 1
[    0.989610] usb usb1: USB disconnect, device number 1
[    0.995909] sunxi-ohci sunxi-ohci.1: USB bus 1 deregistered
[    1.012486] Initializing USB Mass Storage driver...
[    1.018108] usbcore: registered new interface driver usb-storage
[    1.025043] USB Mass Storage support registered.
[    1.030611] file system registered
[    1.035996] android_usb gadget: Mass Storage Function, version: 2009/09/11
[    1.043963] android_usb gadget: Number of LUNs=1
[    1.049333]  lun0: LUN: removable file: (no medium)
[    1.055498] android_usb gadget: android_usb ready
[    1.061002] sunxikbd_script_init: key para not found, used default para. 
[    1.069744] sunxi-rtc sunxi-rtc: rtc core: registered sunxi-rtc as rtc0
[    1.078199] platform reg-20-cs-dcdc2: Driver reg-20-cs-dcdc2 requests probe deferral
[    1.087208] platform reg-20-cs-dcdc3: Driver reg-20-cs-dcdc3 requests probe deferral
[    1.096194] platform reg-20-cs-ldo1: Driver reg-20-cs-ldo1 requests probe deferral
[    1.104940] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe deferral
[    1.113720] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe deferral
[    1.122508] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe deferral
[    1.131158] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests probe deferral
[    1.140209] sunxi_wdt_init_module: sunxi WatchDog Timer Driver v1.0
[    1.147583] sunxi_wdt_probe: devm_ioremap return wdt_reg 0xf1c20ca0, res->start 0x01c20ca0, res->end 0x01c20cbf
[    1.159050] sunxi_wdt_probe: initialized (g_timeout=16s, g_nowayout=0)
[    1.166767] wdt_enable, write reg 0xf1c20cb8 val 0x00000000
[    1.173205] wdt_set_tmout, write 0x000000b0 to mode reg 0xf1c20cb8, actual timeout 16 sec
[    1.183138] no led_3, ignore it!
[    1.186959] no led_4, ignore it!
[    1.190721] no led_5, ignore it!
[    1.194427] no led_6, ignore it!
[    1.198239] no led_7, ignore it!
[    1.202696] usbcore: registered new interface driver usbhid
[    1.209043] usbhid: USB HID core driver
[    1.214200] ashmem: initialized
[    1.217951] logger: created 256K log 'log_main'
[    1.223297] logger: created 32K log 'log_events'
[    1.228760] logger: created 32K log 'log_radio'
[    1.234052] logger: created 32K log 'log_system'
[    1.240949] script_get_item return type err, consider it no ldo
[    1.248442] asoc: sndcodec <-> sunxi-codec mapping ok
[    1.256344] TCP: cubic registered
[    1.260322] NET: Registered protocol family 17
[    1.265536] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    1.274441] ThumbEE CPU extension supported.
[    1.279319] Registering SWP/SWPB emulation handler
[    1.285818] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests probe deferral
[    1.294903] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe deferral
[    1.303601] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe deferral
[    1.312297] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe deferral
[    1.320867] platform reg-20-cs-ldo1: Driver reg-20-cs-ldo1 requests probe deferral
[    1.329542] platform reg-20-cs-dcdc3: Driver reg-20-cs-dcdc3 requests probe deferral
[    1.338413] platform reg-20-cs-dcdc2: Driver reg-20-cs-dcdc2 requests probe deferral
[    1.347250] sunxi-rtc sunxi-rtc: setting system clock to 1970-01-01 00:34:49 UTC (2089)
[    1.357772] ALSA device list:
[    1.361277]   #0: audiocodec
[    1.365158] RAMDISK: gzip image found at block 0
[    1.504469] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    1.511454] devtmpfs: mounted
[    1.515177] Freeing init memory: 144K
Starting logging: OK
Initializing random number generator... done.
Starting network: OK

Welcome to Buildroot
buildroot login: 
Welcome to Buildroot
buildroot login: root
# 
# 
# 
# ls
# 
# 
# cd /
# 
# 
# ls
THIS_IS_NOT_YOUR_ROOT_FILESYSTEM  mnt
bin                               opt
dev                               proc
etc                               root
init                              run
init_bk                           sbin
lib                               sys
lib32                             tmp
linuxrc                           usr
lost+found                        var
media
# 
# 

离线

#6 2021-04-16 15:09:11 分享评论

大帅
会员
注册时间: 2019-01-17
已发帖子: 161
积分: 147

Re: Zero V3s 全过程编译BSP,使用sunxi-fel启动系统问题

由于BSP驱动比较全,使用比较方便,所以优先使用,看到晕哥制作的FEL启动系统很方便,所为也要为BSP做了FEL方式启动整个系统,但遇到了问题,纵观整个论坛都是主线的方式,解决问题反复摸索的时间比较长。。。

离线

#7 2021-04-16 15:59:04 分享评论

大帅
会员
注册时间: 2019-01-17
已发帖子: 161
积分: 147

Re: Zero V3s 全过程编译BSP,使用sunxi-fel启动系统问题

1. 让BSP从ramdisk根文件系统启动

     1.1 修改内核配置选项
    make ARCH=arm menuconfig
    打开配置菜单,修改配置项
1_20210416-1525.jpg
        Ramdisk方式需要清空Initramfs source file(s)

2_20210416-1525.jpg
          之所以(4096)是因为我之后制作的ramdisk是4096KB大小的。
         如果这个大小和你做的ramdisk不匹配,则启动时仍然会出现 kernel panic,提示ramdisk格式不正确,挂载不上ramdisk。

3_20210416-1525.jpg
        注意:ramdisk是一种内存虚拟磁盘技术,实质上并不是一种文件系统,它使用的文件系统是ext2文件系统。 

        1.2 文件系统配置
4_20210416-1525.jpg
    其中Toolchain path是kernel的交叉编译链的位置
  kernel的版本,在交叉编译链下面查看:
  libc/usr/include/linux/version.h
  我这里的 LINUX_VERSION_CODE 版本是 262144
  将262144转换16进制40000
  我的编译链版本是4.0.0

5.jpg
  保存配置开始编译
  编译完成后生成根文件系统

2. 修改内核启动参数
    2.1 安装mkimage
   

sudo apt install mkimage

    采用修改u-boot的bootargs环境变量来传递启动参数
    修改bsp.cmd文件:一键制作boot.src.7z

    2.2 安装sunxi-tools工具,制作script参数配置
   

git clone -b v3s https://github.com/Icenowy/sunxi-tools.git
    make && sudo make install

    一键制作script参数配置bin文件
    一键制作script.bin.7z

3. 制作ramdisk镜像
    安装工具: sudo apt install genext2fs
    编译buildroot
    cd 到 buildroot/output 执行
   

$ genext2fs -b 4096 -d target/ ramdisk
    $ gzip -9 -f ramdisk

    制作出镜像
    builtroot/output/ramdisk.gz

    到此制作出全部启动文件: boot.scr script.bin u-boot-sunxi-with-spl.bin  ramdisk.gz uImage

离线

#8 2021-04-16 16:05:39 分享评论

大帅
会员
注册时间: 2019-01-17
已发帖子: 161
积分: 147

Re: Zero V3s 全过程编译BSP,使用sunxi-fel启动系统问题

如果遇到这样的错误:

[    1.437777] ALSA device list:
[    1.441278]   #0: audiocodec
[    1.445157] RAMDISK: gzip image found at block 0
[    1.584502] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    1.591484] devtmpfs: mounted
[    1.595207] Freeing init memory: 144K
mount: you must be root
mount: you must be root
mkdir: can't create directory '/dev/pts': Permission denied
mkdir: can't create directory '/dev/shm': Permission denied
mount: you must be root
hostname: sethostname: Operation not permitted
Starting logging: OK
Initializing random number generator... done.
Starting network: ip: RTNETLINK answers: Operation not permitted
ip: SIOCSIFFLAGS: Permission denied
FAIL
can't open /dev/console: Permission denied
can't open /dev/console: Permission denied
can't open /dev/console: Permission denied

查看busybox权限:

# buildroot-2017.08.1/output$ ll target/bin/busybox
-rwsr-xr-x 1 osboxes osboxes 675052 四月 12 04:35 target/bin/busybox*

解决办法:
chmod a-s busybox

离线

#9 2021-04-16 16:13:15 分享评论

大帅
会员
注册时间: 2019-01-17
已发帖子: 161
积分: 147

Re: Zero V3s 全过程编译BSP,使用sunxi-fel启动系统问题

完整BSP系统FEL启动包

生成
V3S-FEL启动系统.7z6.jpg

离线

#10 2021-04-16 16:14:45 分享评论

大帅
会员
注册时间: 2019-01-17
已发帖子: 161
积分: 147

Re: Zero V3s 全过程编译BSP,使用sunxi-fel启动系统问题

完整启动日志见:

生成
http://whycan.com/t_6327.html#p62135

离线

#11 2021-04-16 17:31:47 分享评论

大帅
会员
注册时间: 2019-01-17
已发帖子: 161
积分: 147

Re: Zero V3s 全过程编译BSP,使用sunxi-fel启动系统问题

uboot、kernel、buildroot 配置

u-boot.cfg
lichee-v3s-ramdisk-linux.config
lichee-v3s-buildroot-ramdisk.config
Ramdisk配置.7z

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn