全志AIC800 手册: aic800g3_datasheet_v1.4.pdf
A133 Datasheet: A133_documents/A133_Datasheet_V1.1.pdf
A133 User Manual: A133_documents/A133_User_Manual_V1.1.pdf
参考原理图1: SC3904Q-mb-V00-20112600.pdf (分立电源)
参考原理图2: aic800_ref_sip_lp4_32x1_v1_0.pdf (PMU AXP853)
开机log:
[94]HELLO! BOOT0 is starting!
[97]BOOT0 commit : dc54be6
[100]set pll start
[102]periph0 has been enabled
[105]set pll end
[107][pmu]: bus read error
[109][pmu]: bus read error
[117]vaild para:1 select dram para0
[121]board init ok
[123]DRAM BOOT DRIVE INFO: V0.19
[126]the chip id is 0x2400
[129]the chip id is 0x2400
[131]the chip id is 0x2400
[134]the chip id is 0x2400
[137]the chip id is 0x2400
[139]chip id check OK
[141]DRAM_VCC set to 1100 mv
[144]DRAM CLK =792 MHZ
[147]DRAM Type =8 (3:DDR3,4:DDR4,7:LPDDR3,8:LPDDR4)
[155]DRAM SIZE =1024 MBytes, para1 = 30fa, para2 = 4000000, dram_tpr13 = 6063
[167]DRAM simple test OK.
[170]dram size =1024
[172]chipid = 53002400
[174]nsi init ok 2020-4-7
[177]card no is 2
[179]sdcard 2 line count 8
[182][mmc]: mmc driver ver 2020-05-25 09:40
[191][mmc]: Wrong media type 0x0
[195][mmc]: ***Try SD card 2***
[198][mmc]: mmc 2 cmd 8 timeout, err 100
[202][mmc]: mmc 2 cmd 8 err 100
[206][mmc]: mmc 2 send if cond failed
[210][mmc]: mmc 2 cmd 55 timeout, err 100
[214][mmc]: mmc 2 cmd 55 err 100
[217][mmc]: mmc 2 send app cmd failed
[221][mmc]: ***Try MMC card 2***
[246][mmc]: RMCA OK!
[248][mmc]: mmc 2 bias 4
[251][mmc]: MMC 5.0
[253][mmc]: HSSDR52/SDR25 8 bit
[256][mmc]: 50000000 Hz
[259][mmc]: 7456 MB
[261][mmc]: ***SD/MMC 2 init OK!!!***
[315]Loading boot-pkg Succeed(index=0).
[319]Entry_name = u-boot
[326]Entry_name = monitor
[329]Entry_name = scp
[337]set arisc reset to de-assert state
[341]Entry_name = dtb
[345]tunning data addr:0x4a0003e8
[348]Jump to second Boot.
NOTICE: BL3-1: v1.0(debug):cc1f5d7
NOTICE: BL3-1: Built : 10:23:25, 2020-04-08
NOTICE: BL3-1 commit: 8
ERROR: Error initializing runtime service tspd_fast
NOTICE: BL3-1: Preparing for EL3 exit to normal world
NOTICE: BL3-1: Next image address = 0x4a000000
NOTICE: BL3-1: Next image spsr = 0x1d3
U-Boot 2018.05-00002-g27dfc9348f (Nov 06 2020 - 08:19:02 +0000) Allwinner Technology
[00.428]CPU: Allwinner Family
[00.431]Model: sun50iw10
I2C: ready
[00.682]DRAM: 1 GiB
[00.685]Relocation Offset is: 35f17000
[00.714]secure enable bit: 0
[00.717][ARISC] :arisc initialize
[00.722][ARISC ERROR] :get [allwinner,sunxi-hwspinlock] device node error
CACHE: Misaligned operation at range [7ffa72c0, 7ffa75d8]
[00.733][ARISC] :arisc para ok
[SCP] :sunxi-arisc driver begin startup 2
[SCP] :0x1
[SCP] :arisc version: [9b9b85f5ab606cc93b4061ac38834cab8a191a28rid-]
[SCP] :arisc startup ready
[SCP] :arisc startup notify message feedback
[SCP] :send hard sync feedback message: 0x900200
[SCP] :sunxi-arisc driver v1.10 is starting
[00.763][ARISC] :sunxi-arisc driver startup succeeded
[00.769]pmu_axp81X_probe pmic_bus_read fail
[00.773]pmu_axp858_probe pmic_bus_read fail
[00.777]PMU: no found
[00.779]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz MBus=400Mhz
[00.786]init_clocks:finish
[00.788]not need merged sunxi overlay
[00.791]drv_disp_init
request pwm success, pwm8:pwm8:0x300a000.
pwm_request: err:this pwm has been requested!
[00.827]drv_disp_init finish
[00.835]gic: sec monitor mode
[00.838]flash init start
[00.840]workmode = 0,storage type = 2
[00.843][mmc]: mmc driver ver uboot2018:2020-5-25 9:26:00-20201021190
[00.857][mmc]: SUNXI SDMMC Controller Version:0x50300
[00.881][mmc]: Best spd md: 2-HSDDR52/DDR50, freq: 2-50000000, Bus width: 8
[00.888]sunxi flash init ok
[00.891]Loading Environment from SUNXI_FLASH... OK
[00.900]no secure os for keybox operation
[00.903]try to burn key
[00.907]out of usb burn from boot: not need burn key
[00.911]boot_gui_init:start
[00.915]set disp.dev2_output_type fail. using defval=0
[00.920]disp 1, clk: pll(490000000),clk(490000000),dclk(70000000) dsi_rate(490000000)
clk real:pll(492000000),clk(492000000),dclk(70285714) dsi_rate(0)
[00.938]switch device: sel=1, type=1, mode=4, format=0, bits=0, eotf=4, cs=260
[00.944]boot_gui_init:finish
[00.947]bmp_name=bootlogo.bmp
2764856 bytes read in 32 ms (82.4 MiB/s)
[00.999]read item0 copy0
[01.001]Item0 (Map) magic is bad
[01.004]the secure storage item0 copy0 magic is bad
[01.009]Item0 (Map) magic is bad
[01.011]the secure storage item0 copy1 magic is bad
[01.016]Item0 (Ma[01.018]soc ic_ver:0x0, qa_val:0x0, markid:0x53002400 dclk[0-9999]
p) magic is bad
[01.025]the secure storage map is empty
[01.028]no item name device_unlock in the map
[01.032]no item name fastboot_status_flag in the map
[01.037]sunxi secure storage has no flag
[01.043][mmc]: delete mmc-hs400-1_8v from dtb
[01.047][mmc]: delete mmc-hs200-1_8v from dtb
[01.051][mmc]: get max-frequency ok 50000000 Hz
[01.057](weak)update dtb dram start
[01.061]update dtb dram end
[01.063]update dts
[01.065]no item name snum in the map
** Unrecognized filesystem type **
[01.078]load file(ULI/factory/snum.txt) error.
[01.082]no item name mac in the map
** Unrecognized filesystem type **
[01.095]load file(ULI/factory/mac.txt) error.
[01.099]no item name wifi_mac in the map
** Unrecognized filesystem type **
[01.113]load file(ULI/factory/wifi_mac.txt) error.
[01.117]no item name bt_mac in the map
[01.126]LCD open finish
** Unrecognized filesystem type **
[01.135]load file(ULI/factory/bt_mac.txt) error.
[01.140]no item name specialstr in the map
** Unrecognized filesystem type **
[01.153]load file(ULI/factory/specialstr.txt) error.
[01.166]update part info
[01.169]key 0
[01.173]misc partition found
[01.196]update bootcmd
[01.197]serial num is: 0c001415a0c0873228d
Hit any key to stop autoboot: 0
[03.212]partinfo: name boot, start 0x2a000, size 0x10000
[03.504]read data in addr ret = 1
[03.507]magic = AVB0
[03.509]major version = 1 minor version = 0
[03.513]authentication_data_block_size = 240
[03.517]auxiliary_data_block_size = d40
[03.521]vbmeta_size = 4224
[03.523]algorithm_type = 0
[03.526]flag = 0
[03.527]release tool = avbtool 1.1.0
[03.544]read data in addr ret = 1
[03.547]magic = AVB0
[03.550]major version = 1 minor version = 0
[03.554]authentication_data_block_size = 140
[03.558]auxiliary_data_block_size = 3c0
[03.561]vbmeta_size = 1536
[03.564]algorithm_type = 0
[03.566]flag = 0
[03.568]release tool = avbtool 1.1.0
[03.585]read data in addr ret = 1
[03.588]magic = AVB0
[03.590]major version = 1 minor version = 0
[03.594]authentication_data_block_size = 140
[03.598]auxiliary_data_block_size = 340
[03.602]vbmeta_size = 1408
[03.605]algorithm_type = 0
[03.607]flag = 0
[03.609]release tool = avbtool 1.1.0
[03.612]total_size = 7168
[03.615]alloc block = 17
[03.658]vbmeta hash is 318f52cb3e903d5eacdc4fc4d4f9d9156a94d1d9142b53f3ed945c788a49ddf2[03.668]in boot normal mode,pass normal para to cmdline
[03.674]android.hardware = sun50iw10p1
[03.677]line:56 dtbo_idx= 0
[03.679]dtbo_idx= 64
[03.759]partinfo: name dtbo, start 0x8c2000, size 0x1000
[03.814]Starting kernel ...
[03.816][mmc]: mmc exit start
[03.835][mmc]: mmc 2 exit ok
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.9.170 (keliang.liu@Exdroid019) (gcc version 5.3.1 20160412 (Linaro GCC 5.3-2016.05) ) #11 SMP PREEMPT Thu Aug 5 15:18:26 CST 2021
[ 0.000000] Boot CPU: AArch64 Processor [410fd034]
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] disp reserve base 0x7bf65080 ,size 0x3e8000
[ 0.000000] cma: Reserved 8 MiB at 0x000000007f800000
[ 0.000000] On node 0 totalpages: 262144
[ 0.000000] DMA zone: 4096 pages used for memmap
[ 0.000000] DMA zone: 0 pages reserved
[ 0.000000] DMA zone: 262144 pages, LIFO batch:31
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.0 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: Trusted OS migration not required
[ 0.000000] psci: SMC Calling Convention v1.0
[ 0.000000] percpu: Embedded 23 pages/cpu @ffffffc03f704000 s53376 r8192 d32640 u94208
[ 0.000000] pcpu-alloc: s53376 r8192 d32640 u94208 alloc=23*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: enabling workaround for ARM erratum 845719
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 258048
[ 0.000000] Kernel command line: earlyprintk=sunxi-uart,0x05000000 initcall_debug=0 console=ttyS0,115200 loglevel=8 root=/dev/mmcblk0p4 init=/init partitions=bootloader@mmcblk0p1:env@mmcblk0p2:boot@mmcblk0p3:super@mmcblk0p4:misc@mmcblk0p5:recovery@mmcblk0p6:cache@mmcblk0p7:vbmeta@mmcblk0p8:vbmeta_system@mmcblk0p9:vbmeta_vendor@mmcblk0p10:metadata@mmcblk0p11:private@mmcblk0p12:frp@mmcblk0p13:empty@mmcblk0p14:dtbo@mmcblk0p15:media_data@mmcblk0p16:UDISK@mmcblk0p17 cma=8M snum=0c001415a0c0873228d mac_addr= wifi_mac= bt_mac= specialstr= gpt=1 androidboot.vbmeta.avb_version=2.0 androidboot.vbmeta.hash_alg=sha256 androidboot.vbmeta.size=7168 androidboot.vbmeta.digest=318f52cb3e903d5eacdc4fc4d4f9d9156a94d1d9142b53f3ed945c788a49ddf2 androidboot.vbmeta.device_state=locked androidboot.mode=normal androidboot.serialno=0c001415a0c0873228d androidboot.hardware=sun50iw10p1 boot_type=2 androidboot.boot_type=2 androidboot.secure_os_exist=0 androidboot.trustchain=false gpt=1 uboot_message=2018.05-00002-g[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
[ 0.000000] Memory: 977432K/1048576K available (11390K kernel code, 2192K rwdata, 4040K rodata, 4416K init, 599K bss, 62952K reserved, 8192K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] modules : 0xffffff8000000000 - 0xffffff8008000000 ( 128 MB)
[ 0.000000] vmalloc : 0xffffff8008000000 - 0xffffffbebfff0000 ( 250 GB)
[ 0.000000] .text : 0xffffff8008080000 - 0xffffff8008ba0000 ( 11392 KB)
[ 0.000000] .rodata : 0xffffff8008ba0000 - 0xffffff8008fa0000 ( 4096 KB)
[ 0.000000] .init : 0xffffff8008fa0000 - 0xffffff80093f0000 ( 4416 KB)
[ 0.000000] .data : 0xffffff80093f0000 - 0xffffff8009614008 ( 2193 KB)
[ 0.000000] .bss : 0xffffff8009614008 - 0xffffff80096a9f18 ( 600 KB)
[ 0.000000] fixed : 0xffffffbefe7fb000 - 0xffffffbefec00000 ( 4116 KB)
[ 0.000000] PCI I/O : 0xffffffbefee00000 - 0xffffffbeffe00000 ( 16 MB)
[ 0.000000] vmemmap : 0xffffffbf00000000 - 0xffffffc000000000 ( 4 GB maximum)
[ 0.000000] 0xffffffbf00000000 - 0xffffffbf01000000 ( 16 MB actual)
[ 0.000000] memory : 0xffffffc000000000 - 0xffffffc040000000 ( 1024 MB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 64.
[ 0.000000] NR_IRQS:64 nr_irqs:64 0
[ 0.000000] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000000] arm_arch_timer: Architected cp15 timer(s) running at 24.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000004] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.008151] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=80000)
[ 0.018200] pid_max: default: 32768 minimum: 301
[ 0.023030] Security Framework initialized
[ 0.026879] SELinux: Initializing.
[ 0.030473] SELinux: Starting in permissive mode
[ 0.035135] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.041697] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.049571] ftrace: allocating 34487 entries in 135 pages
[ 0.133140] sched-energy: CPU device node has no sched-energy-costs
[ 0.133781] Invalid sched_group_energy for CPU0
[ 0.138319] CPU0: update cpu_capacity 1024
[ 0.152424] ASID allocator initialised with 32768 entries
[ 0.171319] BOOTEVENT: 171.309206: ON
[ 0.199393] Detected VIPT I-cache on CPU1
[ 0.199444] Invalid sched_group_energy for CPU1
[ 0.199447] CPU1: update cpu_capacity 1024
[ 0.199449] CPU1: Booted secondary processor [410fd034]
[ 0.222760] Detected VIPT I-cache on CPU2
[ 0.222788] Invalid sched_group_energy for CPU2
[ 0.222790] CPU2: update cpu_capacity 1024
[ 0.222793] CPU2: Booted secondary processor [410fd034]
[ 0.246173] Detected VIPT I-cache on CPU3
[ 0.246199] Invalid sched_group_energy for CPU3
[ 0.246202] CPU3: update cpu_capacity 1024
[ 0.246205] CPU3: Booted secondary processor [410fd034]
[ 0.246287] Brought up 4 CPUs
[ 0.296922] SMP: Total of 4 processors activated.
[ 0.301614] CPU features: detected feature: 32-bit EL0 Support
[ 0.307419] CPU features: detected feature: Kernel page table isolation (KPTI)
[ 0.318435] CPU: All CPU(s) started at EL1
[ 0.318690] alternatives: patching kernel code
[ 0.323300] Invalid sched_group_energy for CPU3
[ 0.327617] CPU3: update max cpu_capacity 1024
[ 0.332032] Invalid sched_group_energy for Cluster3
[ 0.336885] Invalid sched_group_energy for CPU2
[ 0.341392] Invalid sched_group_energy for Cluster2
[ 0.346245] Invalid sched_group_energy for CPU1
[ 0.350752] Invalid sched_group_energy for Cluster1
[ 0.355604] Invalid sched_group_energy for CPU0
[ 0.360112] Invalid sched_group_energy for Cluster0
[ 0.365495] CPU1: update max cpu_capacity 1024
[ 0.370110] devtmpfs: initialized
[ 0.411511] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370867519511994 ns
[ 0.415650] futex hash table entries: 1024 (order: 5, 131072 bytes)
[ 0.422448] atomic64_test: passed
[ 0.425146] pinctrl core: initialized pinctrl subsystem
[ 0.432406] NET: Registered protocol family 16
[ 0.436190] dump_class_init,861, success
[ 0.452075] cpuidle: using governor menu
[ 0.453372] sunxi iommu: irq = 9
[ 0.454362] vdso: 2 pages (1 code @ ffffff8008ba8000, 1 data @ ffffff80093f4000)
[ 0.460988] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.469145] DMA: preallocated 256 KiB pool for atomic allocations
[ 0.476973] sun50iw10p1-r-pinctrl r_pio: initialized sunXi PIO driver
[ 0.497370] sun50iw10p1-pinctrl pio: initialized sunXi PIO driver
[ 0.501908] iommu: Adding device 1c0e000.ve to group 0
[ 0.510198] iommu: Adding device 6000000.disp to group 0
[ 0.511091] iommu: Adding device 6480000.g2d to group 0
[ 0.519109] iommu: Adding device csi0 to group 0
[ 0.520097] iommu: Adding device csi1 to group 0
[ 0.525349] iommu: Adding device 2108000.tdm to group 0
[ 0.529935] iommu: Adding device 2100000.isp to group 0
[ 0.535121] iommu: Adding device 2102000.isp to group 0
[ 0.540159] iommu: Adding device 2110000.scaler to group 0
[ 0.545620] iommu: Adding device 2110400.scaler to group 0
[ 0.551078] iommu: Adding device 2110800.scaler to group 0
[ 0.556531] iommu: Adding device 2110c00.scaler to group 0
[ 0.600000] pwm module init!
[ 0.605054] sunxi-pm debug v3.10
[ 0.606600] SCSI subsystem initialized
[ 0.607380] usbcore: registered new interface driver usbfs
[ 0.611981] usbcore: registered new interface driver hub
[ 0.617263] usbcore: registered new device driver usb
[ 0.622367] sunxi_i2c_adap_init()2541 - init
[ 0.626975] sunxi_i2c_probe()2289 - [i2c0] twi_drv_used = 0
[ 0.631963] sunxi_i2c_probe()2293 - [i2c0] twi_pkt_interval = 0
[ 0.637870] twi0 supply twi not found, using dummy regulator
[ 0.643572] twi_request_gpio()453 - [i2c0] init name: twi0
[ 0.649674] sunxi_i2c_probe()2289 - [i2c1] twi_drv_used = 0
[ 0.654499] sunxi_i2c_probe()2293 - [i2c1] twi_pkt_interval = 0
[ 0.660412] twi1 supply twi not found, using dummy regulator
[ 0.666094] twi_request_gpio()453 - [i2c1] init name: twi1
[ 0.672328] sunxi_i2c_probe()2289 - [i2c2] twi_drv_used = 0
[ 0.677036] sunxi_i2c_probe()2293 - [i2c2] twi_pkt_interval = 0
[ 0.682934] twi2 supply twi not found, using dummy regulator
[ 0.688625] twi_request_gpio()453 - [i2c2] init name: twi2
[ 0.694613] sunxi_i2c_probe()2289 - [i2c3] twi_drv_used = 0
[ 0.699564] sunxi_i2c_probe()2293 - [i2c3] twi_pkt_interval = 0
[ 0.705465] twi3 supply twi not found, using dummy regulator
[ 0.711175] twi_request_gpio()453 - [i2c3] init name: twi3
[ 0.717130] media: Linux media interface: v0.10
[ 0.721121] Linux video capture interface: v2.00
[ 0.726697] ion_parse_dt_heap_common: id 0 type 0 name sys_user align 1000
[ 0.732719] ion_parse_dt_heap_common: id 4 type 4 name cma align 1000
[ 0.739095] ion_parse_dt_heap_common: id 6 type 6 name secure align 1000
[ 0.745898] drm config service not available: FFFFFFFF
[ 0.750966] Advanced Linux Sound Architecture Driver Initialized.
[ 0.757480] Bluetooth: Core ver 2.22
[ 0.760371] NET: Registered protocol family 31
[ 0.764732] Bluetooth: HCI device and connection manager initialized
[ 0.771072] Bluetooth: HCI socket layer initialized
[ 0.775919] Bluetooth: L2CAP socket layer initialized
[ 0.780989] Bluetooth: SCO socket layer initialized
[ 0.786576] ncs8801s init:*************************
[ 0.790806] script_ncs8801s_gpio_init: ncs8801s is not used
[ 0.796860] clocksource: Switched to clocksource arch_sys_counter
[ 0.878522] VFS: Disk quotas dquot_6.6.0
[ 0.878663] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.886439] udc_init,0
[ 0.887689] NET: Registered protocol family 2
[ 0.907057] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.908533] TCP bind hash table entries: 8192 (order: 5, 131072 bytes)
[ 0.915116] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.921381] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 0.927224] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 0.933870] NET: Registered protocol family 1
[ 0.938155] Trying to unpack rootfs image as initramfs...
[ 0.970882] Freeing initrd memory: 752K
[ 0.972443] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[ 0.979415] audit: initializing netlink subsys (disabled)
[ 0.982275] audit: type=2000 audit(0.809:1): initialized
[ 0.988544] workingset: timestamp_bits=45 max_order=18 bucket_order=0
[ 1.005716] Registering sdcardfs 0.1
[ 1.006293] ntfs: driver 2.1.32 [Flags: R/W].
[ 1.008505] fuse init (API version 7.26)
[ 1.014127] SELinux: Registering netfilter hooks
[ 1.021080] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[ 1.023966] io scheduler noop registered
[ 1.027907] io scheduler deadline registered
[ 1.032358] io scheduler cfq registered (default)
[ 1.038427] [DISP]disp_module_init
[ 1.041335] [DISP] disp_init,line:2214:
[ 1.043821] smooth display screen:1 type:1 mode:4
[ 1.122701] [DISP] lcd_clk_config,line:dlk(70000000) dsi_rate(490000000)
[ 1.122747] clk real:pll(492000000),clk(492000000),dclk(70285714) dsi_rate(0)
[ 1.124067] [DISP]disp_module_init finish
[ 1.126052] uart uart0: get regulator failed
[ 1.126066] uart0 supply uart not found, using dummy regulator
[ 1.126317] uart0: ttyS0 at MMIO 0x5000000 (irq = 349, base_baud = 1500000) is a SUNXI
[ 1.126334] sw_console_setup()1731 - console setup baud 115200 parity n bits 8, flow n
[ 1.161164] console [ttyS0] enabled
[ 1.161164] console [ttyS0] enabled
[ 1.170776] bootconsole [earlycon0] disabled
[ 1.170776] bootconsole [earlycon0] disabled
[ 1.179882] uart uart1: get regulator failed
[ 1.188005] uart1 supply uart not found, using dummy regulator
[ 1.194841] uart1: ttyS1 at MMIO 0x5000400 (irq = 350, base_baud = 1500000) is a SUNXI
[ 1.204772] misc dump reg init
[ 1.209335] G2D: Module initialized.major:246
[ 1.215517] [drm] Initialized
[ 1.219052] Unable to detect cache hierarchy for CPU 0
[ 1.238438] brd: module loaded
[ 1.257606] loop: module loaded
[ 1.262054] zram: Added device: zram0
[ 1.266389] [NAND][NE] Not found valid nand node on dts
[ 1.273345] sunxi-wlan soc@03000000:wlan@0: wlan_busnum (1)
[ 1.279645] sunxi-wlan soc@03000000:wlan@0: Missing wlan_power.
[ 1.286343] sunxi-wlan soc@03000000:wlan@0: wlan_power_name ((null))
[ 1.293553] sunxi-wlan soc@03000000:wlan@0: Missing wlan_io_regulator.
[ 1.300911] sunxi-wlan soc@03000000:wlan@0: io_regulator_name ((null))
[ 1.308323] sunxi-wlan soc@03000000:wlan@0: wlan_regon gpio=357 mul-sel=1 pull=-1 drv_level=-1 data=0
[ 1.319127] sunxi-wlan soc@03000000:wlan@0: get gpio chip_en failed
[ 1.326204] sunxi-wlan soc@03000000:wlan@0: get gpio power_en failed
[ 1.333381] sunxi-wlan soc@03000000:wlan@0: wlan_hostwake gpio=358 mul-sel=1 pull=-1 drv_level=-1 data=0
[ 1.344538] sunxi-wlan soc@03000000:wlan@0: clk not config
[ 1.350724] sunxi-wlan soc@03000000:wlan@0: dcxo not config
[ 1.357037] sunxi-wlan soc@03000000:wlan@0: pinctrl_lookup_state(default) failed! return ffffffffffffffed
[ 1.368876] [ADDR_MGT] addr_mgt_probe: success.
[ 1.376050] it6612_init-<629>:it6612 init:*************************
[ 1.383867] it6612_probe-<497>:it6612 probe:*************************
[ 1.395476] twi_stop()514 - [i2c0] STOP can't sendout!
[ 1.401252] sunxi_i2c_core_process()1751 - [i2c0] STOP failed!
[ 1.407837] sunxi_i2c_do_xfer()1946 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4c)
[ 1.417448] sunxi_i2c_do_xfer()1946 - [i2c1] incomplete xfer (status: 0x20, dev addr: 0x4c)
[ 1.427095] sunxi_i2c_do_xfer()1946 - [i2c2] incomplete xfer (status: 0x20, dev addr: 0x4c)
[ 1.436730] sunxi_i2c_do_xfer()1946 - [i2c3] incomplete xfer (status: 0x20, dev addr: 0x4c)
[ 1.446839] libphy: Fixed MDIO Bus: probed
[ 1.451464] tun: Universal TUN/TAP device driver, 1.6
[ 1.457171] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[ 1.465922] gmac-power0: NULL
[ 1.469303] gmac-power1: NULL
[ 1.472652] gmac-power2: NULL
[ 1.476934] PPP generic driver version 2.4.2
[ 1.482023] PPP BSD Compression module registered
[ 1.487343] PPP Deflate Compression module registered
[ 1.493051] PPP MPPE Compression module registered
[ 1.498453] NET: Registered protocol family 24
[ 1.503470] PPTP driver version 0.8.5
[ 1.507972] usbcore: registered new interface driver rtl8150
[ 1.514429] usbcore: registered new interface driver r8152
[ 1.520688] usbcore: registered new interface driver asix
[ 1.526836] usbcore: registered new interface driver ax88179_178a
[ 1.533758] usbcore: registered new interface driver cdc_ether
[ 1.540418] usbcore: registered new interface driver smsc75xx
[ 1.546965] usbcore: registered new interface driver smsc95xx
[ 1.553506] usbcore: registered new interface driver net1080
[ 1.559938] usbcore: registered new interface driver cdc_subset
[ 1.566674] usbcore: registered new interface driver zaurus
[ 1.573017] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
[ 1.581430] usbcore: registered new interface driver cdc_ncm
[ 1.587814] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.595525] get ehci0-controller, regulator_io is no nocare
[ 1.601813] get ehci0-controller wakeup-source is fail.
[ 1.607936] sunxi ehci0-controller don't init wakeup source
[ 1.614220] [sunxi-ehci0]: probe, pdev->name: 5101000.ehci0-controller, sunxi_ehci: 0xffffff8009695988, 0x:ffffff80097bc000, irq_no:164
[ 1.627936] [sunxi-ehci0]: Not init ehci0
[ 1.632585] get ehci1-controller, regulator_io is no nocare
[ 1.639064] [sunxi-ehci1]: probe, pdev->name: 5200000.ehci1-controller, sunxi_ehci: 0xffffff8009695d10, 0x:ffffff80097d7000, irq_no:166
[ 1.652795] 5200000.ehci1-controller supply drvvbus not found, using dummy regulator
[ 1.661648] sunxi-ehci 5200000.ehci1-controller: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.671866] sunxi-ehci 5200000.ehci1-controller: new USB bus registered, assigned bus number 1
[ 1.682114] sunxi-ehci 5200000.ehci1-controller: irq 358, io mem 0xffffffc03dab0810
[ 1.703547] sunxi-ehci 5200000.ehci1-controller: USB 0.0 started, EHCI 1.00
[ 1.712466] hub 1-0:1.0: USB hub found
[ 1.716739] hub 1-0:1.0: 1 port detected
[ 1.722051] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.729362] get ohci0-controller, regulator_io is no nocare
[ 1.735660] get ohci0-controller wakeup-source is fail.
[ 1.741759] sunxi ohci0-controller don't init wakeup source
[ 1.748166] [sunxi-ohci0]: probe, pdev->name: 5101000.ohci0-controller, sunxi_ohci: 0xffffff8009696420
[ 1.758647] [sunxi-ohci0]: Not init ohci0
[ 1.763278] get ohci1-controller, regulator_io is no nocare
[ 1.769843] [sunxi-ohci1]: probe, pdev->name: 5200000.ohci1-controller, sunxi_ohci: 0xffffff80096967a8
[ 1.780347] 5200000.ohci1-controller supply drvvbus not found, using dummy regulator
[ 1.789192] sunxi-ohci 5200000.ohci1-controller: SW USB2.0 'Open' Host Controller (OHCI) Driver
[ 1.799017] sunxi-ohci 5200000.ohci1-controller: new USB bus registered, assigned bus number 2
[ 1.808791] sunxi-ohci 5200000.ohci1-controller: irq 359, io mem 0xffffffc03dab0c00
[ 1.878552] hub 2-0:1.0: USB hub found
[ 1.882821] hub 2-0:1.0: 1 port detected
[ 1.888348] usbcore: registered new interface driver uas
[ 1.894462] usbcore: registered new interface driver usb-storage
[ 1.901298] usbcore: registered new interface driver ums-alauda
[ 1.908023] usbcore: registered new interface driver ums-cypress
[ 1.914849] usbcore: registered new interface driver ums-datafab
[ 1.921669] usbcore: registered new interface driver ums_eneub6250
[ 1.928688] usbcore: registered new interface driver ums-freecom
[ 1.935508] usbcore: registered new interface driver ums-isd200
[ 1.942234] usbcore: registered new interface driver ums-jumpshot
[ 1.949152] usbcore: registered new interface driver ums-karma
[ 1.955784] usbcore: registered new interface driver ums-onetouch
[ 1.962721] usbcore: registered new interface driver ums-realtek
[ 1.969549] usbcore: registered new interface driver ums-sddr09
[ 1.976272] usbcore: registered new interface driver ums-sddr55
[ 1.982999] usbcore: registered new interface driver ums-usbat
[ 1.989701] usbcore: registered new interface driver usbserial
[ 1.996477] usbcore: registered new interface driver option
[ 2.002809] usbserial: USB Serial support registered for GSM modem (1-port)
[ 2.010917] usb_serial_number:20080411
[ 2.015900] sunxikbd_key_init: key0 vol= 210 code= 115
[ 2.021704] sunxikbd_key_init: key1 vol= 410 code= 114
[ 2.027496] sunxikbd_key_init: key2 vol= 590 code= 139
[ 2.033292] sunxikbd_key_init: key3 vol= 750 code= 28
[ 2.038985] sunxikbd_key_init: key4 vol= 880 code= 102
[ 2.045114] input: sunxi-keyboard as /devices/virtual/input/input0
[ 2.054173] sunxi-rtc rtc: rtc core: registered sunxi-rtc as rtc0
[ 2.061111] sunxi-rtc rtc: RTC enabled
[ 2.065641] i2c /dev entries driver
[ 2.070579] sunxi cedar version 0.1
[ 2.074654] VE: install start!!!
[ 2.074654]
[ 2.080088] cedar_ve: cedar-ve the get irq is 347
[ 2.085789] VE: get debugfs_mpp_root is NULL, please check mpp
[ 2.085789]
[ 2.094033] VE: sunxi ve debug register driver failed!
[ 2.094033]
[ 2.103701] device-mapper: uevent: version 1.0.3
[ 2.109414] device-mapper: ioctl: 4.35.0-ioctl (2016-06-23) initialised: dm-devel@redhat.com
[ 2.119096] device-mapper: verity-avb: AVB error handler initialized with vbmeta device:
[ 2.128320] Bluetooth: HCI UART driver ver 2.3
[ 2.133336] Bluetooth: HCI UART protocol H4 registered
[ 2.139125] Bluetooth: HCI UART protocol LL registered
[ 2.144919] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 2.156174] sunxi-mmc sdc2: SD/MMC/SDIO Host Controller Driver(v3.46 2020-6-1 11:33-202006021635)
[ 2.166314] sunxi-mmc sdc2: No vmmc regulator found
[ 2.171822] sunxi-mmc sdc2: No vqmmc regulator found
[ 2.177418] sunxi-mmc sdc2: No vdmmc regulator found
[ 2.183017] sunxi-mmc sdc2: No vd33sw regulator found
[ 2.188708] sunxi-mmc sdc2: No vd18sw regulator found
[ 2.194403] sunxi-mmc sdc2: No vq33sw regulator found
[ 2.200094] sunxi-mmc sdc2: No vq18sw regulator found
[ 2.206387] sunxi-mmc sdc2: set host busy
[ 2.210991] mmc:failed to get gpios
[ 2.215201] sunxi-mmc sdc2: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.240217] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.266897] sunxi-mmc sdc2: detmode:alway in(non removable)
[ 2.266920] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.275286] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.276353] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.287208] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.287276] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.300121] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.344626] sun50iw10p1-pinctrl pio: expect_func as:uart0_jtag, but muxsel(3) is func:jtag0
[ 2.354060] sun50iw10p1-pinctrl pio: expect_func as:uart0_jtag, but muxsel(3) is func:jtag0
[ 2.363474] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.374356] sun50iw10p1-pinctrl pio: expect_func as:uart0_jtag, but muxsel(3) is func:uart0
[ 2.383796] sun50iw10p1-pinctrl pio: expect_func as:uart0_jtag, but muxsel(3) is func:jtag0
[ 2.393207] sun50iw10p1-pinctrl pio: expect_func as:uart0_jtag, but muxsel(3) is func:uart0
[ 2.402643] sun50iw10p1-pinctrl pio: expect_func as:uart0_jtag, but muxsel(3) is func:jtag0
[ 2.412374] sunxi-mmc sdc0: SD/MMC/SDIO Host Controller Driver(v3.46 2020-6-1 11:33-202006021635)
[ 2.422465] sunxi-mmc sdc0: ***ctl-spec-caps*** 8
[ 2.427776] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing MMC-HS(SDR20) dt B
[ 2.438629] sunxi-mmc sdc2: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 1 timing MMC-HS(SDR20) dt B
[ 2.449890] sunxi-mmc sdc2: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 8 timing MMC-HS(SDR20) dt B
[ 2.460871] sunxi-mmc sdc0: No vmmc regulator found
[ 2.460875] sunxi-mmc sdc0: No vqmmc regulator found
[ 2.460880] sunxi-mmc sdc0: No vdmmc regulator found
[ 2.460884] sunxi-mmc sdc0: No vd33sw regulator found
[ 2.460888] sunxi-mmc sdc0: No vd18sw regulator found
[ 2.460892] sunxi-mmc sdc0: No vq33sw regulator found
[ 2.460896] sunxi-mmc sdc0: No vq18sw regulator found
[ 2.466681] sunxi-mmc sdc0: set host busy
[ 2.466745] sunxi-mmc sdc0: Got CD GPIO
[ 2.467140] sunxi-mmc sdc0: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.467167] sunxi-mmc sdc0: no vqmmc,Check if there is regulator
[ 2.483616] sunxi-mmc sdc0: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.500583] sunxi-mmc sdc0: detmode:gpio irq
[ 2.500610] sunxi-mmc sdc0: sdc set ios:clk 0Hz bm PP pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
[ 2.502210] sunxi-mmc sdc1: SD/MMC/SDIO Host Controller Driver(v3.46 2020-6-1 11:33-202006021635)
[ 2.502287] sunxi-mmc sdc1: ***ctl-spec-caps*** 8
[ 2.502341] sunxi-mmc sdc1: No vmmc regulator found
[ 2.502346] sunxi-mmc sdc1: No vqmmc regulator found
[ 2.502350] sunxi-mmc sdc1: No vdmmc regulator found
[ 2.502354] sunxi-mmc sdc1: No vd33sw regulator found
[ 2.502358] sunxi-mmc sdc1: No vd18sw regulator found
[ 2.502362] sunxi-mmc sdc1: No vq33sw regulator found
[ 2.502366] sunxi-mmc sdc1: No vq18sw regulator found
[ 2.502869] sunxi-mmc sdc1: set host busy
[ 2.502944] mmc:failed to get gpios
[ 2.502969] sunxi-mmc sdc1: min-frequency:400000
[ 2.503199] sunxi-mmc sdc1: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.503223] sunxi-mmc sdc1: no vqmmc,Check if there is regulator
[ 2.517000] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.533617] sunxi-mmc sdc1: detmode:manually by software
[ 2.534454] sunxi-mmc sdc1: smc 2 p1 err, cmd 52, RTO !!
[ 2.534965] hidraw: raw HID events driver (C) Jiri Kosina
[ 2.535286] sunxi-mmc sdc1: smc 2 p1 err, cmd 52, RTO !!
[ 2.535312] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.537808] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.539712] sunxi-mmc sdc1: smc 2 p1 err, cmd 5, RTO !!
[ 2.540540] sunxi-mmc sdc1: smc 2 p1 err, cmd 5, RTO !!
[ 2.541368] sunxi-mmc sdc1: smc 2 p1 err, cmd 5, RTO !!
[ 2.542193] sunxi-mmc sdc1: smc 2 p1 err, cmd 5, RTO !!
[ 2.542231] sunxi-mmc sdc1: sdc set ios:clk 0Hz bm PP pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
[ 2.543879] usbcore: registered new interface driver usbhid
[ 2.543881] usbhid: USB HID core driver
[ 2.544434] ashmem: initialized
[ 2.546264] optee: probing for conduit method from DT.
[ 2.546271] optee: api uid mismatch
[ 2.546694] usbcore: registered new interface driver snd-usb-audio
[ 2.548450] u32 classifier
[ 2.548453] Actions configured
[ 2.548464] Netfilter messages via NETLINK v0.30.
[ 2.548481] nfnl_acct: registering with nfnetlink.
[ 2.548796] nf_conntrack version 0.5.0 (8192 buckets, 32768 max)
[ 2.549034] ctnetlink v0.93: registering with nfnetlink.
[ 2.549626] xt_time: kernel timezone is -0000
[ 2.549730] ipip: IPv4 and MPLS over IPv4 tunneling driver
[ 2.550499] gre: GRE over IPv4 demultiplexor driver
[ 2.550503] ip_gre: GRE over IPv4 tunneling driver
[ 2.551719] IPv4 over IPsec tunneling driver
[ 2.567675] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 2.567939] arp_tables: arp_tables: (C) 2002 David S. Miller
[ 2.573110] Initializing XFRM netlink socket
[ 2.573144] IPsec XFRM device driver
[ 2.574268] NET: Registered protocol family 10
[ 2.576111] mip6: Mobile IPv6
[ 2.576145] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 2.585456] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 2.586908] NET: Registered protocol family 17
[ 2.586941] NET: Registered protocol family 15
[ 2.586975] l2tp_core: L2TP core driver, V2.0
[ 2.586989] l2tp_ppp: PPPoL2TP kernel driver, V2.0
[ 2.589982] Registered cp15_barrier emulation handler
[ 2.590001] Registered setend emulation handler
[ 2.590946] registered taskstats version 1
[ 2.605774] get usb_detect_mode is fail, 22
[ 2.607059] sunxi-rtc rtc: setting system clock to 1970-01-01 00:00:05 UTC (5)
[ 2.608114] usb1-vbus: disabling
[ 2.608119] ALSA device list:
[ 2.608122] No soundcards found.
[ 2.917934] sunxi-mmc sdc2: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 8 timing MMC-DDR52 dt B
[ 2.920431] Freeing unused kernel memory: 4416K
[ 2.920525] Kernel init done
[ 2.928995] init: init first stage started!
[ 2.930355] init: [libfs_mgr]ReadFstabFromDt(): failed to read fstab from dt
[ 2.932911] init: Using Android DT directory /proc/device-tree/firmware/android/
[ 2.958459] mmc0: new DDR MMC card at address 0001
[ 2.968423] mmcblk0: mmc0:0001 8WPD3R 7.28 GiB
[ 2.977357] mmcblk0boot0: mmc0:0001 8WPD3R partition 1 4.00 MiB
[ 2.987815] mmcblk0boot1: mmc0:0001 8WPD3R partition 2 4.00 MiB
[ 2.998267] mmcblk0rpmb: mmc0:0001 8WPD3R partition 3 512 KiB
[ 3.007053] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17
[ 3.033971] init: [libfs_mgr]Created logical partition system on device /dev/block/dm-0
[ 3.045005] init: [libfs_mgr]Created logical partition vendor on device /dev/block/dm-1
[ 3.055862] init: [libfs_mgr]Created logical partition product on device /dev/block/dm-2
[ 3.065980] init: [libfs_mgr]superblock s_max_mnt_count:65535,/dev/block/by-name/metadata
[ 3.075358] init: [libfs_mgr]Filesystem on /dev/block/by-name/metadata was not cleanly shutdown; state flags: 0x1, incompat feature flags: 0x46
[ 3.090468] init: [libfs_mgr]check_fs(): mount(/dev/block/by-name/metadata,/metadata,ext4)=-1: No such file or directory
[ 3.102913] init: [libfs_mgr]Not running /system/bin/e2fsck on /dev/block/mmcblk0p11 (executable not in system image)
[ 3.121076] EXT4-fs (mmcblk0p11): recovery complete
[ 3.127172] EXT4-fs (mmcblk0p11): mounted filesystem with ordered data mode. Opts: errors=panic
[ 3.144387] EXT4-fs (dm-0): mounted filesystem without journal. Opts: barrier=1
[ 3.163297] EXT4-fs (dm-1): mounted filesystem without journal. Opts: barrier=1
[ 3.175873] EXT4-fs (dm-2): mounted filesystem without journal. Opts: barrier=1
[ 3.203165] init: 12 output lines suppressed due to ratelimiting
[ 3.218400] random: init: uninitialized urandom read (40 bytes read)
[ 3.370630] random: init: uninitialized urandom read (40 bytes read)
[ 3.395100] init: Loading SELinux policy
[ 3.420120] SELinux: 8192 avtab hash slots, 22205 rules.
[ 3.443382] SELinux: 8192 avtab hash slots, 22205 rules.
[ 3.449411] SELinux: 1 users, 4 roles, 1369 types, 0 bools, 1 sens, 1024 cats
[ 3.457596] SELinux: 97 classes, 22205 rules
[ 3.467126] SELinux: Completing initialization.
[ 3.472360] SELinux: Setting up existing superblocks.
[ 3.611267] audit: type=1403 audit(6.503:2): policy loaded auid=4294967295 ses=4294967295
[ 3.620814] selinux: SELinux: Loaded policy from /vendor/etc/selinux/precompiled_sepolicy
[ 3.620814]
[ 3.640703] selinux: SELinux: Skipping /product/etc/selinux/product_file_contexts: empty file
[ 3.640703]
[ 3.652508] selinux: SELinux: Loaded file_contexts
[ 3.652508]
[ 3.667333] random: init: uninitialized urandom read (40 bytes read)
[ 3.733358] init: init second stage started!
[ 3.787961] init: Using Android DT directory /proc/device-tree/firmware/android/
[ 3.805203] selinux: SELinux: Skipping /product/etc/selinux/product_file_contexts: empty file
[ 3.805203]
[ 3.817106] selinux: SELinux: Loaded file_contexts
[ 3.817106]
[ 3.824233] init: Running restorecon...
[ 3.850150] init: Overriding previous 'ro.' property 'pm.dexopt.shared':'speed' with new value 'quicken'
[ 3.864801] selinux: avc: denied { set } for scontext=u:r:vendor_init:s0 tcontext=u:object_r:default_prop:s0 tclass=property_service permissive=1
[ 3.864801]
[ 3.882627] selinux: avc: denied { set } for scontext=u:r:vendor_init:s0 tcontext=u:object_r:dalvik_prop:s0 tclass=property_service permissive=1
[ 3.882627]
[ 3.899392] init: Overriding previous 'ro.' property 'pm.dexopt.boot':'verify' with new value 'extract'
[ 3.910084] init: Overriding previous 'ro.' property 'dalvik.vm.heapsize':'256m' with new value '512m'
[ 4.138138] ueventd: ueventd started!
[ 4.148831] selinux: SELinux: Skipping /product/etc/selinux/product_file_contexts: empty file
[ 4.148831]
[ 4.160705] selinux: SELinux: Loaded file_contexts
[ 4.160705]
[ 4.162085] apexd: Bootstrap subcommand detected
[ 4.171959] apexd: Scanning /system/apex for embedded keys
[ 4.174140] apexd: Scanning /product/apex for embedded keys
[ 4.174358] apexd: ... does not exist. Skipping
[ 4.174571] apexd: Scanning /system/apex looking for APEX packages.
[ 4.174939] apexd: Found /system/apex/com.android.media
[ 4.175407] apexd: Skipped when bootstrapping
[ 4.175620] apexd: Found /system/apex/com.android.resolv
[ 4.176075] apexd: Skipped when bootstrapping
[ 4.176288] apexd: Found /system/apex/com.android.runtime.release
[ 4.183055] apexd: 9 output lines suppressed due to ratelimiting
[ 4.233369] ueventd: Parsing file /ueventd.rc...
[ 4.240231] ueventd: Parsing file /vendor/ueventd.rc...
[ 4.247299] ueventd: Parsing file /odm/ueventd.rc...
[ 4.252990] ueventd: Unable to read config file '/odm/ueventd.rc': open() failed: No such file or directory
[ 4.264050] ueventd: Parsing file /ueventd.sun50iw10p1.rc...
[ 4.270511] ueventd: Unable to read config file '/ueventd.sun50iw10p1.rc': open() failed: No such file or directory
[ 4.552809] ueventd: Coldboot took 0.268 seconds
[ 4.595741] Registered swp emulation handler
[ 4.674570] init: wait for '/dev/block/by-name/media_data' took 0ms
[ 4.691638] FAT-fs (mmcblk0p16): bogus number of reserved sectors
[ 4.698657] FAT-fs (mmcblk0p16): Can't find a valid FAT filesystem
[ 4.707430] random: fast init done
[ 4.749983] logd.auditd: start
[ 4.779235] fsck.f2fs: Info: Fix the reported corruption.
[ 4.779235]
[ 4.787216] fsck.f2fs: Info: No support kernel version!
[ 4.787216]
[ 4.795082] fsck.f2fs: Info: Segments per section = 1
[ 4.795082]
[ 4.802565] fsck.f2fs: Info: Sections per zone = 1
[ 4.802565]
[ 4.809892] fsck.f2fs: Info: sector size = 512
[ 4.809892]
[ 4.816651] fsck.f2fs: Info: total sectors = 6049759 (2953 MB)
[ 4.816651]
[ 4.824925] fsck.f2fs: Info: MKFS version
[ 4.824925]
[ 4.831180] fsck.f2fs: "4.9.170 #11 SMP PREEMPT Thu Aug 5 15:18:26 CST 2021"
[ 4.831180]
[ 4.841122] fsck.f2fs: Info: FSCK version
[ 4.841122]
[ 4.847446] fsck.f2fs: from "4.9.170 #11 SMP PREEMPT Thu Aug 5 15:18:26 CST 2021"
[ 4.847446]
[ 4.980878] F2FS-fs (mmcblk0p17): recover_inode: ino = 1b39, name = 46.proto, inline = b
[ 4.990535] F2FS-fs (mmcblk0p17): recover_dentry: ino = 1b39, name = 46.proto, dir = cdb, err = 0
[ 5.000564] F2FS-fs (mmcblk0p17): recover_data: ino = 1b39 (i_size: recover) recovered = 0, err = 0
[ 5.010763] F2FS-fs (mmcblk0p17): recover_inode: ino = 1b3b, name = drop37.tmp, inline = b
[ 5.022535] F2FS-fs (mmcblk0p17): recover_dentry: ino = 1b3b, name = drop37.tmp, dir = 58, err = 0
[ 5.032665] F2FS-fs (mmcblk0p17): recover_data: ino = 1b3b (i_size: recover) recovered = 0, err = 0
[ 5.042865] F2FS-fs (mmcblk0p17): recover_inode: ino = 1b3c, name = log-files.xml, inline = 1
[ 5.053354] F2FS-fs (mmcblk0p17): recover_dentry: ino = 1b3c, name = log-files.xml, dir = 57, err = 0
[ 5.063813] F2FS-fs (mmcblk0p17): recover_data: ino = 1b3c (i_size: recover) recovered = 1, err = 0
[ 5.074018] F2FS-fs (mmcblk0p17): recover_inode: ino = 1b3e, name = drop37.tmp, inline = b
[ 5.083380] F2FS-fs (mmcblk0p17): recover_dentry: ino = 1b3e, name = drop37.tmp, dir = 58, err = 0
[ 5.093559] F2FS-fs (mmcblk0p17): recover_data: ino = 1b3e (i_size: recover) recovered = 0, err = 0
[ 5.103763] F2FS-fs (mmcblk0p17): recover_inode: ino = 1b3f, name = log-files.xml, inline = 1
[ 5.113389] F2FS-fs (mmcblk0p17): recover_dentry: ino = 1b3f, name = log-files.xml, dir = 57, err = 0
[ 5.123828] F2FS-fs (mmcblk0p17): recover_data: ino = 1b3f (i_size: recover) recovered = 1, err = 0
[ 5.134030] F2FS-fs (mmcblk0p17): recover_inode: ino = 1b40, name = 46_task.xml, inline = b
[ 5.144205] F2FS-fs (mmcblk0p17): recover_dentry: ino = 1b40, name = 46_task.xml, dir = 87d, err = 0
[ 5.154535] F2FS-fs (mmcblk0p17): recover_data: ino = 1b40 (i_size: recover) recovered = 0, err = 0
[ 5.164738] F2FS-fs (mmcblk0p17): recover_inode: ino = 1b44, name = drop37.tmp, inline = b
[ 5.174086] F2FS-fs (mmcblk0p17): recover_dentry: ino = 1b44, name = drop37.tmp, dir = 58, err = 0
[ 5.184204] F2FS-fs (mmcblk0p17): recover_data: ino = 1b44 (i_size: recover) recovered = 0, err = 0
[ 5.194406] F2FS-fs (mmcblk0p17): recover_inode: ino = 1b45, name = log-files.xml, inline = 1
[ 5.204036] F2FS-fs (mmcblk0p17): recover_dentry: ino = 1b45, name = log-files.xml, dir = 57, err = 0
[ 5.214474] F2FS-fs (mmcblk0p17): recover_data: ino = 1b45 (i_size: recover) recovered = 1, err = 0
[ 5.224706] F2FS-fs (mmcblk0p17): recover_inode: ino = 1b47, name = drop37.tmp, inline = b
[ 5.234055] F2FS-fs (mmcblk0p17): recover_dentry: ino = 1b47, name = drop37.tmp, dir = 58, err = 0
[ 5.244165] F2FS-fs (mmcblk0p17): recover_data: ino = 1b47 (i_size: recover) recovered = 0, err = 0
[ 5.254367] F2FS-fs (mmcblk0p17): recover_inode: ino = 1b48, name = log-files.xml, inline = 1
[ 5.263987] F2FS-fs (mmcblk0p17): recover_dentry: ino = 1b48, name = log-files.xml, dir = 57, err = 0
[ 5.274418] F2FS-fs (mmcblk0p17): recover_data: ino = 1b48 (i_size: recover) recovered = 1, err = 0
[ 5.284620] F2FS-fs (mmcblk0p17): recover_inode: ino = 1b4a, name = drop37.tmp, inline = b
[ 5.293959] F2FS-fs (mmcblk0p17): recover_dentry: ino = 1b4a, name = drop37.tmp, dir = 58, err = 0
[ 5.304074] F2FS-fs (mmcblk0p17): recover_data: ino = 1b4a (i_size: recover) recovered = 0, err = 0
[ 5.314276] F2FS-fs (mmcblk0p17): recover_inode: ino = 1b4b, name = log-files.xml, inline = 1
[ 5.323898] F2FS-fs (mmcblk0p17): recover_dentry: ino = 1b4b, name = log-files.xml, dir = 57, err = 0
[ 5.334335] F2FS-fs (mmcblk0p17): recover_data: ino = 1b4b (i_size: recover) recovered = 1, err = 0
[ 5.351490] F2FS-fs (mmcblk0p17): checkpoint: version = 6e8c2f39
[ 5.358441] F2FS-fs (mmcblk0p17): Mounted with checkpoint version = 6e8c2f39
[ 5.369023] EXT4-fs (mmcblk0p7): Ignoring removed nomblk_io_submit option
[ 5.382881] EXT4-fs (mmcblk0p7): recovery complete
[ 5.388774] EXT4-fs (mmcblk0p7): mounted filesystem with ordered data mode. Opts: errors=remount-ro,nomblk_io_submit
[ 5.516141] EXT4-fs (mmcblk0p7): Ignoring removed nomblk_io_submit option
[ 5.525855] EXT4-fs (mmcblk0p7): mounted filesystem with ordered data mode. Opts: barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic
[ 5.569367] init: 14 output lines suppressed due to ratelimiting
[ 5.583708] zram0: detected capacity change from 0 to 760926208
[ 5.627711] mkswap: Swapspace size: 743088k, UUID=b7c67a4f-02ba-4a2c-a078-0c665891b1c2
[ 5.637636] Adding 743088k swap on /dev/block/zram0. Priority:-1 extents:1 across:743088k SS
console:/ $ [ 6.012945] usbcore: registered new interface driver uvcvideo
[ 6.019484] USB Video Class driver (1.1.1)
[ 6.251270] apexd: Marking APEXd as starting
[ 6.257255] apexd: Scanning /system/apex for embedded keys
[ 6.266316] apexd: Scanning /product/apex for embedded keys
[ 6.272787] apexd: ... does not exist. Skipping
[ 6.278024] apexd: Populating APEX database from mounts...
[ 6.284849] apexd: Failed to walk /product/apex : Can't open /product/apex for reading : No such file or directory
[ 6.297545] apexd: Found "/apex/com.android.runtime@1"
[ 6.303622] apexd: Found "/apex/com.android.tzdata@290000000"
[ 6.310561] apexd: 2 packages restored.
[ 6.315174] apexd: Scanning /data/apex/sessions looking for sessions to be activated.
[ 6.411385] vdc: Waited 0ms for vold
[ 6.518051] type=1400 audit(9.410:3): avc: denied { setattr } for comm="init" name="audio_d" dev="mmcblk0p17" ino=118 scontext=u:r:vendor_init:s0 tcontext=u:object_r:audio_rw_data_file:s0 tclass=dir permissive=1
[ 6.744413] logd.daemon: reinit
[ 6.879128] treadahead: go to process_files
[ 7.144183] file system registered
[ 7.196410] using random self ethernet address
[ 7.216963] using random host ethernet address
[ 7.258698] healthd: No battery devices found
[ 7.269546] healthd: battery none chg=
[ 7.399923] Bluetooth: XRadio Bluetooth LPM Mode Driver Ver 01.00.06
[ 7.624607] read descriptors
[ 7.630433] read strings
[ 7.694204] type=1400 audit(9.410:3): avc: denied { setattr } for comm="init" name="audio_d" dev="mmcblk0p17" ino=118 scontext=u:r:vendor_init:s0 tcontext=u:object_r:audio_rw_data_file:s0 tclass=dir permissive=1
[ 7.716467] type=1400 audit(10.576:4): avc: denied { create } for comm="audio@2.0-servi" scontext=u:r:hal_audio_default:s0 tcontext=u:r:hal_audio_default:s0 tclass=tcp_socket permissive=1
[ 7.735545] type=1400 audit(10.576:4): avc: denied { create } for comm="audio@2.0-servi" scontext=u:r:hal_audio_default:s0 tcontext=u:r:hal_audio_default:s0 tclass=tcp_socket permissive=1
[ 7.754430] type=1400 audit(10.576:5): avc: denied { setopt } for comm="audio@2.0-servi" scontext=u:r:hal_audio_default:s0 tcontext=u:r:hal_audio_default:s0 tclass=tcp_socket permissive=1
[ 7.773487] type=1400 audit(10.576:5): avc: denied { setopt } for comm="audio@2.0-servi" scontext=u:r:hal_audio_default:s0 tcontext=u:r:hal_audio_default:s0 tclass=tcp_socket permissive=1
[ 7.792400] type=1400 audit(10.576:6): avc: denied { bind } for comm="audio@2.0-servi" scontext=u:r:hal_audio_default:s0 tcontext=u:r:hal_audio_default:s0 tclass=tcp_socket permissive=1
[ 7.811260] type=1400 audit(10.576:6): avc: denied { bind } for comm="audio@2.0-servi" scontext=u:r:hal_audio_default:s0 tcontext=u:r:hal_audio_default:s0 tclass=tcp_socket permissive=1
[ 9.047565]
[ 9.047565] insmod_device_driver
[ 9.047565]
[ 9.447247] init: Received control message 'interface_start' for 'android.hardware.camera.provider@2.4::ICameraProvider/legacy/0' from pid: 1636 (/system/bin/hwservicemanager)
[ 9.468869] init: starting service 'vendor.camera-provider-2-4'...
[ 9.482033] init: couldn't write 1968 to /dev/cpuset/camera-daemon/tasks: No such file or directory
[ 9.484341] init: Received control message 'interface_start' for 'android.hardware.camera.provider@2.4::ICameraProvider/legacy/0' from pid: 1636 (/system/bin/hwservicemanager)
[ 10.880660] init: Service 'treadahead_process' (pid 1793) exited with status 0
[ 10.889032] init: Sending signal 9 to service 'treadahead_process' (pid 1793) process group...
[ 10.899342] libprocessgroup: Successfully killed process cgroup uid 0 pid 1793 in 0ms
[ 11.063476] init: Opened file '/d/mmc0/mmc0:0001/ext_csd', flags 0
[ 11.074690] pvrsrvkm: loading out-of-tree module taints kernel.
[ 11.183654] pvrsrvkm gpu: set gpu core rate:504000000 freq:504000000-950000uV dfs:0x00000001
[ 11.193185] pvrsrvkm gpu: set gpu core rate:504000000 freq:472500000-950000uV dfs:0x00000002
[ 11.202727] pvrsrvkm gpu: set gpu core rate:504000000 freq:441000000-950000uV dfs:0x00000004
[ 11.212273] pvrsrvkm gpu: set gpu core rate:252000000 freq:252000000-950000uV dfs:0x00000001
[ 11.222109] pvrsrvkm gpu: idle:0 dvfs:0 power:0 No mode:1 volt:0 core:504000000
[ 11.230481] PVR_K: 1815: Read BVNC 22.102.54.38 from HW device registers
[ 11.238168] PVR_K: 1815: RGX Device registered with BVNC 22.102.54.38
[ 11.246635] pvrsrvkm gpu: opp[1/4]: (252000000 Hz, 950000 uV)
[ 11.253161] pvrsrvkm gpu: opp[2/4]: (441000000 Hz, 950000 uV)
[ 11.259664] pvrsrvkm gpu: opp[3/4]: (472500000 Hz, 950000 uV)
[ 11.266168] pvrsrvkm gpu: opp[4/4]: (504000000 Hz, 950000 uV)
[ 11.273254] pvrsrvkm gpu: Cooling: power ops not registered, not enabling cooling
[ 11.287553] [drm] Initialized pvr 1.11.5516664 20170530 on minor 0
[ 11.297429] type=1400 audit(11.226:9): avc: denied { write } for comm="radio_monitor" name="uevent" dev="sysfs" ino=17766 scontext=u:r:radio_monitor:s0 tcontext=u:object_r:sysfs_usb:s0 tclass=file permissive=1
[ 11.318545] type=1400 audit(14.186:10): avc: denied { read } for comm="pvrsrvctl" name="modules" dev="proc" ino=4026532037 scontext=u:r:pvr:s0 tcontext=u:object_r:proc_modules:s0 tclass=file permissive=1
[ 11.320455] init: Service 'pvrsrvinit' (pid 1815) exited with status 0
[ 11.320495] init: Sending signal 9 to service 'pvrsrvinit' (pid 1815) process group...
[ 11.356477] type=1400 audit(14.186:10): avc: denied { read } for comm="pvrsrvctl" name="modules" dev="proc" ino=4026532037 scontext=u:r:pvr:s0 tcontext=u:object_r:proc_modules:s0 tclass=file permissive=1
[ 11.377249] type=1400 audit(14.210:11): avc: denied { open } for comm="pvrsrvctl" path="/proc/modules" dev="proc" ino=4026532037 scontext=u:r:pvr:s0 tcontext=u:object_r:proc_modules:s0 tclass=file permissive=1
[ 11.398756] type=1400 audit(14.210:11): avc: denied { open } for comm="pvrsrvctl" path="/proc/modules" dev="proc" ino=4026532037 scontext=u:r:pvr:s0 tcontext=u:object_r:proc_modules:s0 tclass=file permissive=1
[ 11.419976] type=1400 audit(14.210:12): avc: denied { getattr } for comm="pvrsrvctl" path="/proc/modules" dev="proc" ino=4026532037 scontext=u:r:pvr:s0 tcontext=u:object_r:proc_modules:s0 tclass=file permissive=1
[ 11.442822] PVR_K: 1820: RGX Firmware image 'rgx.fw.22.102.54.38' loaded
[ 11.531105] random: crng init done
[ 11.534939] random: 7 urandom warning(s) missed due to ratelimiting
[ 15.118719] healthd: battery none chg=
[ 15.136022] healthd: battery none chg=
[ 15.143077] healthd: battery none chg=
[ 15.512728] type=1400 audit(14.210:12): avc: denied { getattr } for comm="pvrsrvctl" path="/proc/modules" dev="proc" ino=4026532037 scontext=u:r:pvr:s0 tcontext=u:object_r:proc_modules:s0 tclass=file permissive=1
[ 15.535725] type=1400 audit(1628148019.150:13): avc: denied { read } for comm="android.ui" name="state" dev="sysfs" ino=17470 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=1
[ 15.557312] type=1400 audit(1628148019.150:13): avc: denied { read } for comm="android.ui" name="state" dev="sysfs" ino=17470 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=1
[ 15.587460] init: processing action (sys.sysctl.extra_free_kbytes=*) from (/init.rc:806)
[ 15.588917] binder: undelivered transaction 3238, process died.
[ 15.592211] init: Service 'vendor.camera-provider-2-4' (pid 1968) exited with status 0
[ 15.592271] init: Sending signal 9 to service 'vendor.camera-provider-2-4' (pid 1968) process group...
[ 15.595255] libprocessgroup: Successfully killed process cgroup uid 1047 pid 1968 in 0ms
[ 15.648771] type=1400 audit(1628148019.156:14): avc: denied { open } for comm="android.ui" path="/sys/devices/platform/ite66121/extcon/hdmi/state" dev="sysfs" ino=17470 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=1
[ 16.595374] acc_open
[ 16.597964] acc_release
[ 16.898462] init: Received control message 'interface_start' for 'android.hardware.wifi@1.0::IWifi/default' from pid: 1636 (/system/bin/hwservicemanager)
[ 16.918746] init: starting service 'vendor.wifi_hal_legacy'...
[ 16.932312] init: Received control message 'interface_start' for 'android.hardware.wifi@1.0::IWifi/default' from pid: 1636 (/system/bin/hwservicemanager)
[ 17.201150] libphy: gmac0: probed
[ 17.313934] sunxi-gmac gmac0 eth0: eth0: Type(7) PHY ID 001cc916 at 0 IRQ poll (gmac0-0:00)
[ 17.787532] ======== XRADIO WIFI OPEN ========
[ 17.807533] [XRADIO] Driver Label:XR_V02.16.84_P2P_HT40_01.40 Aug 5 2021 15:18:13
[ 17.823649] [XRADIO] Allocated hw_priv @ ffffffc01a21d7a0
[ 17.857781] sunxi-wlan soc@03000000:wlan@0: bus_index: 1
[ 17.944695] [XRADIO] Detect SDIO card 1
[ 17.944741] sunxi-mmc sdc1: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 17.944868] sunxi-mmc sdc1: no vqmmc,Check if there is regulator
[ 17.963108] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 17.985035] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 17.987594] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 18.034429] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
[ 18.107520] sunxi-mmc sdc1: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
[ 18.123847] sunxi-mmc sdc1: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 4 timing SD-HS(SDR25) dt B
[ 18.142165] mmc2: new high speed SDIO card at address 0001
[ 18.162442] [SBUS] XRadio Device:sdio clk=50000000
[ 18.185826] [XRADIO] XRADIO_HW_REV 1.0 detected.
[ 18.227511] [XRADIO] xradio_update_dpllctrl: DPLL_CTRL Sync=0x01400000.
[ 18.364005] [XRADIO] Bootloader complete
[ 18.604222] [XRADIO] Firmware completed.
[ 18.614345] [WSM] Firmware Label:XR_C09.08.52.64_DBG_02.100 2GHZ HT40 Jan 3 2020 13:14:37
[ 18.634046] [XRADIO] Firmware Startup Done.
[ 18.639208] [XRADIO_WRN] enable Multi-Rx!
[ 18.653164] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[ 18.744291] init: Received control message 'interface_start' for 'android.hardware.wifi.supplicant@1.0::ISupplicant/default' from pid: 1636 (/system/bin/hwservicemanager)
[ 18.799602] init: starting service 'wpa_supplicant'...
[ 18.836102] init: Created socket '/dev/socket/wpa_wlan0', mode 660, user 1010, group 1010
[ 19.011470] capability: warning: `wpa_supplicant' uses 32-bit capabilities (legacy support in use)
[ 19.164709] ieee80211_do_open: vif_type=2, p2p=0, ch=3, addr=94:17:db:1b:c0:08
[ 19.180766] [STA] !!!xradio_vif_setup: id=0, type=2, p2p=0, addr=94:17:db:1b:c0:08
[ 19.201771] [AP_WRN] BSS_CHANGED_ASSOC but driver is unjoined.
[ 19.228723] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 19.620774] ieee80211_do_open: vif_type=10, p2p=0, ch=3, addr=94:17:db:1b:c0:09
[ 19.630571] [STA] !!!xradio_vif_setup: id=2, type=10, p2p=0, addr=94:17:db:1b:c0:09
[ 22.321365] init: processing action (sys.boot_completed=1) from (/init.rc:800)
[ 22.337111] init: processing action (sys.boot_completed=1) from (/vendor/etc/init/hw/init.device.rc:44)
[ 22.338745] sdcardfs version 2.0
[ 22.338750] sdcardfs: dev_name -> /data/media
[ 22.338754] sdcardfs: options -> fsuid=1023,fsgid=1023,multiuser,derive_gid,default_normal,unshared_obb,mask=6,userid=0,gid=1015
[ 22.338760] sdcardfs: mnt -> ffffffc0169e8c60
[ 22.338853] sdcardfs: mounted on top of /data/media type f2fs
[ 22.342429] Remount options were mask=23,gid=9997 for vfsmnt ffffffc00ca5e720.
[ 22.342445] sdcardfs : options - debug:1
[ 22.342448] sdcardfs : options - gid:9997
[ 22.342451] sdcardfs : options - mask:23
[ 22.346855] Remount options were mask=7,gid=9997 for vfsmnt ffffffc00ca5f6e0.
[ 22.346988] sdcardfs : options - debug:1
[ 22.346993] sdcardfs : options - gid:9997
[ 22.346995] sdcardfs : options - mask:7
[ 22.348066] Remount options were mask=7,gid=9997 for vfsmnt ffffffc00ca60720.
[ 22.348078] sdcardfs : options - debug:1
[ 22.348082] sdcardfs : options - gid:9997
[ 22.348085] sdcardfs : options - mask:7
[ 22.519998] get ctp_power is fail, -22
[ 22.539240] sunxi_ctp_startup: ctp_power_io is invalid.
[ 22.545797] get ctp_gesture_wakeup fail, no gesture wakeup
[ 22.566117] 1-005d supply ctp not found, using dummy regulator
[ 22.739588] input: gt9xxnew_ts as /devices/virtual/input/input1
[ 22.747633] <<-GTP-ERROR->> File PID != Ic PID, update aborted!
[ 22.752218] init: Command 'insmod /vendor/modules/gt9xxnew_ts.ko' action=sys.boot_completed=1 (/vendor/etc/init/hw/init.device.rc:46) took 280ms and succeeded
[ 22.795783] <<-GTP-ERROR->> [update_proc]Check *.bin file fail.
[ 22.810689] init: Command 'insmod /vendor/modules/gt9xxnewdup_ts.ko' action=sys.boot_completed=1 (/vendor/etc/init/hw/init.device.rc:47) took 57ms and failed: finit_module for "/vendor/modules/gt9xxnewdup_ts.ko" failed: Operation not permitted
[ 22.852183] selinux: SELinux: Skipping restorecon on directory(/data/system_ce/0)
[ 22.852183]
[ 22.870931] init: processing action (sys.boot_completed=1) from (/system/etc/init/aw_thermal.rc:10)
[ 22.887257] init: starting service 'aw_thermal'...
[ 22.948185] init: Command 'start aw_thermal' action=sys.boot_completed=1 (/system/etc/init/aw_thermal.rc:11) took 65ms and succeeded
[ 23.010700] init: Async property child exited with status 0
[ 23.027486] init: processing action (sys.boot_completed=1 && sys.logbootcomplete=1) from (/system/etc/init/bootstat.rc:78)
[ 23.413615] [DISP] de_enhance_set_mode,line:474:
[ 23.420573] para excess! mode = 0, enhance_mode = 0, format=255
[ 23.433630] [DISP] de_enhance_set_mode,line:474:
[ 23.438699] para excess! mode = 0, enhance_mode = 0, format=255
[ 23.446241] [DISP] de_enhance_set_mode,line:474:
[ 23.451289] para excess! mode = 0, enhance_mode = 0, format=255
[ 23.458288] [DISP] de_enhance_set_mode,line:474:
[ 23.463786] para excess! mode = 0, enhance_mode = 1, format=255
[ 23.470716] [DISP] de_enhance_set_mode,line:474:
[ 23.476049] para excess! mode = 0, enhance_mode = 0, format=255
[ 23.483492] [DISP] de_enhance_set_mode,line:474:
[ 23.488825] para excess! mode = 0, enhance_mode = 0, format=255
[ 23.495781] [DISP] de_enhance_set_mode,line:474:
[ 23.501095] para excess! mode = 0, enhance_mode = 1, format=255
[ 23.508037] [DISP] de_enhance_set_mode,line:474:
[ 23.513330] para excess! mode = 0, enhance_mode = 0, format=255
[ 23.520781] [DISP] de_enhance_set_mode,line:474:
[ 23.526116] para excess! mode = 0, enhance_mode = 0, format=255
[ 23.533102] [DISP] de_enhance_set_mode,line:474:
[ 23.538644] para excess! mode = 0, enhance_mode = 1, format=255
[ 23.545640] [DISP] de_enhance_set_mode,line:474:
[ 23.550909] para excess! mode = 0, enhance_mode = 0, format=255
[ 23.573475] logd: logdr: UID=1036 GID=1023 PID=1890 b tail=0 logMask=19 pid=0 start=1628148019759408000ns timeout=0ns
[ 25.334748] BOOTEVENT: 25334.731777: OFF
[ 27.229633] apexd: Can't open /product/apex for reading : No such file or directory
[ 27.851087] init: Received control message 'start' for 'gsid' from pid: 2014 (system_server)
[ 27.861864] init: starting service 'gsid'...
[ 27.940771] init: Received control message 'stop' for 'gsid' from pid: 2014 (system_server)
[ 27.950691] init: Sending signal 9 to service 'gsid' (pid 3418) process group...
[ 27.965229] libprocessgroup: Successfully killed process cgroup uid 0 pid 3418 in 5ms
[ 27.979021] init: Service 'gsid' (pid 3418) received signal 9
[ 28.008625] type=1400 audit(1628148019.156:15): avc: denied { getattr } for comm="android.ui" path="/sys/devices/platform/ite66121/extcon/hdmi/state" dev="sysfs" ino=17470 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs:s0 tclass=file permissive=1
[ 28.036386] type=1400 audit(1628148031.653:16): avc: granted { read } for comm="main" name="u:object_r:net_dns_prop:s0" dev="tmpfs" ino=9680 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:net_dns_prop:s0 tclass=file app=com.android.email
[ 33.185142] type=1400 audit(1628148031.653:16): avc: granted { read } for comm="main" name="u:object_r:net_dns_prop:s0" dev="tmpfs" ino=9680 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:net_dns_prop:s0 tclass=file app=com.android.email
[ 33.210512] type=1400 audit(1628148036.830:17): avc: denied { dac_override } for comm="irqbalance" capability=1 scontext=u:r:shell:s0 tcontext=u:r:shell:s0 tclass=capability permissive=1
console:/ $
console:/ $
console:/ $
出厂固件是andorid
离线
离线
[ 113.670028] pwm device hdl is NULL
[ 113.911255] sun50iw10p1-pinctrl pio: expect_func as:lvds3, but muxsel(3) is func:lvds2
[ 113.920206] sun50iw10p1-pinctrl pio: expect_func as:lvds3, but muxsel(3) is func:lvds2
[ 113.929135] sun50iw10p1-pinctrl pio: expect_func as:lvds3, but muxsel(3) is func:lvds2
[ 113.938061] sun50iw10p1-pinctrl pio: expect_func as:lvds3, but muxsel(3) is func:lvds2
[ 113.946986] sun50iw10p1-pinctrl pio: expect_func as:lvds3, but muxsel(3) is func:lvds2
[ 113.955912] sun50iw10p1-pinctrl pio: expect_func as:lvds3, but muxsel(3) is func:lvds2
[ 113.964838] sun50iw10p1-pinctrl pio: expect_func as:lvds3, but muxsel(3) is func:lvds2
[ 113.973763] sun50iw10p1-pinctrl pio: expect_func as:lvds3, but muxsel(3) is func:lvds2
[ 113.982689] sun50iw10p1-pinctrl pio: expect_func as:lvds3, but muxsel(3) is func:lvds2
[ 113.991615] sun50iw10p1-pinctrl pio: expect_func as:lvds3, but muxsel(3) is func:lvds2
[ 114.524214] sunxi_ohci_hcd_shutdown, ohci0-controller is disable, need not shutdown
[ 114.532867] sunxi_ehci_hcd_shutdown, ehci0-controller is disable, need not shutdown
[ 114.541722] reboot: Restarting system with command 'efex'
[4037]HELLO! BOOT0 is starting!
[4040]BOOT0 commit : dc54be6
[4043]set pll start
[4045]periph0 has been enabled
[4049]set pll end
[4051][pmu]: bus read error
[4054][pmu]: bus read error
[4061]vaild para:1 select dram para0
[4065]board init ok
[4067]rtc[3] value = 0xa102
[4070]DRAM BOOT DRIVE INFO: V0.19
[4073]the chip id is 0x2400
[4076]the chip id is 0x2400
[4079]the chip id is 0x2400
[4081]the chip id is 0x2400
[4084]the chip id is 0x2400
[4087]chip id check OK
[4089]DRAM_VCC set to 1100 mv
[4092]DRAM CLK =792 MHZ
[4095]DRAM Type =8 (3:DDR3,4:DDR4,7:LPDDR3,8:LPDDR4)
[4103]DRAM SIZE =1024 MBytes, para1 = 30fa, para2 = 4000000, dram_tpr13 = 6063
[4115]DRAM simple test OK.
[4118]dram size =1024
[4120]chipid = 53002400
[4122]nsi init ok 2020-4-7
[4126]card no is 2
[4128]sdcard 2 line count 8
[4130][mmc]: mmc driver ver 2020-05-25 09:40
[4140][mmc]: Wrong media type 0x0
[4143][mmc]: ***Try SD card 2***
[4148][mmc]: mmc 2 cmd 8 timeout, err 100
[4152][mmc]: mmc 2 cmd 8 err 100
[4155][mmc]: mmc 2 send if cond failed
[4159][mmc]: mmc 2 cmd 55 timeout, err 100
[4164][mmc]: mmc 2 cmd 55 err 100
[4167][mmc]: mmc 2 send app cmd failed
[4171][mmc]: ***Try MMC card 2***
[4195][mmc]: RMCA OK!
[4198][mmc]: mmc 2 bias 4
[4201][mmc]: MMC 5.0
[4203][mmc]: HSSDR52/SDR25 8 bit
[4206][mmc]: 50000000 Hz
[4209][mmc]: 7456 MB
[4211][mmc]: ***SD/MMC 2 init OK!!!***
[4265]Loading boot-pkg Succeed(index=0).
[4269]Entry_name = u-boot
[4276]Entry_name = monitor
[4280]Entry_name = scp
[4288]set arisc reset to de-assert state
[4292]Entry_name = dtb
[4296]tunning data addr:0x4a0003e8
[4299]Jump to second Boot.
NOTICE: BL3-1: v1.0(debug):cc1f5d7
NOTICE: BL3-1: Built : 10:23:25, 2020-04-08
NOTICE: BL3-1 commit: 8
ERROR: Error initializing runtime service tspd_fast
NOTICE: BL3-1: Preparing for EL3 exit to normal world
NOTICE: BL3-1: Next image address = 0x4a000000
NOTICE: BL3-1: Next image spsr = 0x1d3
U-Boot 2018.05-00002-g27dfc9348f (Nov 06 2020 - 08:19:02 +0000) Allwinner Technology
[04.377]CPU: Allwinner Family
[04.380]Model: sun50iw10
I2C: ready
[04.625]DRAM: 1 GiB
[04.628]Relocation Offset is: 35f17000
[04.657]secure enable bit: 0
[04.660][ARISC] :arisc initialize
[04.665][ARISC ERROR] :get [allwinner,sunxi-hwspinlock] device node error
CACHE: Misaligned operation at range [7ffa72c0, 7ffa75d8]
[04.676][ARISC] :arisc para ok
[SCP] :sunxi-arisc driver begin startup 2
[SCP] :0x1
[SCP] :arisc version: [9b9b85f5ab606cc93b4061ac38834cab8a191a28rid-]
[SCP] :arisc startup ready
[SCP] :arisc startup notify message feedback
[SCP] :send hard sync feedback message: 0x900200
[SCP] :sunxi-arisc driver v1.10 is starting
[04.706][ARISC] :sunxi-arisc driver startup succeeded
[04.712]pmu_axp81X_probe pmic_bus_read fail
[04.716]pmu_axp858_probe pmic_bus_read fail
[04.720]PMU: no found
[04.722]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz MBus=400Mhz
[04.729]init_clocks:finish
[04.731]not need merged sunxi overlay
[04.734]drv_disp_init
request pwm success, pwm8:pwm8:0x300a000.
pwm_request: err:this pwm has been requested!
[04.770]drv_disp_init finish
[04.778]gic: sec monitor mode
[04.780]flash init start
[04.783]workmode = 0,storage type = 2
[04.786][mmc]: mmc driver ver uboot2018:2020-5-25 9:26:00-20201021190
[04.800][mmc]: SUNXI SDMMC Controller Version:0x50300
[04.824][mmc]: Best spd md: 2-HSDDR52/DDR50, freq: 2-50000000, Bus width: 8
[04.831]sunxi flash init ok
[04.834]Loading Environment from SUNXI_FLASH... OK
[04.843]no secure os for keybox operation
[04.846]try to burn key
[04.849]out of usb burn from boot: not need burn key
[04.854]boot_gui_init:start
[04.858]set disp.dev2_output_type fail. using defval=0
[04.863]disp 1, clk: pll(490000000),clk(490000000),dclk(70000000) dsi_rate(490000000)
clk real:pll(492000000),clk(492000000),dclk(70285714) dsi_rate(0)
[04.880]switch device: sel=1, type=1, mode=4, format=0, bits=0, eotf=4, cs=260
[04.887]boot_gui_init:finish
[04.890]bmp_name=bootlogo.bmp
2764856 bytes read in 32 ms (82.4 MiB/s)
[04.941]read item0 copy0
[04.944]Item0 (Map) magic is bad
[04.947]the secure storage item0 copy0 magic is bad
[04.951]Item0 (Map) magic is bad
[04.954]the secure storage item0 copy1 magic is bad
[04.959]Item0 (Map)[04.960]soc ic_ver:0x0, qa_val:0x0, markid:0x53002400 dclk[0-9999]
magic is bad
[04.968]the secure storage map is empty
[04.971]no item name device_unlock in the map
[04.975]no item name fastboot_status_flag in the map
[04.980]sunxi secure storage has no flag
[04.985][mmc]: delete mmc-hs400-1_8v from dtb
[04.989][mmc]: delete mmc-hs200-1_8v from dtb
[04.993][mmc]: get max-frequency ok 50000000 Hz
[04.999](weak)update dtb dram start
[05.003]update dtb dram end
[05.006]update dts
[05.008]no item name snum in the map
** Unrecognized filesystem type **
[05.021]load file(ULI/factory/snum.txt) error.
[05.025]no item name mac in the map
** Unrecognized filesystem type **
[05.038]load file(ULI/factory/mac.txt) error.
[05.042]no item name wifi_mac in the map
** Unrecognized filesystem type **
[05.055]load file(ULI/factory/wifi_mac.txt) error.
[05.060]no item name bt_mac in the map
[05.069]LCD open finish
** Unrecognized filesystem type **
[05.078]load file(ULI/factory/bt_mac.txt) error.
[05.082]no item name specialstr in the map
** Unrecognized filesystem type **
[05.096]load file(ULI/factory/specialstr.txt) error.
[05.109]update part info
[05.112]key 0
[05.115]misc partition found
[05.137]bootmode[2]:0x5a
[05.139][mmc]: mmc exit start
[05.158][mmc]: mmc 2 exit ok
[4037]HELLO! BOOT0 is starting!
[4040]BOOT0 commit : dc54be6
[4043]set pll start
[4045]periph0 has been enabled
[4049]set pll end
[4051][pmu]: bus read error
[4054][pmu]: bus read error
[4061]vaild para:1 select dram para0
[4065]board init ok
[4067]rtc[2] value = 0x5aa5a55a
[4070]rtc[3] value = 0xb00f
[4073]eraly jump fel
刷机失败???
离线
搞定
离线
朋友送的,我也不知道他哪里弄来的。
离线
① ② 这个地方是对应 /dev/fb0 /dev/fb1 的
左边这个配置,lcd0,lcd1 对应 /dev/fb1,/dev/fb0
右边这个配置,lcd0,lcd1 对应 /dev/fb0,/dev/fb1
但是改成这样之后,
...
dev0_screen_id = <0>;
...
dev1_screen_id = <1>;
...
就变这样了:
root@TinaLinux:/# cat /sys/class/disp/disp/attr/disp
0
离线
配置:
./build.sh config
编译uboot:
./build.sh brandy
或:
./build.sh bootloader
编译 dts:
./build.sh dts
编译 Linux:
./build.sh kernel
离线
build/mkcommon.sh 添加:
rootfs)
ACTION="mkrootfs;";
module=rootfs;
break;
;;
之后:
#!/bin/bash
#
# scripts/mkcommon.sh
# (c) Copyright 2013
# Allwinner Technology Co., Ltd. <www.allwinnertech.com>
# James Deng <csjamesdeng@allwinnertech.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
export LC_ALL=C
BR_SCRIPTS_DIR=$(cd $(dirname $0) && pwd)
BUILD_CONFIG=$BR_SCRIPTS_DIR/../.buildconfig
SKIP_BR=0
# source shflags
source ${BR_SCRIPTS_DIR}/shflags
if [ -f ${BUILD_CONFIG} ]; then
. ${BUILD_CONFIG}
LICHEE_TOP_DIR_NEW=$(cd $BR_SCRIPTS_DIR/.. && pwd)
if [ "$LICHEE_TOP_DIR_NEW" != "$LICHEE_TOP_DIR" ]; then
sed -i "s|$LICHEE_TOP_DIR|$LICHEE_TOP_DIR_NEW|g" ${BUILD_CONFIG}
. ${BUILD_CONFIG}
fi
fi
# define option, format:
# 'long option' 'default value' 'help message' 'short option'
# WARN: Don't modify default value, because we will check it later
DEFINE_string 'ic' '' 'ic to build, e.g. V316' 'i'
DEFINE_string 'kernel' '' 'Kernel to build, e.g. 3.3' 'k'
DEFINE_string 'board' '' 'Board to build, e.g. evb' 'b'
DEFINE_string 'flash' 'default' 'flash to build, e.g. nor' 'n'
DEFINE_string 'os' '' 'os to build, e.g. android bsp' 'o'
DEFINE_string 'module' 'all' 'Module to build, e.g. buildroot, kernel, uboot, clean' 'm'
DEFINE_boolean 'config' false 'Config compile platfom' 'c'
DEFINE_boolean 'force' false 'Force to build, clean some old files. ex, rootfs/' 'f'
FLAGS_HELP="Top level build script for lichee
Examples:
1. Build lichee, it maybe config platform options, if
you first use it. And it will pack firmware use default
argument.
$ ./build.sh
2. Configurate platform option
$ ./build.sh config
3. Autoconfigurete
$ ./build.sh autoconfig -i V316 -o bsp -n nor -b perf1
4. Pack linux, dragonboard image
$ ./build.sh pack[_<option>] e.g. debug, dump, prvt, verity
5. Build lichee using command argument
$ ./build.sh -i <ic> e.g. V316
6. Build module using command argument
$ ./build.sh -m <module>
7. Build special kernel
$ ./build.sh -k <kernel directly>
8. Build forcely to clean rootfs dir
$ ./build.sh -f
"
# Include base command!
source ${BR_SCRIPTS_DIR}/mkcmd.sh
# parse the command-line
FLAGS "$@" || exit $?
eval set -- "${FLAGS_ARGV}"
ic=${FLAGS_ic}
platform=${FLAGS_os}
kernel=${FLAGS_kernel}
board=${FLAGS_board}
flash=${FLAGS_flash}
module=${FLAGS_module}
config=${FLAGS_config}
force=""
################ Preset an empty command #################
function nfunc(){
echo "Begin Action"
}
ACTION=":;"
################ Parse other arguments ###################
while [ $# -gt 0 ]; do
case "$1" in
config*)
opt=${1##*_};
if [ "${opt}" == "all" ]; then
export CONFIG_ALL=${FLAGS_TRUE};
else
export CONFIG_ALL=${FLAGS_FALSE};
fi
FLAGS_config=${FLAGS_TRUE};
break;
;;
autoconfig)
ACTION="mk_autoconfig;"
FLAGS_config=${FLAGS_TRUE};
break;
;;
saveconfig)
if [ -n "$LICHEE_KERN_DEFCONF_ABSOLUTE" ] && \
[ -n "$LICHEE_KERN_DIR" ] && \
[ -n "$LICHEE_ARCH" ]; then
printf "\033[47;30mSave defconfig to $LICHEE_KERN_DEFCONF_ABSOLUTE...\033[0m\n"
(cd $LICHEE_KERN_DIR && make ARCH=$LICHEE_ARCH savedefconfig && mv defconfig $LICHEE_KERN_DEFCONF_ABSOLUTE)
if [ $? -ne 0 ]; then
printf "\033[47;31mSave defconfig fail!!!\033[0m\n"
exit 1
fi
printf "\033[47;30mComplete~\033[0m\n"
exit 0
fi
;;
gen*)
opt=${1##*_};
if [ "${opt}" == "config" ]; then
cd kernel/${LICHEE_KERN_VER}/
printf "\033[47;41mPrepare to use script to generate the android defconfig.\033[0m\n"
ARCH=${LICHEE_ARCH} ./scripts/kconfig/merge_config.sh \
arch/${LICHEE_ARCH}/configs/${LICHEE_CHIP}smp_defconfig \
kernel/configs/android-base.config \
kernel/configs/android-recommended.config \
kernel/configs/sunxi-recommended.config
if [ -f .config ]; then
printf "\033[47;41mComplete the build config,save to ${LICHEE_KERN_VER}/.config !!!\033[0m\n"
cp .config arch/${LICHEE_ARCH}/configs/${LICHEE_CHIP}smp_android_defconfig
fi
cd ..
exit 0
else
echo "Do not support this command!!"
exit 1
fi
break;
;;
pack*)
optlist=$(echo ${1#pack} | sed 's/_/ /g')
mode=""
for opt in $optlist; do
case "$opt" in
debug)
mode="$mode -d card0"
;;
dump)
mode="$mode -m dump"
;;
prvt)
mode="$mode -f prvt"
;;
secure)
mode="$mode -v secure"
;;
prev)
mode="$mode -s prev_refurbish"
;;
crash)
mode="$mode -m crashdump"
;;
vsp)
mode="$mode -t vsp"
;;
raw)
mode="$mode -w programmer"
;;
verity)
mode="$mode --verity"
;;
signfel)
mode="$mode --signfel"
;;
*)
mk_error "Invalid pack option $opt"
exit 1
;;
esac
done
######### Don't build other module, if pack firmware ########
ACTION="mkpack ${mode};";
module="";
break;
;;
buildroot)
ACTION="mkbr;";
module=buildroot;
break;
;;
rootfs)
ACTION="mkrootfs;";
module=rootfs;
break;
;;
ramfs)
ACTION="mkramfs;";
module=ramfs;
break;
;;
clean|distclean)
ACTION="mk${1};";
module="";
break;
;;
bootloader)
ACTION="mk${1};";
module="bootloader";
break;
;;
brandy)
ACTION="mk${1};";
module="brandy";
break;
;;
kernel)
ACTION="mkkernel;";
module="kernel";
break;
;;
dts)
ACTION="mkdts;";
module="";
break
;;
*) ;;
esac;
shift;
done
# if not .buildconfig or FLAGS_config equal FLAGS_TRUE, then mksetup.sh & exit
if [ ! -f ${BUILD_CONFIG} -o ${FLAGS_config} -eq ${FLAGS_TRUE} ]; then
#
# If we do config, it must be clean the old env var.
#
clean_old_env_var
if [ "x$1" == "xautoconfig" ]; then
tmp=${flash}
source ${BR_SCRIPTS_DIR}/mkcmd.sh
mk_autoconfig ${ic} ${platform} ${board} ${tmp} ${kernel}
exit 0;
fi
. ${BR_SCRIPTS_DIR}/mksetup.sh
if [ ${FLAGS_config} -eq ${FLAGS_TRUE} ]; then
exit 0;
fi
fi
if [ ${FLAGS_force} -eq ${FLAGS_TRUE} ]; then
force="f";
fi
if [ "x${LICHEE_LINUX_DEV}" = "xlongan" -o "x${LICHEE_LINUX_DEV}" = "xtinyos" ] ; then
SKIP_BR=0;
else
SKIP_BR=1;
fi
if [ -n "${platform}" -o -n "${ic}" \
-o -n "${kernel}" -o -n "${board}" ]; then \
if [ "${platform}" = "${ic}" ] ; then \
platform="linux";
fi
if ! init_ic ${ic} || \
! init_platforms ${platform} ; then \
mk_error "Invalid platform '${FLAGS_platform}'";
exit 1;
fi
if ! init_kern_ver ${kernel} ; then \
mk_error "Invalid kernel '${FLAGS_kernel}'";
exit 1;
fi
if [ ${FLAGS_board} ] && \
! init_boards ${LICHEE_CHIP} ${board} ; then \
mk_error "Invalid board '${FLAGS_board}'";
exit 1;
fi
fi
# mkdir output dir
check_output_dir
############### Append ',' end character #################
module="${module},"
while [ -n "${module}" ]; do
act=${module%%,*};
case ${act} in
all*)
ACTION="mklichee;";
module="";
break;
;;
uboot)
ACTION="${ACTION}mkboot;";
;;
clean)
ACTION="mkclean;";
module="";
;;
distclean)
ACTION="distclean;";
module="";
;;
esac
module=${module#*,};
done
#
# Execute the action list.
#
echo "ACTION List: ${ACTION}========"
action_exit_status=$?
while [ -n "${ACTION}" ]; do
act=${ACTION%%;*};
echo "Execute command: ${act} ${force}"
${act} ${force}
action_exit_status=$?
ACTION=${ACTION#*;};
done
exit ${action_exit_status}
编译根文件系统:
./build.sh rootfs
编译 Linux:
./build.sh kernel
修改文件 build/mkcmd.sh 函数的 mkrootfs( ),添加 rootfs_overlay/ 文件夹,这样每次执行 ./build.sh rootfs 都会把改文件夹的内容复制进去。
dragonboard)
prepare_dragonboard_toolchain
if [ -d ${LICHEE_DRAGONBAORD_DIR} ]; then
echo "Regenerating dragonboard Rootfs..."
(
cd ${LICHEE_DRAGONBAORD_DIR}; \
if [ ! -d "./rootfs" ]; then \
echo "extract dragonboard rootfs.tar.gz"; \
tar zxf ./common/rootfs/rootfs.tar.gz; \
fi
)
echo ${LICHEE_DRAGONBAORD_DIR}/rootfs/lib/modules
echo ${LICHEE_DRAGONBAORD_DIR}/rootfs_overlay/
mkdir -p ${LICHEE_DRAGONBAORD_DIR}/rootfs_overlay/
mkdir -p ${LICHEE_DRAGONBAORD_DIR}/rootfs/lib/modules
rm -rf ${LICHEE_DRAGONBAORD_DIR}/rootfs/lib/modules/*
cp -rf ${LICHEE_KERN_DIR}/output/lib/modules/* \
${LICHEE_DRAGONBAORD_DIR}/rootfs/lib/modules/
cp -rf ${LICHEE_DRAGONBAORD_DIR}/rootfs_overlay/* \
${LICHEE_DRAGONBAORD_DIR}/rootfs/
(cd ${LICHEE_DRAGONBAORD_DIR}/common/scripts; ./build.sh)
[ $? -ne 0 ] && mk_error "build rootfs Failed" && return 1
cp ${LICHEE_DRAGONBAORD_DIR}/rootfs.ext4 ${LICHEE_PLAT_OUT}
else
mk_error "no ${LICHEE_PLATFORM} in lichee,please git clone it under lichee"
exit 1
fi
;;
离线
果然在这个文档 [D1_Tina_Linux_存储_开发指南.pdf](https://whycan.com/files/202108/d1/D1_Tina_Linux_存储_开发指南.pdf) 找到 rootfs_data 了。
在 A100 的 SDK也找到这玩意,
**target/allwinner/xxx-a3/base-files/etc/config/fstab**
config 'global'
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '1'
config 'mount'
option target '/boot-res'
option device '/dev/by-name/boot-res'
option options 'ro,sync'
option enabled '1'
config 'mount'
option target '/mnt/UDISK'
option device '/dev/by-name/UDISK'
option options 'rw,async'
option enabled '1'
config 'mount'
option target '/overlay'
option device '/dev/by-name/rootfs_data'
option options 'rw,sync'
option enabled '1'
config 'mount'
option target '/mnt/SDCARD'
option device '/dev/mmcblk1'
option options 'rw,async'
option enabled '1'
config 'mount'
option target '/mnt/SDCARD'
option device '/dev/mmcblk1p1'
option options 'rw,async'
option enabled '1'
config 'mount'
option target '/mnt/exUDISK'
option device '/dev/sda1'
option options 'rw,async'
option enabled '1'
config 'mount'
option target '/mnt/exUDISK'
option device '/dev/sda'
option options 'rw,async'
option enabled '1'
**./device/config/chips/xxx/configs/a3/linux/sys_partition.fex**
;---------------------------------------------------------------------------------------------------
; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串
;---------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------
; 固件下载参数配置
;---------------------------------------------------------------------------------------------------
;***************************************************************************************************
; mbr的大小, 以Kbyte为单位
;***************************************************************************************************
[mbr]
size = 512
;***************************************************************************************************
; 分区配置
;
;
; partition 定义范例:
; [partition] ; //表示是一个分区
; name = USERFS2 ; //分区名称
; size = 16384 ; //分区大小 单位: 扇区.分区表示个数最多2^31 * 512 = 2T
; downloadfile = "123.fex" ; //下载文件的路径和名称,可以使用相对路径,相对是指相对于image.cfg文件所在分区。也可以使用绝对路径
; keydata = 1 ; //私有数据分区,重新量产数据将不丢失
; encrypt = 1 ; //采用加密方式烧录,将提供数据加密,但损失烧录速度
; = ? ; //私有用法
; verify = 1 ; //要求量产完成后校验是否正确
;
; 注:1、name唯一, 不允许同名
; 2、name最大12个字符
; 3、size = 0, 将创建一个无大小的空分区
; 4、为了安全和效率考虑,分区大小最好保证为16M字节的整数倍
;***************************************************************************************************
[partition_start]
[partition]
name = boot-resource
size = 512
downloadfile = "boot-resource.fex"
user_type = 0x8000
[partition]
name = env
size = 1024
downloadfile = "env.fex"
user_type = 0x8000
[partition]
name = env-redund
size = 1024
downloadfile = "env.fex"
user_type = 0x8000
[partition]
name = boot
size = 30720
downloadfile = "boot.fex"
user_type = 0x8000
[partition]
name = rootfs
size = 131072
downloadfile = "rootfs.fex"
user_type = 0x8000
[partition]
name = rootfs_data
;size = 61440
size = 8192
user_type = 0x8000
[partition]
name = private
size = 1024
user_type = 0x8000
; recovery分区说明
; 如果启用了OTA升级,默认以boot_initramfs.img作为recovery.fex,否则recovery.fex为空
[partition]
name = recovery
size = 32768
downloadfile = "recovery.fex"
user_type = 0x8000
;[partition]
; name = misc
; size = 1024
; user_type = 0x8000
[partition]
name = UDISK
user_type = 0x8100
rootfs_data 只有 size,没有 downloadfile。
离线
输入 part list sunxi_flash 0 命令获取eMMC分区列表:
=> part list sunxi_flash 0
Partition Map for UNKNOWN device 0 -- Partition Type: EFI
Part Start LBA End LBA Name
Attributes
Type GUID
Partition GUID
1 0x00012000 0x00019fff "boot-resource"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e45
2 0x0001a000 0x00021fff "env"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e46
3 0x00022000 0x00031fff "boot"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e47
4 0x00032000 0x00131fff "rootfs"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e48
5 0x00132000 0x00139fff "klog"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e49
6 0x0013a000 0x01d1efde "UDISK"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e4a
也可以先输入mmc info:
=> mmc info
curr_device:2
Device: SUNXI SD/MMC
Manufacturer ID: 15
OEM: 100
Name: AJTD4
Bus Speed: 50000000
Mode : MMC legacy
Rd Block Len: 512
MMC version 5.1
High Capacity: Yes
Capacity: 14.6 GiB
Bus Width: 8-bit DDR
Erase Group Size: 512 KiB
HC WP Group Size: 8 MiB
User Capacity: 14.6 GiB WRREL
Boot Capacity: 4 MiB ENH
RPMB Capacity: 4 MiB ENH
然后输入 mmc part:
=> mmc part
Partition Map for MMC device 2 -- Partition Type: EFI
Part Start LBA End LBA Name
Attributes
Type GUID
Partition GUID
1 0x00012000 0x00019fff "boot-resource"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e45
2 0x0001a000 0x00021fff "env"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e46
3 0x00022000 0x00031fff "boot"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e47
4 0x00032000 0x00131fff "rootfs"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e48
5 0x00132000 0x00139fff "klog"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e49
6 0x0013a000 0x01d1efde "UDISK"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e4a
=>
一样可以获取分区列表。
然后手动执行:
run setargs_mmc
mmc read 45000000 0x00022000 0x10000
bootm 45000000
可以手动引导启动Linux:
=> printenv
aaa=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
boot_fastboot=fastboot
boot_normal=sunxi_flash read 45000000 boot;bootm 45000000
boot_recovery=sunxi_flash read 45000000 recovery;bootm 45000000
bootcmd=run setargs_mmc boot_normal
bootdelay=0
bootreason=unknow
ccc=ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddz
cma=8M
console=ttyS0,115200
earlyprintk=sunxi-uart,0x05000000
fdtcontroladdr=7bed7240
fileaddr=40000000
filesize=2a3038
init=/init
initcall_debug=0
keybox_list=widevine,ec_key,ec_cert1,ec_cert2,ec_cert3,rsa_key,rsa_cert1,rsa_cert2,rsa_cert3
loglevel=8
mmc_root=/dev/mmcblk0p4
nand_root=/dev/nand0p4
partitions=boot-resource@mmcblk0p1:env@mmcblk0p2:boot@mmcblk0p3:rootfs@mmcblk0p4:klog@mmcblk0p5:UDISK@mmcblk0p6
rotpk_status=0
setargs_mmc=setenv bootargs earlyprintk=${earlyprintk} initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${mmc_root} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1
setargs_nand=setenv bootargs earlyprintk=${earlyprintk} initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1
snum=0c001415a0c08851e4d
Environment size: 1427/131068 bytes
=> run setargs_mmc
=> mmc read 45000000 0x00022000 0x10000
MMC read: dev # 2, block # 139264, count 65536 ... 65536 blocks read: OK
=> bootm 45000000
[282.345]in boot normal mode,pass normal para to cmdline
[282.351]android.hardware = sun50iw10p1
[282.354]androidboot.dtbo_idx can't findAndroid's image name: sun50i_arm64
[282.432]Starting kernel ...
[282.435][mmc]: mmc exit start
[282.454][mmc]: mmc 2 exit ok
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.9.170 (whycan@ubuntu) (gcc version 5.3.1 20160412 (Linaro GCC 5.3-2016.05) ) #2 SMP PREEMPT Mon Feb 7 21:04:51 CST 2022
[ 0.000000] Boot CPU: AArch64 Processor [410fd034]
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] disp reserve base 0x7bf65140 ,size 0x3e8000
[ 0.000000] cma: Reserved 8 MiB at 0x000000007f800000
[ 0.000000] On node 0 totalpages: 262144
[ 0.000000] DMA zone: 4096 pages used for memmap
[ 0.000000] DMA zone: 0 pages reserved
[ 0.000000] DMA zone: 262144 pages, LIFO batch:31
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.0 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: Trusted OS migration not required
[ 0.000000] psci: SMC Calling Convention v1.0
[ 0.000000] percpu: Embedded 23 pages/cpu @ffffffc03f705000 s53376 r8192 d32640 u94208
[ 0.000000] pcpu-alloc: s53376 r8192 d32640 u94208 alloc=23*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: enabling workaround for ARM erratum 845719
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 258048
[ 0.000000] Kernel command line: earlyprintk=sunxi-uart,0x05000000 initcall_debug=0 console=ttyS0,115200 loglevel=8 root=/dev/mmcblk0p4 init=/init partitions=boot-resource@mmcblk0p1:env@mmcblk0p2:boot@mmcblk0p3:rootfs@mmcblk0p4:klog@mmcblk0p5:UDISK@mmcblk0p6 cma=8M snum=0c001415a0c08851e4d mac_addr= wifi_mac= bt_mac= specialstr= gpt=1 androidboot.mode=normal androidboot.serialno=0c001415a0c08851e4d androidboot.hardware=sun50iw10p1 boot_type=2 androidboot.boot_type=2 androidboot.secure_os_exist=0 androidboot.trustchain=false gpt=1 uboot_message=2018.05(02/07/2022-22:08:09) disp_reserve=4096000,0x7bf65140 bootreason=unknow
[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
[ 0.000000] Memory: 975568K/1048576K available (11454K kernel code, 2200K rwdata, 4056K rodata, 4416K init, 602K bss, 64816K reserved, 8192K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] modules : 0xffffff8000000000 - 0xffffff8008000000 ( 128 MB)
[ 0.000000] vmalloc : 0xffffff8008000000 - 0xffffffbebfff0000 ( 250 GB)
[ 0.000000] .text : 0xffffff8008080000 - 0xffffff8008bb0000 ( 11456 KB)
[ 0.000000] .rodata : 0xffffff8008bb0000 - 0xffffff8008fb0000 ( 4096 KB)
[ 0.000000] .init : 0xffffff8008fb0000 - 0xffffff8009400000 ( 4416 KB)
[ 0.000000] .data : 0xffffff8009400000 - 0xffffff8009626008 ( 2201 KB)
[ 0.000000] .bss : 0xffffff8009626008 - 0xffffff80096bc998 ( 603 KB)
[ 0.000000] fixed : 0xffffffbefe7fb000 - 0xffffffbefec00000 ( 4116 KB)
[ 0.000000] PCI I/O : 0xffffffbefee00000 - 0xffffffbeffe00000 ( 16 MB)
[ 0.000000] vmemmap : 0xffffffbf00000000 - 0xffffffc000000000 ( 4 GB maximum)
[ 0.000000] 0xffffffbf00000000 - 0xffffffbf01000000 ( 16 MB actual)
[ 0.000000] memory : 0xffffffc000000000 - 0xffffffc040000000 ( 1024 MB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 64.
[ 0.000000] NR_IRQS:64 nr_irqs:64 0
[ 0.000000] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000000] arm_arch_timer: Architected cp15 timer(s) running at 24.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000004] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.008148] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=80000)
[ 0.018200] pid_max: default: 32768 minimum: 301
[ 0.023032] Security Framework initialized
[ 0.026879] SELinux: Initializing.
[ 0.030473] SELinux: Starting in permissive mode
[ 0.035135] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.041698] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.049568] ftrace: allocating 34576 entries in 136 pages
[ 0.134306] sched-energy: CPU device node has no sched-energy-costs
[ 0.134949] Invalid sched_group_energy for CPU0
[ 0.139487] CPU0: update cpu_capacity 1024
[ 0.153593] ASID allocator initialised with 32768 entries
[ 0.172500] BOOTEVENT: 172.490624: ON
[ 0.200562] Detected VIPT I-cache on CPU1
[ 0.200612] Invalid sched_group_energy for CPU1
[ 0.200615] CPU1: update cpu_capacity 1024
[ 0.200618] CPU1: Booted secondary processor [410fd034]
[ 0.223930] Detected VIPT I-cache on CPU2
[ 0.223957] Invalid sched_group_energy for CPU2
[ 0.223960] CPU2: update cpu_capacity 1024
[ 0.223962] CPU2: Booted secondary processor [410fd034]
[ 0.247343] Detected VIPT I-cache on CPU3
[ 0.247368] Invalid sched_group_energy for CPU3
[ 0.247371] CPU3: update cpu_capacity 1024
[ 0.247374] CPU3: Booted secondary processor [410fd034]
[ 0.247457] Brought up 4 CPUs
[ 0.298093] SMP: Total of 4 processors activated.
[ 0.302784] CPU features: detected feature: 32-bit EL0 Support
[ 0.308590] CPU features: detected feature: Kernel page table isolation (KPTI)
[ 0.319451] CPU: All CPU(s) started at EL1
[ 0.319860] alternatives: patching kernel code
[ 0.324468] Invalid sched_group_energy for CPU3
[ 0.328787] CPU3: update max cpu_capacity 1024
[ 0.333203] Invalid sched_group_energy for Cluster3
[ 0.338055] Invalid sched_group_energy for CPU2
[ 0.342562] Invalid sched_group_energy for Cluster2
[ 0.347415] Invalid sched_group_energy for CPU1
[ 0.351923] Invalid sched_group_energy for Cluster1
[ 0.356775] Invalid sched_group_energy for CPU0
[ 0.361282] Invalid sched_group_energy for Cluster0
[ 0.366664] CPU1: update max cpu_capacity 1024
[ 0.371280] devtmpfs: initialized
[ 0.412713] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370867519511994 ns
[ 0.416850] futex hash table entries: 1024 (order: 5, 131072 bytes)
[ 0.423648] atomic64_test: passed
[ 0.426348] pinctrl core: initialized pinctrl subsystem
[ 0.433612] NET: Registered protocol family 16
[ 0.437215] dump_class_init,861, success
[ 0.453277] cpuidle: using governor menu
[ 0.454604] sunxi iommu: irq = 9
[ 0.455385] vdso: 2 pages (1 code @ ffffff8008bb8000, 1 data @ ffffff8009404000)
[ 0.462180] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.470358] DMA: preallocated 256 KiB pool for atomic allocations
[ 0.477994] sun50iw10p1-r-pinctrl r_pio: initialized sunXi PIO driver
[ 0.498165] sun50iw10p1-pinctrl pio: initialized sunXi PIO driver
[ 0.502646] iommu: Adding device 1c0e000.ve to group 0
[ 0.510962] iommu: Adding device 6000000.disp to group 0
[ 0.511860] iommu: Adding device 6480000.g2d to group 0
[ 0.519814] iommu: Adding device csi0 to group 0
[ 0.520855] iommu: Adding device csi1 to group 0
[ 0.526118] iommu: Adding device 2108000.tdm to group 0
[ 0.530686] iommu: Adding device 2100000.isp to group 0
[ 0.535895] iommu: Adding device 2102000.isp to group 0
[ 0.540921] iommu: Adding device 2110000.scaler to group 0
[ 0.546382] iommu: Adding device 2110400.scaler to group 0
[ 0.551848] iommu: Adding device 2110800.scaler to group 0
[ 0.557291] iommu: Adding device 2110c00.scaler to group 0
[ 0.600707] pwm module init!
[ 0.605767] sunxi-pm debug v3.10
[ 0.607253] SCSI subsystem initialized
[ 0.608153] usbcore: registered new interface driver usbfs
[ 0.612647] usbcore: registered new interface driver hub
[ 0.617975] usbcore: registered new device driver usb
[ 0.623128] sunxi_i2c_adap_init()2541 - init
[ 0.627692] sunxi_i2c_probe()2289 - [i2c0] twi_drv_used = 0
[ 0.632689] sunxi_i2c_probe()2293 - [i2c0] twi_pkt_interval = 0
[ 0.638579] twi0 supply twi not found, using dummy regulator
[ 0.644293] twi_request_gpio()453 - [i2c0] init name: twi0
[ 0.650381] sunxi_i2c_probe()2289 - [i2c1] twi_drv_used = 0
[ 0.655220] sunxi_i2c_probe()2293 - [i2c1] twi_pkt_interval = 0
[ 0.661120] twi1 supply twi not found, using dummy regulator
[ 0.666814] twi_request_gpio()453 - [i2c1] init name: twi1
[ 0.673029] sunxi_i2c_probe()2289 - [i2c2] twi_drv_used = 0
[ 0.677755] sunxi_i2c_probe()2293 - [i2c2] twi_pkt_interval = 0
[ 0.683642] twi2 supply twi not found, using dummy regulator
[ 0.689344] twi_request_gpio()453 - [i2c2] init name: twi2
[ 0.695318] sunxi_i2c_probe()2289 - [i2c3] twi_drv_used = 0
[ 0.700284] sunxi_i2c_probe()2293 - [i2c3] twi_pkt_interval = 0
[ 0.706174] twi3 supply twi not found, using dummy regulator
[ 0.711895] twi_request_gpio()453 - [i2c3] init name: twi3
[ 0.717830] media: Linux media interface: v0.10
[ 0.721836] Linux video capture interface: v2.00
[ 0.727372] ion_parse_dt_heap_common: id 0 type 0 name sys_user align 1000
[ 0.733437] ion_parse_dt_heap_common: id 4 type 4 name cma align 1000
[ 0.739800] ion_parse_dt_heap_common: id 6 type 6 name secure align 1000
[ 0.746618] drm config service not available: FFFFFFFF
[ 0.751674] Advanced Linux Sound Architecture Driver Initialized.
[ 0.758204] Bluetooth: Core ver 2.22
[ 0.761081] NET: Registered protocol family 31
[ 0.765453] Bluetooth: HCI device and connection manager initialized
[ 0.771784] Bluetooth: HCI socket layer initialized
[ 0.776638] Bluetooth: L2CAP socket layer initialized
[ 0.781699] Bluetooth: SCO socket layer initialized
[ 0.787283] ncs8801s init:*************************
[ 0.791515] script_ncs8801s_gpio_init: ncs8801s is not used
[ 0.797408] clocksource: Switched to clocksource arch_sys_counter
[ 0.880067] VFS: Disk quotas dquot_6.6.0
[ 0.880209] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.888007] udc_init,0
[ 0.889217] NET: Registered protocol family 2
[ 0.904277] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.905752] TCP bind hash table entries: 8192 (order: 5, 131072 bytes)
[ 0.912341] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.918594] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 0.924446] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 0.931083] NET: Registered protocol family 1
[ 0.935380] Trying to unpack rootfs image as initramfs...
[ 1.090254] Freeing initrd memory: 2544K
[ 1.091674] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[ 1.098906] audit: initializing netlink subsys (disabled)
[ 1.101725] audit: type=2000 audit(0.930:1): initialized
[ 1.108074] workingset: timestamp_bits=45 max_order=18 bucket_order=0
[ 1.125195] Registering sdcardfs 0.1
[ 1.125754] ntfs: driver 2.1.32 [Flags: R/W].
[ 1.127958] fuse init (API version 7.26)
[ 1.133557] SELinux: Registering netfilter hooks
[ 1.140640] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[ 1.143450] io scheduler noop registered
[ 1.147340] io scheduler deadline registered
[ 1.151849] io scheduler cfq registered (default)
[ 1.157892] [DISP]disp_module_init
[ 1.160793] [DISP] disp_init,line:2260:
[ 1.163270] smooth display screen:1 type:1 mode:4
[ 1.251503] [DISP] lcd_clk_config,line:665:
[ 1.251550]▒ʂ▒▒▒▒▒▒Jj
[ 1.251550] clk real:pll(492000000),clk(492000000),dclk(70285714) dsi_rate(0)
[ 1.254601] [DISP]disp_module_init finish
[ 1.256651] uart uart0: get regulator failed
[ 1.256666] uart0 supply uart not found, using dummy regulator
[ 1.256930] uart0: ttyS0 at MMIO 0x5000000 (irq = 349, base_baud = 1500000) is a SUNXI
[ 1.256949] sw_console_setup()1731 - console setup baud 115200 parity n bits 8, flow n
[ 1.289884] console [ttyS0] enabled
[ 1.289884] console [ttyS0] enabled
[ 1.299414] bootconsole [earlycon0] disabled
[ 1.299414] bootconsole [earlycon0] disabled
[ 1.308491] uart uart1: get regulator failed
[ 1.316710] uart1 supply uart not found, using dummy regulator
[ 1.323535] uart1: ttyS1 at MMIO 0x5000400 (irq = 350, base_baud = 1500000) is a SUNXI
[ 1.333434] misc dump reg init
[ 1.337990] G2D: Module initialized.major:246
[ 1.344217] [drm] Initialized
[ 1.347743] Unable to detect cache hierarchy for CPU 0
[ 1.367056] brd: module loaded
[ 1.386024] loop: module loaded
[ 1.390441] zram: Added device: zram0
[ 1.394826] [NAND][NE] Not found valid nand node on dts
[ 1.401763] sunxi-wlan soc@03000000:wlan@0: wlan_busnum (1)
[ 1.408105] sunxi-wlan soc@03000000:wlan@0: Missing wlan_power.
[ 1.414785] sunxi-wlan soc@03000000:wlan@0: wlan_power_name ((null))
[ 1.421953] sunxi-wlan soc@03000000:wlan@0: Missing wlan_io_regulator.
[ 1.429313] sunxi-wlan soc@03000000:wlan@0: io_regulator_name ((null))
[ 1.436721] sunxi-wlan soc@03000000:wlan@0: wlan_regon gpio=357 mul-sel=1 pull=-1 drv_level=-1 data=0
[ 1.447527] sunxi-wlan soc@03000000:wlan@0: get gpio chip_en failed
[ 1.454593] sunxi-wlan soc@03000000:wlan@0: get gpio power_en failed
[ 1.461775] sunxi-wlan soc@03000000:wlan@0: wlan_hostwake gpio=358 mul-sel=1 pull=-1 drv_level=-1 data=0
[ 1.472927] sunxi-wlan soc@03000000:wlan@0: clk not config
[ 1.479119] sunxi-wlan soc@03000000:wlan@0: dcxo not config
[ 1.485423] sunxi-wlan soc@03000000:wlan@0: pinctrl_lookup_state(default) failed! return ffffffffffffffed
[ 1.497256] [ADDR_MGT] addr_mgt_probe: success.
[ 1.504437] it6612_init-<629>:it6612 init:*************************
[ 1.512198] it6612_probe-<497>:it6612 probe:*************************
[ 1.525407] twi_stop()514 - [i2c0] STOP can't sendout!
[ 1.531183] sunxi_i2c_core_process()1751 - [i2c0] STOP failed!
[ 1.537762] sunxi_i2c_do_xfer()1946 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4c)
[ 1.550267] twi_stop()524 - [i2c1] i2c state(0x0) isn't idle(0xf8)
[ 1.557214] sunxi_i2c_core_process()1751 - [i2c1] STOP failed!
[ 1.563828] sunxi_i2c_do_xfer()1946 - [i2c1] incomplete xfer (status: 0xff, dev addr: 0x4c)
[ 1.586546] twi_stop()524 - [i2c2] i2c state(0x0) isn't idle(0xf8)
[ 1.593493] sunxi_i2c_core_process()1751 - [i2c2] STOP failed!
[ 1.600094] sunxi_i2c_do_xfer()1946 - [i2c2] incomplete xfer (status: 0xff, dev addr: 0x4c)
[ 1.609737] sunxi_i2c_do_xfer()1946 - [i2c3] incomplete xfer (status: 0x20, dev addr: 0x4c)
[ 1.619857] libphy: Fixed MDIO Bus: probed
[ 1.624499] tun: Universal TUN/TAP device driver, 1.6
[ 1.630191] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[ 1.638995] gmac-power0: NULL
[ 1.642352] gmac-power1: NULL
[ 1.645699] gmac-power2: NULL
[ 1.649945] PPP generic driver version 2.4.2
[ 1.655038] PPP BSD Compression module registered
[ 1.660345] PPP Deflate Compression module registered
[ 1.666050] PPP MPPE Compression module registered
[ 1.671465] NET: Registered protocol family 24
[ 1.676463] PPTP driver version 0.8.5
[ 1.680959] usbcore: registered new interface driver rtl8150
[ 1.687451] usbcore: registered new interface driver r8152
[ 1.693703] usbcore: registered new interface driver asix
[ 1.699847] usbcore: registered new interface driver ax88179_178a
[ 1.706774] usbcore: registered new interface driver cdc_ether
[ 1.713424] usbcore: registered new interface driver smsc75xx
[ 1.719975] usbcore: registered new interface driver smsc95xx
[ 1.726516] usbcore: registered new interface driver net1080
[ 1.732949] usbcore: registered new interface driver cdc_subset
[ 1.739685] usbcore: registered new interface driver zaurus
[ 1.746019] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
[ 1.754450] usbcore: registered new interface driver cdc_ncm
[ 1.760828] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.768546] get ehci0-controller, regulator_io is no nocare
[ 1.774836] get ehci0-controller wakeup-source is fail.
[ 1.780968] sunxi ehci0-controller don't init wakeup source
[ 1.787258] [sunxi-ehci0]: probe, pdev->name: 5101000.ehci0-controller, sunxi_ehci: 0xffffff80096a7ac0, 0x:ffffff80097d6000, irq_no:164
[ 1.800969] [sunxi-ehci0]: Not init ehci0
[ 1.805620] get ehci1-controller, regulator_io is no nocare
[ 1.812097] [sunxi-ehci1]: probe, pdev->name: 5200000.ehci1-controller, sunxi_ehci: 0xffffff80096a7e48, 0x:ffffff80097f1000, irq_no:166
[ 1.825829] 5200000.ehci1-controller supply drvvbus not found, using dummy regulator
[ 1.834680] sunxi-ehci 5200000.ehci1-controller: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.844899] sunxi-ehci 5200000.ehci1-controller: new USB bus registered, assigned bus number 1
[ 1.855124] sunxi-ehci 5200000.ehci1-controller: irq 358, io mem 0xffffffc03daa8410
[ 1.874097] sunxi-ehci 5200000.ehci1-controller: USB 0.0 started, EHCI 1.00
[ 1.883019] hub 1-0:1.0: USB hub found
[ 1.887292] hub 1-0:1.0: 1 port detected
[ 1.892591] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.899905] get ohci0-controller, regulator_io is no nocare
[ 1.906203] get ohci0-controller wakeup-source is fail.
[ 1.912304] sunxi ohci0-controller don't init wakeup source
[ 1.918713] [sunxi-ohci0]: probe, pdev->name: 5101000.ohci0-controller, sunxi_ohci: 0xffffff80096a8558
[ 1.929194] [sunxi-ohci0]: Not init ohci0
[ 1.933850] get ohci1-controller, regulator_io is no nocare
[ 1.940414] [sunxi-ohci1]: probe, pdev->name: 5200000.ohci1-controller, sunxi_ohci: 0xffffff80096a88e0
[ 1.950925] 5200000.ohci1-controller supply drvvbus not found, using dummy regulator
[ 1.959777] sunxi-ohci 5200000.ohci1-controller: SW USB2.0 'Open' Host Controller (OHCI) Driver
[ 1.969602] sunxi-ohci 5200000.ohci1-controller: new USB bus registered, assigned bus number 2
[ 1.979378] sunxi-ohci 5200000.ohci1-controller: irq 359, io mem 0xffffffc03daa8800
[ 2.049105] hub 2-0:1.0: USB hub found
[ 2.053374] hub 2-0:1.0: 1 port detected
[ 2.058958] usbcore: registered new interface driver uas
[ 2.065074] usbcore: registered new interface driver usb-storage
[ 2.071905] usbcore: registered new interface driver ums-alauda
[ 2.078628] usbcore: registered new interface driver ums-cypress
[ 2.085454] usbcore: registered new interface driver ums-datafab
[ 2.092273] usbcore: registered new interface driver ums_eneub6250
[ 2.099292] usbcore: registered new interface driver ums-freecom
[ 2.106110] usbcore: registered new interface driver ums-isd200
[ 2.112841] usbcore: registered new interface driver ums-jumpshot
[ 2.119758] usbcore: registered new interface driver ums-karma
[ 2.126387] usbcore: registered new interface driver ums-onetouch
[ 2.133324] usbcore: registered new interface driver ums-realtek
[ 2.140149] usbcore: registered new interface driver ums-sddr09
[ 2.146872] usbcore: registered new interface driver ums-sddr55
[ 2.153599] usbcore: registered new interface driver ums-usbat
[ 2.160302] usbcore: registered new interface driver usbserial
[ 2.167079] usbcore: registered new interface driver option
[ 2.173407] usbserial: USB Serial support registered for GSM modem (1-port)
[ 2.181515] usb_serial_number:20080411
[ 2.186509] sunxikbd_key_init: key0 vol= 210 code= 115
[ 2.192313] sunxikbd_key_init: key1 vol= 410 code= 114
[ 2.198105] sunxikbd_key_init: key2 vol= 590 code= 139
[ 2.203900] sunxikbd_key_init: key3 vol= 750 code= 28
[ 2.209599] sunxikbd_key_init: key4 vol= 880 code= 102
[ 2.215720] input: sunxi-keyboard as /devices/virtual/input/input0
[ 2.224761] sunxi-rtc rtc: rtc core: registered sunxi-rtc as rtc0
[ 2.231696] sunxi-rtc rtc: RTC enabled
[ 2.236225] i2c /dev entries driver
[ 2.241140] sunxi cedar version 0.1
[ 2.245222] VE: install start!!!
[ 2.245222]
[ 2.250657] cedar_ve: cedar-ve the get irq is 347
[ 2.256355] VE: get debugfs_mpp_root is NULL, please check mpp
[ 2.256355]
[ 2.264593] VE: sunxi ve debug register driver failed!
[ 2.264593]
[ 2.274256] device-mapper: uevent: version 1.0.3
[ 2.279979] device-mapper: ioctl: 4.35.0-ioctl (2016-06-23) initialised: dm-devel@redhat.com
[ 2.289663] device-mapper: verity-avb: AVB error handler initialized with vbmeta device:
[ 2.298884] Bluetooth: HCI UART driver ver 2.3
[ 2.303901] Bluetooth: HCI UART protocol H4 registered
[ 2.309695] Bluetooth: HCI UART protocol LL registered
[ 2.315483] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 2.323590] sunxi_cpufreq_init: only one opp_table
[ 2.329005] [cpu_freq] ERR: DEBUG: get cpu 0 device
[ 2.334548] [cpu_freq] ERR: Unable to get regulator, use the dummy
[ 2.341575] cpu0 supply dummy not found, using dummy regulator
[ 2.348224] core: (null) get dummy regulator
[ 2.354139] cpu cpu0: _set_opp_voltage: failed to set voltage (0 0 0 mV): -22
[ 2.365620] sunxi-mmc sdc2: SD/MMC/SDIO Host Controller Driver(v3.46 2020-6-1 11:33-202006021635)
[ 2.375745] sunxi-mmc sdc2: No vmmc regulator found
[ 2.381246] sunxi-mmc sdc2: No vqmmc regulator found
[ 2.386834] sunxi-mmc sdc2: No vdmmc regulator found
[ 2.392426] sunxi-mmc sdc2: No vd33sw regulator found
[ 2.398110] sunxi-mmc sdc2: No vd18sw regulator found
[ 2.403799] sunxi-mmc sdc2: No vq33sw regulator found
[ 2.409486] sunxi-mmc sdc2: No vq18sw regulator found
[ 2.415796] sunxi-mmc sdc2: set host busy
[ 2.420383] mmc:failed to get gpios
[ 2.424562] sunxi-mmc sdc2: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.450758] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.477436] sunxi-mmc sdc2: detmode:alway in(non removable)
[ 2.477457] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.485809] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.486871] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.497706] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.497766] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.510593] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.555116] sun50iw10p1-pinctrl pio: expect_func as:uart0_jtag, but muxsel(3) is func:jtag0
[ 2.564538] sun50iw10p1-pinctrl pio: expect_func as:uart0_jtag, but muxsel(3) is func:jtag0
[ 2.573941] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.584794] sun50iw10p1-pinctrl pio: expect_func as:uart0_jtag, but muxsel(3) is func:uart0
[ 2.594224] sun50iw10p1-pinctrl pio: expect_func as:uart0_jtag, but muxsel(3) is func:jtag0
[ 2.603624] sun50iw10p1-pinctrl pio: expect_func as:uart0_jtag, but muxsel(3) is func:uart0
[ 2.613047] sun50iw10p1-pinctrl pio: expect_func as:uart0_jtag, but muxsel(3) is func:jtag0
[ 2.622726] sunxi-mmc sdc0: SD/MMC/SDIO Host Controller Driver(v3.46 2020-6-1 11:33-202006021635)
[ 2.632803] sunxi-mmc sdc0: ***ctl-spec-caps*** 8
[ 2.638105] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing MMC-HS(SDR20) dt B
[ 2.648947] sunxi-mmc sdc2: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 1 timing MMC-HS(SDR20) dt B
[ 2.660177] sunxi-mmc sdc2: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 8 timing MMC-HS(SDR20) dt B
[ 2.671141] sunxi-mmc sdc0: No vmmc regulator found
[ 2.671145] sunxi-mmc sdc0: No vqmmc regulator found
[ 2.671149] sunxi-mmc sdc0: No vdmmc regulator found
[ 2.671152] sunxi-mmc sdc0: No vd33sw regulator found
[ 2.671156] sunxi-mmc sdc0: No vd18sw regulator found
[ 2.671159] sunxi-mmc sdc0: No vq33sw regulator found
[ 2.671163] sunxi-mmc sdc0: No vq18sw regulator found
[ 2.676926] sunxi-mmc sdc0: set host busy
[ 2.676986] sunxi-mmc sdc0: Got CD GPIO
[ 2.677305] sunxi-mmc sdc0: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.677329] sunxi-mmc sdc0: no vqmmc,Check if there is regulator
[ 2.690822] sunxi-mmc sdc0: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.707696] sunxi-mmc sdc0: detmode:gpio irq
[ 2.707719] sunxi-mmc sdc0: sdc set ios:clk 0Hz bm PP pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
[ 2.709234] sunxi-mmc sdc1: SD/MMC/SDIO Host Controller Driver(v3.46 2020-6-1 11:33-202006021635)
[ 2.709310] sunxi-mmc sdc1: ***ctl-spec-caps*** 8
[ 2.709356] sunxi-mmc sdc1: No vmmc regulator found
[ 2.709359] sunxi-mmc sdc1: No vqmmc regulator found
[ 2.709363] sunxi-mmc sdc1: No vdmmc regulator found
[ 2.709366] sunxi-mmc sdc1: No vd33sw regulator found
[ 2.709370] sunxi-mmc sdc1: No vd18sw regulator found
[ 2.709373] sunxi-mmc sdc1: No vq33sw regulator found
[ 2.709377] sunxi-mmc sdc1: No vq18sw regulator found
[ 2.709898] sunxi-mmc sdc1: set host busy
[ 2.709961] mmc:failed to get gpios
[ 2.709982] sunxi-mmc sdc1: min-frequency:400000
[ 2.710191] sunxi-mmc sdc1: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.710213] sunxi-mmc sdc1: no vqmmc,Check if there is regulator
[ 2.724152] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.740827] sunxi-mmc sdc1: detmode:manually by software
[ 2.741536] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.743984] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.745100] hidraw: raw HID events driver (C) Jiri Kosina
[ 2.745632] sunxi-mmc sdc1: card claims to support voltages below defined range
[ 2.748392] usbcore: registered new interface driver usbhid
[ 2.748395] usbhid: USB HID core driver
[ 2.748785] ashmem: initialized
[ 2.750212] optee: probing for conduit method from DT.
[ 2.750220] optee: api uid mismatch
[ 2.750589] usbcore: registered new interface driver snd-usb-audio
[ 2.752204] u32 classifier
[ 2.752214] Actions configured
[ 2.752224] Netfilter messages via NETLINK v0.30.
[ 2.752240] nfnl_acct: registering with nfnetlink.
[ 2.752512] nf_conntrack version 0.5.0 (8192 buckets, 32768 max)
[ 2.752722] ctnetlink v0.93: registering with nfnetlink.
[ 2.753191] xt_time: kernel timezone is -0000
[ 2.753286] ipip: IPv4 and MPLS over IPv4 tunneling driver
[ 2.753944] gre: GRE over IPv4 demultiplexor driver
[ 2.753947] ip_gre: GRE over IPv4 tunneling driver
[ 2.755128] IPv4 over IPsec tunneling driver
[ 2.755567] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
[ 2.755705] sunxi-mmc sdc1: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
[ 2.755880] sunxi-mmc sdc1: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 4 timing SD-HS(SDR25) dt B
[ 2.756671] mmc2: new high speed SDIO card at address 0001
[ 2.772606] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 2.772836] arp_tables: arp_tables: (C) 2002 David S. Miller
[ 2.777839] Initializing XFRM netlink socket
[ 2.777874] IPsec XFRM device driver
[ 2.778560] NET: Registered protocol family 10
[ 2.780144] mip6: Mobile IPv6
[ 2.780172] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 2.789904] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 2.791247] NET: Registered protocol family 17
[ 2.791275] NET: Registered protocol family 15
[ 2.791307] l2tp_core: L2TP core driver, V2.0
[ 2.791319] l2tp_ppp: PPPoL2TP kernel driver, V2.0
[ 2.794507] Registered cp15_barrier emulation handler
[ 2.794520] Registered setend emulation handler
[ 2.795293] registered taskstats version 1
[ 2.807574] cpu cpu1: dev_pm_opp_set_prop_name: Already have prop-name a0
[ 2.807582] cpu cpu2: dev_pm_opp_set_prop_name: Already have prop-name a0
[ 2.807587] cpu cpu3: dev_pm_opp_set_prop_name: Already have prop-name a0
[ 2.808154] get usb_detect_mode is fail, 22
[ 2.811589] sunxi-rtc rtc: setting system clock to 1970-01-01 00:03:54 UTC (234)
[ 2.812556] usb1-vbus: disabling
[ 2.812560] ALSA device list:
[ 2.812562] No soundcards found.
[ 2.815076] Freeing unused kernel memory: 4416K
[ 2.815146] Kernel init done
[ 3.160156] sunxi-mmc sdc2: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 8 timing MMC-DDR52 dt B
[ 3.171128] mmc0: new DDR MMC card at address 0001
[ 3.177656] mmcblk0: mmc0:0001 AJTD4R 14.6 GiB
[/init]: getty is ttyS0
[ 3.183829] mmcblk0boot0: mmc0:0001 AJTD4R partition 1 4.00 MiB
[/init]: RootDevice is "/dev/mmc[ 3.192004] mmcblk0boot1: mmc0:0001 AJTD4R partition 2 4.00 MiB
blk0p4" , GPT_SUPPORT=1
[/init][ 3.198163] random: fast init done
: Try to load EMMC ...
[/init]:[ 3.207868] mmcblk0rpmb: mmc0:0001 AJTD4R partition 3 4.00 MiB
Wait /dev/mmcblk0p4 ready ...
[ 3.218609] mmcblk0: p1 p2 p3 p4 p5 p6
e2fsck 1.42.12 (29-Aug-2014)
/dev/mmcblk0p4: recovering journal
/dev/mmcblk0p4: clean, 1167/8192 files, 28398/32768 blocks
[ 4.212897] EXT4-fs (mmcblk0p4): barriers disabled
[ 4.219477] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: noauto_da_alloc,barrier=0,data=ordered
mount: mounting proc on /proc failed: Device or resource busy
m[ 4.326521] EXT4-fs (mmcblk0p4): re-mounted. Opts: nobarrier,noauto_da_alloc,data=ordered
ount: mounting sysfs on /sys failed: Device or resource busy
insmod: can't insert '/lib/modules/4.9.170/disp.ko': No such file or directory
boot-res device: /dev/mmcblk0p1
[ 4.362603] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
login[1088]: root login on 'ttyS0'
nand activated #0
[ 4.488990] get ctp_power is fail, -22
[ 4.493264] sunxi_ctp_startup: ctp_power_io is invalid.
[ 4.499206] get ctp_gesture_wakeup fail, no gesture wakeup
[ 4.505396] 1-005d supply ctp not found, using dummy regulator
[ 4.647197] twi_stop()524 - [i2c1] i2c state(0x0) isn't idle(0xf8)
[ 4.654137] sunxi_i2c_core_process()1751 - [i2c1] STOP failed!
[ 4.660773] sunxi_i2c_do_xfer()1946 - [i2c1] incomplete xfer (status: 0xff, dev addr: 0x5d)
[ 4.673227] twi_stop()524 - [i2c1] i2c state(0x0) isn't idle(0xf8)
[ 4.680166] sunxi_i2c_core_process()1751 - [i2c1] STOP failed!
[ 4.686739] sunxi_i2c_do_xfer()1946 - [i2c1] incomplete xfer (status: 0xff, dev addr: 0x5d)
[ 4.699397] twi_stop()524 - [i2c1] i2c state(0x0) isn't idle(0xf8)
[ 4.706336] sunxi_i2c_core_process()1751 - [i2c1] STOP failed!
[ 4.712911] sunxi_i2c_do_xfer()1946 - [i2c1] incomplete xfer (status: 0xff, dev addr: 0x5d)
[ 4.725376] twi_stop()524 - [i2c1] i2c state(0x0) isn't idle(0xf8)
[ 4.732315] sunxi_i2c_core_process()1751 - [i2c1] STOP failed!
[ 4.738891] sunxi_i2c_do_xfer()1946 - [i2c1] incomplete xfer (status: 0xff, dev addr: 0x5d)
[ 4.751377] twi_stop()524 - [i2c1] i2c state(0x0) isn't idle(0xf8)
[ 4.758316] sunxi_i2c_core_process()1751 - [i2c1] STOP failed!
[ 4.764894] sunxi_i2c_do_xfer()1946 - [i2c1] incomplete xfer (status: 0xff, dev addr: 0x5d)
[ 4.774298] <<-GTP-ERROR->> I2C Read: 0x8140, 6 bytes failed, errcode: -70! Process reset.
[ 4.877449] <<-GTP-ERROR->> GTP read version failed
[ 4.882949] Read version failed.
[ 4.889498] twi_stop()524 - [i2c1] i2c state(0x0) isn't idle(0xf8)
[ 4.896635] sunxi_i2c_core_process()1751 - [i2c1] STOP failed!
[ 4.903225] sunxi_i2c_do_xfer()1946 - [i2c1] incomplete xfer (status: 0xff, dev addr: 0x5d)
[ 4.916026] twi_stop()524 - [i2c1] i2c state(0x0) isn't idle(0xf8)
[ 4.922964] sunxi_i2c_core_process()1751 - [i2c1] STOP failed!
[ 4.929537] sunxi_i2c_do_xfer()1946 - [i2c1] incomplete xfer (status: 0xff, dev addr: 0x5d)
[ 4.942086] twi_stop()524 - [i2c1] i2c state(0x0) isn't idle(0xf8)
[ 4.949025] sunxi_i2c_core_process()1751 - [i2c1] STOP failed!
[ 4.955597] sunxi_i2c_do_xfer()1946 - [i2c1] incomplete xfer (status: 0xff, dev addr: 0x5d)
[ 4.968198] twi_stop()524 - [i2c1] i2c state(0x0) isn't idle(0xf8)
[ 4.975138] sunxi_i2c_core_process()1751 - [i2c1] STOP failed!
[ 4.981713] sunxi_i2c_do_xfer()1946 - [i2c1] incomplete xfer (status: 0xff, dev addr: 0x5d)
[ 4.994218] twi_stop()524 - [i2c1] i2c state(0x0) isn't idle(0xf8)
[ 5.001157] sunxi_i2c_core_process()1751 - [i2c1] STOP failed!
[ 5.007732] sunxi_i2c_do_xfer()1946 - [i2c1] incomplete xfer (status: 0xff, dev addr: 0x5d)
[ 5.017135] <<-GTP-ERROR->> I2C Read: 0x8047, 240 bytes failed, errcode: -70! Process reset.
[ 5.120780] <<-GTP-ERROR->> Read Config Failed, Using Default Resolution & INT Trigger!
[ 5.144404] input: gt9xxnew_ts as /devices/virtual/input/input1
script_fetch device name is gt9xxnew_ts
Found tp device_name is gt9xxnew_ts, event num is 1
Found tp event num is /dev/input/event1
camera activated #0
camera not activated
root@dragonboard:~#
root@dragonboard:~#
root@dragonboard:~#
root@dragonboard:~# dragonboard(msg): core: parse script /boot/test_config.fex...
dragonboard(debug): the length of script is 10140
dragonboard(debug): allocate share memory segment for script buffer failed(Function not implemented)
dragonboard(error): core: parse script failed
[ 9.260812]
[ 9.260812] insmod_device_driver
[ 9.260812]
-------swith to adb....
[ 10.499075] file system registered
init adb main
[ 10.525409] read descriptors
Handling main()
[ 10.529305] read strings
-------swith to adb done!
[ 11.696672] sunxi_set_cur_vol_work()403 WARN: get power supply failed
[ 11.786942] android_work: sent uevent USB_STATE=CONNECTED
[ 11.793039] sunxi_set_cur_vol_work()403 WARN: get power supply failed
[ 11.919066] configfs-gadget gadget: high-speed config #1: c
[ 11.925418] android_work: sent uevent USB_STATE=CONFIGURED
[ 13.340062] adbd (1221): /proc/1221/oom_adj is deprecated, please use /proc/1221/oom_score_adj instead.
root@dragonboard:~#
root@dragonboard:~#
离线
用uboot命令查看分区与文件:
切换到 eMMC:
=> mmc dev 2
[27.544][mmc]: Best spd md: 2-HSDDR52/DDR50, freq: 2-50000000, Bus width: 8
switch to partitions #0, OK
mmc2(part 0) is current device
=>
再瞅一次分区:
=> mmc part
Partition Map for MMC device 2 -- Partition Type: EFI
Part Start LBA End LBA Name
Attributes
Type GUID
Partition GUID
1 0x00012000 0x00019fff "boot-resource"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e45
2 0x0001a000 0x00021fff "env"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e46
3 0x00022000 0x00031fff "boot"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e47
4 0x00032000 0x00131fff "rootfs"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e48
5 0x00132000 0x00139fff "klog"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e49
6 0x0013a000 0x01d1efde "UDISK"
attrs: 0x8000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0085546-4166-744a-a353-fca9272b8e4a
=>
然后就可以查看分区信息与文件了:
=> fatinfo mmc 2:1
Interface: MMC
Device 2: Vendor: Man 000015 Snr fc7e4f81 Rev: 0.3 Prod: AJTD4R
Type: Removable Hard Disk
Capacity: 14910.0 MB = 14.5 GB (30535680 x 512)
Filesystem: FAT16 "Volumn"
=> fatls mmc 2:1
344813 font24.sft
357443 font32.sft
2764856 bootlogo.bmp
bat/
10140 test_config.fex
189966 fastbootlogo.bmp
wavefile/
10240 test_config.bin
512 magic.bin
7 file(s), 2 dir(s)
=>
离线
[ 2.126916] sunxi_cpufreq_init: only one opp_table
[ 2.132333] [cpu_freq] ERR: DEBUG: get cpu 0 device
[ 2.137870] [cpu_freq] ERR: Unable to get regulator, use the dummy
[ 2.144908] cpu0 supply dummy not found, using dummy regulator
[ 2.151558] core: (null) get dummy regulator
[ 2.157473] cpu cpu0: _set_opp_voltage: failed to set voltage (0 0 0 mV): -22
[ 2.168949] sunxi-mmc sdc2: SD/MMC/SDIO Host Controller Driver(v3.46 2020-6-1 11:33-202006021635)
[ 2.179088] sunxi-mmc sdc2: No vmmc regulator found
[ 2.184586] sunxi-mmc sdc2: No vqmmc regulator found
[ 2.190182] sunxi-mmc sdc2: No vdmmc regulator found
[ 2.195773] sunxi-mmc sdc2: No vd33sw regulator found
[ 2.201466] sunxi-mmc sdc2: No vd18sw regulator found
[ 2.207154] sunxi-mmc sdc2: No vq33sw regulator found
[ 2.212847] sunxi-mmc sdc2: No vq18sw regulator found
[ 2.219145] sunxi-mmc sdc2: set host busy
[ 2.223737] mmc:failed to get gpios
[ 2.227895] sunxi-mmc sdc2: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.254174] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.280852] sunxi-mmc sdc2: detmode:alway in(non removable)
[ 2.280872] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.289228] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.290290] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.301134] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.301196] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.314032] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.359182] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 2.361009] hidraw: raw HID events driver (C) Jiri Kosina
[ 2.363340] usbcore: registered new interface driver usbhid
[ 2.363342] usbhid: USB HID core driver
[ 2.364587] ashmem: initialized
[ 2.366234] optee: probing for conduit method from DT.
[ 2.366243] optee: api uid mismatch
[ 2.366618] usbcore: registered new interface driver snd-usb-audio
[ 2.368138] u32 classifier
[ 2.368140] Actions configured
[ 2.368149] Netfilter messages via NETLINK v0.30.
[ 2.368164] nfnl_acct: registering with nfnetlink.
[ 2.368442] nf_conntrack version 0.5.0 (8192 buckets, 32768 max)
[ 2.368649] ctnetlink v0.93: registering with nfnetlink.
[ 2.369104] xt_time: kernel timezone is -0000
[ 2.369192] ipip: IPv4 and MPLS over IPv4 tunneling driver
[ 2.369786] gre: GRE over IPv4 demultiplexor driver
[ 2.369790] ip_gre: GRE over IPv4 tunneling driver
[ 2.370771] IPv4 over IPsec tunneling driver
[ 2.382389] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 2.382616] arp_tables: arp_tables: (C) 2002 David S. Miller
[ 2.386681] Initializing XFRM netlink socket
[ 2.386713] IPsec XFRM device driver
[ 2.387400] NET: Registered protocol family 10
[ 2.389329] mip6: Mobile IPv6
[ 2.389358] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 2.391214] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 2.392529] NET: Registered protocol family 17
[ 2.392555] NET: Registered protocol family 15
[ 2.392584] l2tp_core: L2TP core driver, V2.0
[ 2.392596] l2tp_ppp: PPPoL2TP kernel driver, V2.0
[ 2.396018] Registered cp15_barrier emulation handler
[ 2.396030] Registered setend emulation handler
[ 2.396805] registered taskstats version 1
[ 2.409204] cpu cpu1: dev_pm_opp_set_prop_name: Already have prop-name a0
[ 2.409211] cpu cpu2: dev_pm_opp_set_prop_name: Already have prop-name a0
[ 2.409216] cpu cpu3: dev_pm_opp_set_prop_name: Already have prop-name a0
[ 2.409798] get usb_detect_mode is fail, 22
[ 2.413847] sunxi-rtc rtc: setting system clock to 1970-01-01 00:00:19 UTC (19)
[ 2.414926] usb1-vbus: disabling
[ 2.414931] ALSA device list:
[ 2.414933] No soundcards found.
[ 2.589139] VFS: Cannot open root device "mmcblk0p4" or unknown-block(0,0): error -6
[ 2.597912] Please append a correct "root=" boot option; here are the available partitions:
[ 2.607329] 0100 8192 ram0 (driver?)
[ 2.612552] 0101 8192 ram1 (driver?)
[ 2.617776] 0102 8192 ram2 (driver?)
[ 2.623002] 0103 8192 ram3 (driver?)
[ 2.628238] 0104 8192 ram4 [ 2.628301] sunxi-mmc sdc2: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing MMC-HS(SDR20) dt B
[ 2.632332] sunxi-mmc sdc2: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 1 timing MMC-HS(SDR20) dt B
[ 2.654012] (driver?)
[ 2.654069] sunxi-mmc sdc2: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 8 timing MMC-HS(SDR20) dt B
[ 2.667849] 0105 8192 ram5 (driver?)
[ 2.671944] sunxi-mmc sdc2: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 8 timing MMC-DDR52 dt B
[ 2.683648] 0106 8192 ram6 (driver?)
[ 2.688870] 0107 8192 ram7 [ 2.688934] mmc0: new DDR MMC card at address 0001
[ 2.689656] mmcblk0: mmc0:0001 8WPD3R 7.28 GiB
[ 2.689956] mmcblk0boot0: mmc0:0001 8WPD3R partition 1 4.00 MiB
[ 2.693658] mmcblk0boot1: mmc0:0001 8WPD3R partition 2 4.00 MiB
[ 2.697293] mmcblk0rpmb: mmc0:0001 8WPD3R partition 3 512 KiB
[ 2.723282] (driver?)
[ 2.723378] mmcblk0: p1 p2 p3 p4 p5 p6
[ 2.730501] 0108 8192 ram8 (driver?)
[ 2.735716] 0109 8192 ram9 (driver?)
[ 2.740936] 010a 8192 ram10 (driver?)
[ 2.746248] 010b 8192 ram11 (driver?)
[ 2.751565] 010c 8192 ram12 (driver?)
[ 2.756871] 010d 8192 ram13 (driver?)
[ 2.762182] 010e 8192 ram14 (driver?)
[ 2.767504] 010f 8192 ram15 (driver?)
[ 2.772830] b300 7634944 mmcblk0 driver: mmcblk
[ 2.778836] b301 16384 mmcblk0p1 a0085546-4166-744a-a353-fca9272b8e45
[ 2.787265] b302 16384 mmcblk0p2 a0085546-4166-744a-a353-fca9272b8e46
[ 2.795700] b303 32768 mmcblk0p3 a0085546-4166-744a-a353-fca9272b8e47
[ 2.804130] b304 524288 mmcblk0p4 a0085546-4166-744a-a353-fca9272b8e48
[ 2.812565] b305 16384 mmcblk0p5 a0085546-4166-744a-a353-fca9272b8e49
[ 2.821005] b306 6991855 mmcblk0p6 a0085546-4166-744a-a353-fca9272b8e4a
[ 2.829443] b330 512 mmcblk0rpmb (driver?)
[ 2.835340] b320 4096 mmcblk0boot1 (driver?)
[ 2.841338] b310 4096 mmcblk0boot0 (driver?)
[ 2.847331] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 2.856626] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.170 #3
[ 2.863375] Hardware name: sun50iw10 (DT)
[ 2.867879] Call trace:
[ 2.870633] [<ffffff800808bfb8>] dump_backtrace+0x0/0x2b8
[ 2.876702] [<ffffff800808c294>] show_stack+0x24/0x30
[ 2.882382] [<ffffff800847c0e0>] dump_stack+0x90/0xb0
[ 2.888062] [<ffffff80081c41c8>] panic+0x148/0x374
[ 2.893448] [<ffffff8008fa1158>] mount_block_root+0x21c/0x2fc
[ 2.899906] [<ffffff8008fa13f0>] mount_root+0x74/0x84
[ 2.905583] [<ffffff8008fa1568>] prepare_namespace+0x168/0x1b0
[ 2.912140] [<ffffff8008fa0d74>] kernel_init_freeable+0x1bc/0x1e0
[ 2.918991] [<ffffff8008b8f410>] kernel_init+0x18/0x120
[ 2.924864] [<ffffff80080834f0>] ret_from_fork+0x10/0x20
[ 2.930831] SMP: stopping secondary CPUs
[ 2.935248] Kernel Offset: disabled
[ 2.939180] Memory Limit: none
[ 2.942627] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 2.952794] sunxi dump enabled
[ 2.956222] dump regs done
[ 2.959312] flush cache done
[ 2.962560] crashdump enter
NOTICE: sunxi_usb_dev_register
NOTICE: sunxi_usb_main_loop
感觉这个AIC800的 SDC2 有问题,但是不确定是硬件问题,还是软件问题,需要文件系统的时候eMMC却没有就绪,但是最终挂载成功,系统却宕机了。
怪不得出厂的 rootfs 用 initramfs了。
离线
挂载文件系统延迟一点点,移到后面去就好了,
不知道怎么改。
离线
./build.sh pack 打包:
make: Entering directory '/opt/sw509/longan/kernel/linux-4.9/modules/gpu'
make -j -C img-rgx/linux/rogue_km/build/linux/sunxi_linux BUILD=release
make[1]: Entering directory '/opt/sw509/longan/kernel/linux-4.9/modules/gpu/img-rgx/linux/rogue_km/build/linux/sunxi_linux'
******* Multiarch build: no
******* Primary arch: target_aarch64
******* Secondary arch: none
WARNING: You are not specifying how to find dependent libraries, e.g., by specifying SYSROOT.
The build may fail.
Building modules, stage 2.
MODPOST 2 modules
make[1]: Leaving directory '/opt/sw509/longan/kernel/linux-4.9/modules/gpu/img-rgx/linux/rogue_km/build/linux/sunxi_linux'
'img-rgx/linux/rogue_km/binary_sunxi_linux_release/target_aarch64/pvrsrvkm.ko' -> '/opt/sw509/longan/kernel/linux-4.9/output/lib/modules/4.9.170/pvrsrvkm.ko'
'img-rgx/linux/rogue_km/binary_sunxi_linux_release/target_aarch64/dc_sunxi.ko' -> '/opt/sw509/longan/kernel/linux-4.9/output/lib/modules/4.9.170/dc_sunxi.ko'
make: Leaving directory '/opt/sw509/longan/kernel/linux-4.9/modules/gpu'
[GPU]: ge8300 device driver has been built.
regenerate rootfs cpio
15757 blocks
15758 blocks
build_ramfs
Copy boot.img to output directory ...
./scripts/build.sh
longan/kernel/linux-4.9/scripts/build.sh
#!/bin/bash
set -e
localpath=$(cd $(dirname $0) && pwd)
build_system=lichee
[ -d $localpath/../../../device/config/chips ] && build_system=longan
[ -d $localpath/../../tools/pack/chips ] && build_system=lichee
echo "build_system: $build_system"
#Setup common variables
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
if [ -n "`echo ${LICHEE_CHIP} | grep "sun5[0-9]i"`" ] && \
[ "x${LICHEE_ARCH}" = "xarm64" ]; then
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
fi
if [ -n "${LICHEE_TOOLCHAIN_PATH}" \
-a -d "${LICHEE_TOOLCHAIN_PATH}" ]; then
GCC=$(find ${LICHEE_TOOLCHAIN_PATH} -perm /a+x -a -regex '.*-gcc');
export CROSS_COMPILE="${GCC%-*}-";
elif [ -n "${LICHEE_CROSS_COMPILER}" ]; then
export CROSS_COMPILE="${LICHEE_CROSS_COMPILER}-"
fi
MAKE="make"
if [ -n "$ANDROID_CLANG_PATH" ]; then
MAKE="make CC=$LICHEE_TOP_DIR/../$ANDROID_CLANG_PATH/clang"
ARCH_PREFIX=arm
[ "x$ARCH" == "xarm64" ] && ARCH_PREFIX=aarch64
if [ -n "$ANDROID_TOOLCHAIN_PATH" ]; then
export CROSS_COMPILE=$LICHEE_TOP_DIR/../$ANDROID_TOOLCHAIN_PATH/$ARCH_PREFIX-linux-android-
export CLANG_TRIPLE=$ARCH_PREFIX-linux-gnu-
fi
fi
export AS=${CROSS_COMPILE}as
export LD=${CROSS_COMPILE}ld
export CC=${CROSS_COMPILE}gcc
export AR=${CROSS_COMPILE}ar
export NM=${CROSS_COMPILE}nm
export STRIP=${CROSS_COMPILE}strip
export OBJCOPY=${CROSS_COMPILE}objcopy
export OBJDUMP=${CROSS_COMPILE}objdump
export LOCALVERSION=""
export MKBOOTIMG=${LICHEE_TOOLS_DIR}/pack/pctools/linux/android/mkbootimg
if [ "x$CCACHE_DIR" != "x" ];then
CCACHE_Y="ccache "
fi
KERNEL_VERSION=`${MAKE} -s kernelversion -C ./`
LICHEE_KDIR=`pwd`
LICHEE_MOD_DIR=${LICHEE_KDIR}/output/lib/modules/${KERNEL_VERSION}
export LICHEE_KDIR
update_kern_ver()
{
if [ -r include/generated/utsrelease.h ]; then
KERNEL_VERSION=`cat include/generated/utsrelease.h |awk -F\" '{print $2}'`
fi
LICHEE_MOD_DIR=${LICHEE_KDIR}/output/lib/modules/${KERNEL_VERSION}
}
do_init_to_dts()
{
local DTC_SRC_PATH=${LICHEE_KERN_DIR}/arch/${ARCH}/boot/dts
if [ "x${ARCH}" == "xarm64" ]; then
DTC_SRC_PATH=${DTC_SRC_PATH}/sunxi
fi
local DTC_DEP_BOARD1=${DTC_SRC_PATH}/.board.dtb.d.dtc.tmp
local DTC_SRC_BOARD1=${DTC_SRC_PATH}/.board.dtb.dts.tmp
local DTC_DEP_BOARD=${DTC_SRC_PATH}/.${LICHEE_CHIP}-${LICHEE_BOARD}.dtb.d.dtc.tmp
local DTC_SRC_BOARD=${DTC_SRC_PATH}/.${LICHEE_CHIP}-${LICHEE_BOARD}.dtb.dts.tmp
local DTC_DEP_BUSSINESS=${DTC_SRC_PATH}/.${LICHEE_CHIP}-${LICHEE_BUSSINESS}.dtb.d.dtc.tmp
local DTC_SRC_BUSSINESS=${DTC_SRC_PATH}/.${LICHEE_CHIP}-${LICHEE_BUSSINESS}.dtb.dts.tmp
local DTC_DEP_COMMON=${DTC_SRC_PATH}/.${LICHEE_CHIP}-soc.dtb.d.dtc.tmp
local DTC_SRC_COMMON=${DTC_SRC_PATH}/.${LICHEE_CHIP}-soc.dtb.dts.tmp
local DTC_COMPILER=${LICHEE_KERN_DIR}/scripts/dtc/dtc
local DTC_INI_FILE_BASE=${LICHEE_BOARD_CONFIG_DIR}/sys_config.fex
local DTC_INI_FILE=output/sys_config_fix.fex
cp $DTC_INI_FILE_BASE $DTC_INI_FILE
sed -i "s/\(\[dram\)_para\(\]\)/\1\2/g" $DTC_INI_FILE
sed -i "s/\(\[nand[0-9]\)_para\(\]\)/\1\2/g" $DTC_INI_FILE
if [ ! -f $DTC_COMPILER ]; then
echo "Script_to_dts: Can not find dtc compiler.\n"
exit 1
fi
if [ -f $DTC_DEP_BOARD1 ]; then
printf "Script_to_dts: use board special dts file board.dts\n"
DTC_DEP_FILE=${DTC_DEP_BOARD1}
DTC_SRC_FILE=${DTC_SRC_BOARD1}
elif [ -f $DTC_DEP_BOARD ]; then
printf "Script_to_dts: use board special dts file ${LICHEE_CHIP}-${LICHEE_BOARD}.dts\n"
DTC_DEP_FILE=${DTC_DEP_BOARD}
DTC_SRC_FILE=${DTC_SRC_BOARD}
elif [ -f $DTC_DEP_BUSSINESS ]; then
printf "Script_to_dts: use bussiness special dts file ${LICHEE_CHIP}-${LICHEE_BUSSINESS}.dts\n"
DTC_DEP_FILE=${DTC_DEP_BUSSINESS}
DTC_SRC_FILE=${DTC_SRC_BUSSINESS}
else
printf "Script_to_dts: use common dts file ${LICHEE_CHIP}-soc.dts\n"
DTC_DEP_FILE=${DTC_DEP_COMMON}
DTC_SRC_FILE=${DTC_SRC_COMMON}
fi
local DTC_FLAGS="-W no-unit_address_vs_reg"
if [ -d ${LICHEE_CHIP_CONFIG_DIR}/dtbo ]; then
echo "sunxi_dtb create"
$DTC_COMPILER ${DTC_FLAGS} -@ -O dtb -o ${LICHEE_KERN_DIR}/output/sunxi.dtb \
-b 0 \
-i $DTC_SRC_PATH \
-F $DTC_INI_FILE \
-d $DTC_DEP_FILE $DTC_SRC_FILE
else
echo "sunxi_dtb create"
$DTC_COMPILER -p 2048 ${DTC_FLAGS} -O dtb -o ${LICHEE_KERN_DIR}/output/sunxi.dtb \
-b 0 \
-i $DTC_SRC_PATH \
-F $DTC_INI_FILE \
-d $DTC_DEP_FILE $DTC_SRC_FILE
fi
if [ $? -ne 0 ]; then
echo "Conver script to dts failed"
exit 1
fi
#restore the orignal dtsi
if [ "x${LICHEE_LINUX_DEV}" = "xdragonboard" \
-o "x${LICHEE_LINUX_DEV}" = "xdragonmat" ]; then
local DTS_PATH=${LICHEE_KERN_DIR}/arch/${ARCH}/boot/dts
[ "x${ARCH}" = "xarm64" ] && DTS_PATH=${LICHEE_KERN_DIR}/arch/${ARCH}/boot/dts/sunxi
if [ -f ${DTS_PATH}/${LICHEE_CHIP}_bak.dtsi ];then
rm -f ${DTS_PATH}/${LICHEE_CHIP}.dtsi
mv ${DTS_PATH}/${LICHEE_CHIP}_bak.dtsi ${DTS_PATH}/${LICHEE_CHIP}.dtsi
fi
fi
printf "Conver script to dts ok.\n"
# It'is used for debug dtb
$DTC_COMPILER ${DTC_FLAGS} -I dtb -O dts -o ${LICHEE_KERN_DIR}/output/.sunxi.dts ${LICHEE_KERN_DIR}/output/sunxi.dtb
return
}
show_help()
{
printf "
Build script for Lichee platform
Invalid Options:
help - show this help
kernel - build kernel
modules - build kernel module in modules dir
clean - clean kernel and modules
"
}
build_nand()
{
NAND_ROOT=${LICHEE_KDIR}/modules/nand
${MAKE} -C modules/nand LICHEE_MOD_DIR=${LICHEE_MOD_DIR} \
LICHEE_KDIR=${LICHEE_KDIR} \
CONFIG_CHIP_ID=${CONFIG_CHIP_ID} install
}
gpu_message()
{
echo -ne "\033[34;1m"
echo "[GPU]: $1"
echo -ne "\033[0m"
}
build_gpu()
{
GPU_TYPE=`fgrep CONFIG_SUNXI_GPU_TYPE ${LICHEE_KDIR}/.config 2>/dev/null | cut -d \" -f 2`
if [ "X$GPU_TYPE" = "XNone" -o "X$GPU_TYPE" = "X" ]; then
gpu_message "No GPU type is configured in ${LICHEE_KDIR}/.config."
return
fi
gpu_message "Building $GPU_TYPE device driver..."
if [ "X${LICHEE_PLATFORM}" = "Xandroid" -o "X${LICHEE_PLATFORM}" = "Xsecureandroid" ] ; then
TMP_OUT=$OUT
TMP_TOP=$TOP
unset OUT
unset TOP
fi
${MAKE} -C modules/gpu LICHEE_MOD_DIR=${LICHEE_MOD_DIR} LICHEE_KDIR=${LICHEE_KDIR}
if [ "X${LICHEE_PLATFORM}" = "Xandroid" -o "X${LICHEE_PLATFORM}" = "Xsecureandroid" ] ; then
export OUT=$TMP_OUT
export TOP=$TMP_TOP
fi
gpu_message "$GPU_TYPE device driver has been built."
}
clean_gpu()
{
GPU_TYPE=`fgrep CONFIG_SUNXI_GPU_TYPE ${LICHEE_KDIR}/.config 2>/dev/null | cut -d \" -f 2`
if [ "X$GPU_TYPE" = "XNone" -o "X$GPU_TYPE" = "X" ]; then
gpu_message "No GPU type is configured in .config."
return
fi
gpu_message "Cleaning $GPU_TYPE device driver..."
${MAKE} -C modules/gpu LICHEE_MOD_DIR=${LICHEE_MOD_DIR} LICHEE_KDIR=${LICHEE_KDIR} clean
gpu_message "$GPU_TYPE device driver has been cleaned."
}
build_check()
{
if [ "x$SUNXI_CHECK" = "x1" ];then
SUNXI_SPARSE_CHECK=1
SUNXI_SMATCH_CHECK=1
SUNXI_STACK_CHECK=1
fi
if [ "x$SUNXI_SPARSE_CHECK" = "x1" ] && [ -f ../tools/codecheck/sparse/sparse ];then
echo "\n\033[0;31;1mBuilding Round for sparse check...\033[0m\n\n"
CHECK="../tools/codecheck/sparse/sparse"
${MAKE} CHECK=${CHECK} ARCH=${ARCH} CROSS_COMPILE="${CCACHE_Y}${CROSS_COMPILE}" -j${LICHEE_JLEVEL} \
C=2 all modules 2>&1|tee output/build_sparse.txt
cat output/build_sparse.txt|egrep -w '(warn|error|warning)' >output/warn_sparse.txt
fi
if [ "x$SUNXI_SMATCH_CHECK" = "x1" ]&& [ -f ../tools/codecheck/smatch/smatch ];then
echo "\n\033[0;31;1mBuilding Round for smatch check...\033[0m\n\n"
CHECK="../tools/codecheck/smatch/smatch --full-path --no-data -p=kkernel"
${MAKE} CHECK=${CHECK} ARCH=${ARCH} CROSS_COMPILE="${CCACHE_Y}${CROSS_COMPILE}" -j${LICHEE_JLEVEL} \
C=2 all modules 2>&1|tee output/build_smatch.txt
cat output/build_smatch.txt|egrep -w '(warn|error|warning)' >output/warn_smatch.txt
fi
if [ "x$SUNXI_STACK_CHECK" = "x1" ];then
${MAKE} ARCH=${ARCH} CROSS_COMPILE="${CCACHE_Y}${CROSS_COMPILE}" -j${LICHEE_JLEVEL} checkstack 2>&1 \
|tee output/warn_stack.txt
fi
}
build_dts(){
if [ ! -f .config ] ; then
printf "\n\033[0;31;1mUsing default config ${LICHEE_KERN_DEFCONF_ABSOLUTE} ...\033[0m\n\n"
${MAKE} ARCH=${ARCH} defconfig KBUILD_DEFCONFIG=${LICHEE_KERN_DEFCONF_RELATIVE}
fi
echo "---build dts for ${LICHEE_CHIP} ${LICHEE_BOARD}-----"
if [ "x${ARCH}" = "xarm" ];then
dts_path="arch/arm/boot/dts"
else
dts_path="arch/arm64/boot/dts/sunxi"
prefix="sunxi/"
fi
dtb_file=board.dtb
dts_file=board.dts
if [ ! -f $dts_path/$dts_file ];then
dtb_file="${LICHEE_CHIP}-${LICHEE_BOARD}.dtb"
dts_file="${LICHEE_CHIP}-${LICHEE_BOARD}.dts"
fi
if [ ! -f $dts_path/$dts_file ];then
dts_file="${LICHEE_CHIP}-soc.dts"
dtb_file="${LICHEE_CHIP}-soc.dtb"
fi
${MAKE} ARCH=${ARCH} ${prefix}${dtb_file}
}
build_kernel()
{
echo "Building kernel"
cd ${LICHEE_KDIR}
rm -rf output/
echo "${LICHEE_MOD_DIR}"
mkdir -p ${LICHEE_MOD_DIR}
# uImage is arm architecture specific target
local arch_target=""
if [ "${ARCH}" = "arm" ]; then
arch_target="uImage dtbs"
else
arch_target="all"
fi
#exchange sdc0 and sdc2 for dragonBoard card boot
local check_cardboot=false
local SYS_CONFIG_FILE=""
if [ "x$build_system" == "xlichee" ]; then
[ "x${LICHEE_PLATFORM}" == "xdragonboard" -o "x${LICHEE_PLATFORM}" == "xdragonmat" ] && check_cardboot=true
SYS_CONFIG_FILE=$localpath/../../tools/pack/chips/${LICHEE_CHIP}/configs/${LICHEE_BOARD}/sys_config.fex
else
[ "x${LICHEE_PLATFORM}" == "xlinux" ] && [ "x${LICHEE_LINUX_DEV}" == "xdragonboard" -o "x${LICHEE_LINUX_DEV}" == "xdragonmat" ] && check_cardboot=true
SYS_CONFIG_FILE=${LICHEE_BOARD_CONFIG_DIR}/sys_config.fex
fi
if [ "x$check_cardboot" == "xtrue" ]; then
local DTS_PATH=./arch/${ARCH}/boot/dts
[ "x$ARCH" == "xarm64" ] && DTS_PATH=$DTS_PATH/sunxi
if [ -f ${DTS_PATH}/${LICHEE_CHIP}_bak.dtsi ];then
mv ${DTS_PATH}/${LICHEE_CHIP}_bak.dtsi ${DTS_PATH}/${LICHEE_CHIP}.dtsi
fi
# if find dragonboard_test=1 in sys_config.fex ,then will exchange sdc0 and sdc2
local card_boot=$(awk -F= '/^dragonboard_test[[:space:]]*=/{gsub(/[[:blank:]]*/,"",$2);print $2}' $SYS_CONFIG_FILE)
if [ "x$card_boot" == "x1" ]; then
echo "exchange sdc0 and sdc2 for dragonboard card boot"
./scripts/exchange-sdc0-sdc2-for-dragonboard.sh ${DTS_PATH}/${LICHEE_CHIP}.dtsi
fi
fi
if [ ! -f .config ] ; then
printf "\n\033[0;31;1mUsing default config ${LICHEE_KERN_DEFCONF_ABSOLUTE} ...\033[0m\n\n"
${MAKE} ARCH=${ARCH} defconfig KBUILD_DEFCONFIG=${LICHEE_KERN_DEFCONF_RELATIVE}
fi
if [ "x$PACK_TINY_ANDROID" = "xtrue" ]; then
ARCH=${ARCH} scripts/kconfig/merge_config.sh .config \
linaro/configs/sunxi-tinyandroid.conf
fi
if [ "x$PACK_BSPTEST" != "x" -o "x$BUILD_SATA" != "x" -o "x$LICHEE_LINUX_DEV" = "xsata" ]; then
if [ -f linaro/configs/sunxi-common.conf ];then
ARCH=${ARCH} scripts/kconfig/merge_config.sh .config \
linaro/configs/sunxi-common.conf
fi
if [ -f linaro/configs/sunxi-sata.conf ];then
ARCH=${ARCH} scripts/kconfig/merge_config.sh .config \
linaro/configs/sunxi-sata.conf
fi
if [ -f linaro/configs/sunxi-sata-${LICHEE_CHIP}.conf ];then
ARCH=${ARCH} scripts/kconfig/merge_config.sh .config \
linaro/configs/sunxi-sata-${LICHEE_CHIP}.conf
fi
if [ -f linaro/configs/sunxi-sata-${ARCH}.conf ];then
ARCH=${ARCH} scripts/kconfig/merge_config.sh .config \
linaro/configs/sunxi-sata-${ARCH}.conf
fi
fi
${MAKE} ARCH=${ARCH} CROSS_COMPILE="${CCACHE_Y}${CROSS_COMPILE}" -j${LICHEE_JLEVEL} ${arch_target} modules
build_check
update_kern_ver
do_init_to_dts
#The Image is origin binary from vmlinux.
if [ -f arch/${ARCH}/boot/Image ]; then
cp -vf arch/${ARCH}/boot/Image output/bImage
fi
if [ -f arch/${ARCH}/boot/zImage ] || [ -f arch/${ARCH}/boot/uImage ]; then
cp -vf arch/${ARCH}/boot/[zu]Image output/
fi
if [ -f arch/${ARCH}/boot/Image.gz ]; then
cp -vf arch/${ARCH}/boot/Image.gz output/
fi
echo "Copy rootfs.cpio.gz for ${ARCH}"
if [ "${ARCH}" = "arm" ]; then
cp -f rootfs_32bit.cpio.gz output/rootfs.cpio.gz
else
cp -f rootfs.cpio.gz output/rootfs.cpio.gz
fi
cp .config output/
tar -jcf output/vmlinux.tar.bz2 vmlinux
for file in $(find drivers sound crypto block fs security net -name "*.ko"); do
cp $file ${LICHEE_MOD_DIR}
done
cp -f Module.symvers ${LICHEE_MOD_DIR}
}
build_modules()
{
echo "Building modules"
if [ ! -f include/generated/utsrelease.h ]; then
printf "Please build kernel first!\n"
exit 1
fi
update_kern_ver
build_nand
build_gpu
}
regen_rootfs_cpio()
{
echo "regenerate rootfs cpio"
cd ${LICHEE_KDIR}/output
if [ -x "../scripts/build_rootfs.sh" ]; then
../scripts/build_rootfs.sh e ./rootfs.cpio.gz > /dev/null
else
echo "No such file: scripts/build_rootfs.sh"
exit 1
fi
mkdir -p ./skel/lib/modules/${KERNEL_VERSION}
if [ -e ${LICHEE_MOD_DIR}/nand.ko ]; then
cp ${LICHEE_MOD_DIR}/nand.ko ./skel/lib/modules/${KERNEL_VERSION}
if [ $? -ne 0 ]; then
echo "copy nand module error: $?"
exit 1
fi
fi
ko_file=`find ./skel/lib/modules/$KERNEL_VERSION/ -name *.ko`
if [ ! -z "$ko_file" ]; then
${STRIP} -d ./skel/lib/modules/$KERNEL_VERSION/*.ko
fi
rm -f rootfs.cpio.gz
../scripts/build_rootfs.sh c rootfs.cpio.gz > /dev/null
rm -rf skel
cd - > /dev/null
}
build_ramfs()
{
local bss_sz=0;
local bss_offset=0;
local bss_size=0;
local CHIP="";
local BIMAGE="output/bImage";
local RAMDISK="output/rootfs.cpio.gz";
local DTB="output/sunxi.dtb";
local BASE="";
local RAMDISK_OFFSET="";
local KERNEL_OFFSET="";
# update rootfs.cpio.gz with new module files
regen_rootfs_cpio
CHIP=`echo ${LICHEE_CHIP} | sed -e 's/.*\(sun[0-9x]*i\).*/\1/g'`;
if [ "${CHIP}" = "sun9i" ]; then
BASE="0x20000000";
else
BASE="0x40000000";
fi
if [ "${ARCH}" = "arm" ]; then
KERNEL_OFFSET="0x8000";
elif [ "${ARCH}" = "arm64" ]; then
KERNEL_OFFSET="0x80000";
fi
if [ -f vmlinux ]; then
bss_offset=`${CROSS_COMPILE}readelf -S vmlinux | \
awk '/\.bss/ {print $5}'`;
bss_size=`${CROSS_COMPILE}readelf -S vmlinux | \
awk '/\.bss/ {print $6}'`;
# If linux-4.9 the bss_size will be in next line
if [ -z "$bss_size" ]; then
bss_size=`${CROSS_COMPILE}readelf -S vmlinux | \
awk '/\.bss/ {getline var; print var}' | awk '{print $1}'`;
fi
bss_sz=$[ $((16#$bss_offset))+$((16#$bss_size))]
fi
# If the size of bImage larger than 16M, will offset 0x02000000
if [ ${bss_sz} -gt $((16#1000000)) ]; then
RAMDISK_OFFSET="0x02000000";
else
RAMDISK_OFFSET="0x01000000";
fi
DTB_OFFSET="0x04000000";
${MKBOOTIMG} --kernel ${BIMAGE} \
--ramdisk ${RAMDISK} \
--dtb ${DTB} \
--board ${CHIP}_${ARCH} \
--base ${BASE} \
--kernel_offset ${KERNEL_OFFSET} \
--ramdisk_offset ${RAMDISK_OFFSET} \
--dtb_offset ${DTB_OFFSET} \
--header_version 0x2 \
-o output/boot.img
# If uboot use *bootm* to boot kernel, we should use uImage.
echo build_ramfs
echo "Copy boot.img to output directory ..."
cp output/boot.img ${LICHEE_PLAT_OUT}
cp output/vmlinux.tar.bz2 ${LICHEE_PLAT_OUT}
if [ -f output/zImage ] || [ -f output/uImage ]; then
cp output/[zu]Image ${LICHEE_PLAT_OUT}
fi
if [ ! -f output/arisc ]; then
echo "arisc" > output/arisc
fi
cp output/arisc ${LICHEE_PLAT_OUT}
cp output/.sunxi.dts ${LICHEE_PLAT_OUT}
cp output/sunxi.dtb ${LICHEE_PLAT_OUT}
}
gen_output()
{
if [ "x${LICHEE_PLATFORM}" = "xandroid" ] ; then
echo "Copy modules to target ..."
rm -rf ${LICHEE_PLAT_OUT}/lib
cp -rf ${LICHEE_KDIR}/output/* ${LICHEE_PLAT_OUT}
return
fi
if [ -d ${LICHEE_BR_OUT}/target ] ; then
echo "Copy modules to target ..."
local module_dir="${LICHEE_BR_OUT}/target/lib/modules"
rm -rf ${module_dir}
mkdir -p ${module_dir}
cp -rf ${LICHEE_MOD_DIR} ${module_dir}
fi
echo "$0"
}
clean_kernel()
{
clarg="clean"
if [ "x$1" == "xdistclean" ]; then
clarg="distclean"
fi
echo "Cleaning kernel, arg: $clarg ..."
${MAKE} ARCH=${ARCH} "$clarg"
rm -rf output/*
echo
}
clean_modules()
{
echo "Cleaning modules ..."
clean_gpu
echo
}
#####################################################################
#
# Main Runtine
#
#####################################################################
case "$1" in
kernel)
build_kernel
;;
modules)
build_modules
;;
clean|distclean)
clean_modules
clean_kernel "$1"
;;
dts)
build_dts
;;
*)
build_kernel
build_modules
build_ramfs
gen_output
echo -e "\n\033[0;31;1m${LICHEE_CHIP} compile Kernel successful\033[0m\n\n"
;;
esac
继续跟踪, 执行 ./build.sh 之后,是根据 longan/kernel/linux-4.9/rootfs.cpio.gz 为基础,再把 ko 文件打包到里面去,建立新的 longan/kernel/linux-4.9/output/rootfs.cpio.gz 。
离线
重新打包: make_ext4fs -l 128M -s out/pack_out/rootfs3.fex test/dragonboard/rootfs
屏蔽 build/pack 的 函数 function do_prepare()
#不删除 out/pack_out/ 目录
if [ "x" != "x${LICHEE_PACK_OUT_DIR}" ]; then
rm -rf ${LICHEE_PACK_OUT_DIR}
fi
再将 device/config/chips/t509/configs/a3/dragonboard/sys_partition.fex 里面的 rootfs.fex 改为 rootfs3.fex
接着执行 ./build.sh pack 打包烧录,一切正常。
离线
根据 kernel/linux-4.9/rootfs/init
#!/bin/sh
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t devtmpfs none /dev
exec < /dev/console > /dev/console 2>&1
for parm in $(cat /proc/cmdline); do
case $parm in
ramfs)
RAMFS_MODE=1
;;
root=*)
ROOT_DEVICE=`echo $parm | awk -F\= '{print $2}'`
;;
console=*)
CONSOLE_DEVICE=`echo $parm | awk -F\= '{print $2}' | awk -F\, '{print $1}'`
;;
gpt=*)
GPT_SUPPORT=`echo $parm | awk -F\= '{print $2}'`
;;
esac
done
if [ "x$ROOT_DEVICE" = "x" ]; then
ROOT_DEVICE=autoconfig
fi
echo [$0]: "getty is $CONSOLE_DEVICE"
echo [$0]: RootDevice is \"$ROOT_DEVICE\" , GPT_SUPPORT=$GPT_SUPPORT
#set the default device for autoconfig
if [ "x$GPT_SUPPORT" = "x1" ]; then
NAND_DEF_DEVICE=nand0p5
SDMMC_DEF_DEVICE=mmcblk0p5
else
NAND_DEF_DEVICE=nandd
SDMMC_DEF_DEVICE=mmcblk0p7
fi
# $1: the name of block device
wait_for_ready()
{
CNT=10
while true; do
if [ -b $1 ]; then
return 0
fi
echo [$0]: Wait $1 ready ...
CNT=`expr $CNT - 1`
if [ $CNT -eq 0 ]; then
echo [$0]: $1 is not available!
return 1
fi
sleep 1
done
}
# $1: The block device
do_mount()
{
e2fsck -y $1
mount -o rw,noatime,nodiratime,norelatime,noauto_da_alloc,barrier=0,data=ordered -t ext4 $1 /mnt
if [ $? -ne 0 ]; then
echo [$0]: Failed to mount $1!
fi
}
load_nand()
{
echo [$0]: Try to load Nand ...
NAND_MODULE=/lib/modules/$(uname -r)/nand.ko
if [ ! -f $NAND_MODULE ]; then
echo [$0]: $NAND_MODULE does not exist!
# return 1
fi
insmod $NAND_MODULE
if [ $? -ne 0 ]; then
echo [$0]: $NAND_MODULE is invalid!
# return 2
fi
wait_for_ready $1
if [ $? -eq 0 ]; then
do_mount $1
fi
}
load_emmc()
{
echo [$0]: Try to load EMMC ...
wait_for_ready $1
if [ $? -eq 0 ]; then
do_mount $1
fi
}
case $ROOT_DEVICE in
/dev/nand*|/dev/system)
load_nand $ROOT_DEVICE
;;
/dev/mmc*)
load_emmc $ROOT_DEVICE
;;
autoconfig*)
sleep 1;
echo [$0]: default device $SDMMC_DEF_DEVICE $NAND_DEF_DEVICE
if cat /proc/partitions|grep "$SDMMC_DEF_DEVICE" >/dev/null;then
magic_num=$(hexdump -s 1292 -n 2 -x /dev/$SDMMC_DEF_DEVICE|head -1|awk '{print $2 }')
echo $magic_num|grep "f30a" >/dev/null
if [ $? -eq 0 ]; then
echo [$0]: "magic_num[f30a] match!!!"
else
load_emmc /dev/$SDMMC_DEF_DEVICE
fi
else
load_nand /dev/$NAND_DEF_DEVICE
fi
;;
*)
echo [$0]: "Use default type"
;;
esac
[ -x /mnt/init ] && exec switch_root /mnt /init
/sbin/getty -L $CONSOLE_DEVICE 115200 vt100 -n -l /bin/ash
先根据 bootargs 参数:
[ 0.000000] Kernel command line: earlyprintk=sunxi-uart,0x05000000 initcall_debug=0 console=ttyS0,115200 loglevel=8 root=/dev/mmcblk0p4 init=/init partitions=boot-resource@mmcblk0p1:env@mmcblk0p2:boot@mmcblk0p3:rootfs@mmcblk0p4:klog@mmcblk0p5:UDISK@mmcblk0p6 cma=8M snum=0c001415a0c0876220d mac_addr= wifi_mac= bt_mac= specialstr= gpt=1 androidboot.mode=normal androidboot.serialno=0c001415a0c0876220d androidboot.hardware=sun50iw10p1 boot_type=2 androidboot.boot_type=2 androidboot.secure_os_exist=0 androidboot.trustchain=false gpt=1 uboot_message=2018.05(02/07/2022-22:08:09) disp_reserve=4096000,0x7bf65080 bootreason=unknow
[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
① 找出 root dev /dev/mmcblk0p4 然后挂载到 /mnt 目录,
② 如果存在 /mnt/init 并可执行,那么switch_root 到 /mnt/目录,并执行 /init 命令
③ 确保 rootfs 存在 /dev/console /dev/null 设备文件
离线
cat /dev/fb1 > fb1.rgb
电脑用 yuview 显示framebuffer图像,颜色格式 BGRA。
离线
编译 longan,配置为 android 编译环境:
sw509@ubuntu:/opt/sw509/longan$ ./build.sh config
Welcome to mkscript setup progress
All available platform:
0. android
1. linux
Choice [linux]: 0
All available ic:
0. a133
1. t509
Choice [t509]: 1
All available board:
0. a3
1. demo
2. demo2
3. fpga
4. qa
5. srandway
6. ver
Choice [a3]: 0
INFO: kernel defconfig: generate /opt/sw509/longan/kernel/linux-4.9/.config by /opt/sw509/longan/kernel/linux-4.9/arch/arm64/configs/sun50iw10p1smp_t509_android_defconfig
*** Default configuration is based on 'sun50iw10p1smp_t509_android_defconfig'
#
# configuration written to .config
#
编译for安卓内核:
sw509@ubuntu:/opt/sw509/longan$ ./build.sh
ACTION List: mklichee;========
Execute command: mklichee
INFO: ----------------------------------------
INFO: build lichee ...
INFO: chip: sun50iw10p1
INFO: platform: android
INFO: kernel: linux-4.9
INFO: board: a3
INFO: output: /opt/sw509/longan/out/t509/a3/android
INFO: ----------------------------------------
INFO: build dtbo ...
debug: main,line:309
....
[GPU]: ge8300 device driver has been built.
regenerate rootfs cpio
15757 blocks
15758 blocks
build_ramfs
Copy boot.img to output directory ...
Copy modules to target ...
sun50iw10p1 compile Kernel successful
INFO: build kernel OK.
INFO: build rootfs ...
INFO: skip make rootfs for android
INFO: ----------------------------------------
INFO: build lichee OK.
INFO: ----------------------------------------
sw509@ubuntu:/opt/sw509/longan$
sw509@ubuntu:/opt/sw509/android$ source build/envsetup.sh
including device/softwinner/common/vendorsetup.sh
longan project path: /opt/sw509/longan
sw509@ubuntu:/opt/sw509/android$
sw509@ubuntu:/opt/sw509/android$
sw509@ubuntu:/opt/sw509/android$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. aosp_arm-eng
2. aosp_arm64-eng
3. aosp_blueline-userdebug
4. aosp_bonito-userdebug
5. aosp_car_arm-userdebug
6. aosp_car_arm64-userdebug
7. aosp_car_x86-userdebug
8. aosp_car_x86_64-userdebug
9. aosp_cf_arm64_phone-userdebug
10. aosp_cf_x86_64_phone-userdebug
11. aosp_cf_x86_auto-userdebug
12. aosp_cf_x86_phone-userdebug
13. aosp_cf_x86_tv-userdebug
14. aosp_crosshatch-userdebug
15. aosp_marlin-userdebug
16. aosp_sailfish-userdebug
17. aosp_sargo-userdebug
18. aosp_taimen-userdebug
19. aosp_walleye-userdebug
20. aosp_walleye_test-userdebug
21. aosp_x86-eng
22. aosp_x86_64-eng
23. beagle_x15-userdebug
24. ceres_b1-eng
25. ceres_b1-user
26. ceres_b1-userdebug
27. ceres_b3-eng
28. ceres_b3-user
29. ceres_b3-userdebug
30. ceres_c3-eng
31. ceres_c3-user
32. ceres_c3-userdebug
33. ceres_c4-eng
34. ceres_c4-user
35. ceres_c4-userdebug
36. ceres_perf1-user
37. ceres_perf1-userdebug
38. ceres_perf2-user
39. ceres_perf2-userdebug
40. ceres_qa-user
41. ceres_qa-userdebug
42. ceres_verify-user
43. ceres_verify-userdebug
44. fuchsia_arm64-eng
45. fuchsia_x86_64-eng
46. hikey-userdebug
47. hikey64_only-userdebug
48. hikey960-userdebug
49. hikey960_tv-userdebug
50. hikey_tv-userdebug
51. m_e_arm-userdebug
52. mini_emulator_arm64-userdebug
53. mini_emulator_x86-userdebug
54. mini_emulator_x86_64-userdebug
55. pluto_a3-eng
56. pluto_a3-user
57. pluto_a3-userdebug
58. pluto_demo-eng
59. pluto_demo-user
60. pluto_demo-userdebug
61. pluto_demo2-eng
62. pluto_demo2-user
63. pluto_demo2-userdebug
64. pluto_qa-eng
65. pluto_qa-userdebug
66. poplar-eng
67. poplar-user
68. poplar-userdebug
69. qemu_trusty_arm64-userdebug
70. uml-userdebug
Which would you like? [aosp_arm-eng] 55
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
TARGET_PRODUCT=pluto_a3
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a7
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.4.0-97-generic-x86_64-Ubuntu-18.04.2-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=QP1A.191105.004
OUT_DIR=out
============================================
sw509@ubuntu:/opt/sw509/android$
sw509@ubuntu:/opt/sw509/android$ make
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
TARGET_PRODUCT=pluto_a3
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a7
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.4.0-97-generic-x86_64-Ubuntu-18.04.2-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=QP1A.191105.004
OUT_DIR=out
============================================
[ 99% 11233/11247] glob vendor.nxp.nxpnfc-V1.0-java.prof
安卓编译,保证 android 的同级目录有 longan 即可。
最近编辑记录 X3 (2022-02-13 21:06:20)
离线
./build.sh brandy 之后,devicetree居然是这个配置:
CONFIG_OF_BOARD: │
│ │
│ If this option is enabled, the device tree will be provided by │
│ the board at runtime if the board supports it, instead of being │
│ bundled with the image. │
│ │
│ Symbol: OF_BOARD [=y] │
│ Type : boolean │
│ Prompt: Provided by the board at runtime │
│ Location: │
│ -> Device Tree Control │
│ -> Provider of DTB for DT control (<choice> [=y]) │
│ Defined at dts/Kconfig:88 │
│ Depends on: <choice> && !SANDBOX [=n]
http://www.wowotech.net/x_project/bubblegum_uboot_device_tree.html
@wowo:谢谢wowo的解答,这样理解也是很有道理。
我考虑的是对于arm soc,boot和kernel看到的设备其实是一样的,而且本来boot就会去修改kernel的dtb(cmdline、ram/initramfs start&sizee),并传递给kernel,分成两份有点重复。
我自己对这个问题的进展:
如果定义了CONFIG_OF_SEPARATE,uboot会去编译CONFIG_DEFAULT_DEVICE_TREE,倒是可以把这个路径指向内核的dts文件,就是目录跨得有点多;
另外还有一个CONFIG_OF_BOARD选项,可以在代码里去指定dtb文件内存地址,不过搜索了uboot目录,几乎没有厂家用这个选项。
当然也听说uboot解析和修改dtb文件效率并不高,分成一大一小不知道会不会更快一些了。
看起来, uboot 和 kernel 应该是共用设备树 。
CONFIG_SUNXI_FDT_ADDR=44000000
# CONFIG_SUNXI_FDT_SAVE is not set
CONFIG_SUNXI_TURNNING_FLASH=y
CONFIG_SUNXI_TURNNING_DRAM=y
# CONFIG_SUNXI_OTA_TURNNING is not set
# CONFIG_SUNXI_DEBUG is not set
# CONFIG_SUNXI_NOR_IMG is not set
CONFIG_SYS_CLK_FREQ=1008000000
CONFIG_SUNXI_ARM64=y
离线
Win32 用 FASTBOOT 烧写 A100 eMMC
https://bbs.aw-ol.com/topic/1027
① 准备 fastboot_and_usbdriver.zip
② 电脑USB连接A100 otg,
③ A100 按住 s 上电进入 uboot 命令行,输入 fastboot 命令
④ 电脑出现一个 Android Phone 的USB设备则以驱动,如果未驱动则安装①里面的usbdriver
⑤ 电脑运行① fastboot.exe 命令:
1) 列设备: fastboot devices
2)擦除eMMC分区: fastboot erase xxxx (分区名)
3)烧录文件到eMMC分区: fastboot flash xxx yyyy (xxxx是分区名,yyyy是文件名)
4)重启: fastboot reboot
最近编辑记录 X3 (2022-02-14 18:30:11)
离线
me@ubuntu:/opt/sw509/android$ source build/envsetup.sh
including device/softwinner/common/vendorsetup.sh
longan project path: /opt/sw509/longan
me@ubuntu:/opt/sw509/android$ lunch 55
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
TARGET_PRODUCT=pluto_a3
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a7
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.4.0-97-generic-x86_64-Ubuntu-18.04.2-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=QP1A.191105.004
OUT_DIR=out
============================================
me@ubuntu:/opt/sw509/android$ make
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
TARGET_PRODUCT=pluto_a3
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a7
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.4.0-97-generic-x86_64-Ubuntu-18.04.2-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=QP1A.191105.004
OUT_DIR=out
============================================
[100% 148/148] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja
cedarc config go file start
cedarx config go file start
sdkVersion: 29
board: pluto
Platform config has NOT been set. Please check it.
cryptolevel: 3
playreadytype:
registry_table has NOT been set. Please check it.
Include_dirs has NOT been set. Please check it.
sdkVersion: 29
board: pluto
[ 56% 353/621] including hardware/aw/camera/Android.mk ...
hardware/aw/camera/3_4/allwinnertech/libAWIspApi/Android.mk:23: warning: Use ceres include libisp_new!
hardware/aw/camera/3_4/allwinnertech/libAWIspApi/libisp_new/Android.mk:66: warning: Use pluto libisp_new!
[ 58% 362/621] including hardware/aw/playready/Android.mk ...
hardware/aw/playready/lib/Android.mk:17: warning: libplayreadydrmplugin=nonsecure/lib32/libplayreadydrmplugin.so
hardware/aw/playready/lib/Android.mk:40: warning: libplayreadydrmplugin=nonsecure/lib64/libplayreadydrmplugin.so
hardware/aw/playready/lib/Android.mk:63: warning: libplayreadypk=nonsecure/lib32/libplayreadypk.so
hardware/aw/playready/lib/Android.mk:87: warning: libplayreadypk=nonsecure/lib64/libplayreadypk.so
[ 99% 620/621] finishing build rules ...
platform_testing/build/tasks/tests/instrumentation_test_list.mk: warning: continuous_instrumentation_tests: Unknown installed file for module 'NexusLauncherOutOfProcTests'
platform_testing/build/tasks/tests/instrumentation_test_list.mk: warning: continuous_instrumentation_tests: Unknown installed file for module 'NexusLauncherDebug'
platform_testing/build/tasks/tests/instrumentation_test_list.mk: warning: continuous_instrumentation_tests: Unknown installed file for module 'NexusLauncherTests'
platform_testing/build/tasks/tests/platform_test_list.mk: warning: platform_tests: Unknown installed file for module 'LauncherRotationStressTest'
platform_testing/build/tasks/tests/platform_test_list.mk: warning: platform_tests: Unknown installed file for module 'PlatformScenarioTests'
FAILED: ninja: 'device/softwinner/pluto-a3/kernel', needed by 'out/target/product/pluto-a3/kernel', missing and no known rule to make it
20:35:31 ninja failed with: exit status 1
#### failed to build some targets (01:47 (mm:ss)) ####
me@ubuntu:/opt/sw509/android$
FAILED: ninja: 'device/softwinner/pluto-a3/kernel', needed by 'out/target/product/pluto-a3/kernel', missing and no known rule to make it
20:35:31 ninja failed with: exit status 1
一脸茫然。。。
离线
me@ubuntu:/opt/sw509/android$ cp ../longan/out/t509/a3/android/bImage device/softwinner/pluto-a3/kernel
me@ubuntu:/opt/sw509/android$
me@ubuntu:/opt/sw509/android$ cp ../longan/out/t509/a3/android/* device/softwinner/pluto-a3/
缺啥复制啥,好险 make 可以继续了。。。
离线
重新打包: make_ext4fs -l 128M -s out/pack_out/rootfs3.fex test/dragonboard/rootfs
屏蔽 build/pack 的 函数 function do_prepare()
#不删除 out/pack_out/ 目录
if [ "x" != "x${LICHEE_PACK_OUT_DIR}" ]; then
rm -rf ${LICHEE_PACK_OUT_DIR}
fi
再将 device/config/chips/t509/configs/a3/dragonboard/sys_partition.fex 里面的 rootfs.fex 改为 rootfs3.fex接着执行 ./build.sh pack 打包烧录,一切正常。
make_ext4fs 不能打包有设备文件的文件夹, 比如 /dev/console,/dev/null 就不能打包成 ext4 文件系统了。
用 mkfs.ext4 可以:
mkfs.ext4 -d /opt/a133/buildroot/output/target -r 1 -N 0 -m 5 -L "rootfs" -O ^64bit rootfs4a.fex "72M"
/opt/a133/buildroot/output/target 需要:
① 把 /sbin/init 复制到 /init
② 存在 /dev/console,/dev/null 等设备文件
这样就可以用 dragon 命令打包成 img文件了。
离线
me@ubuntu:/opt/sw509/android$ cp ../longan/out/t509/a3/android/bImage device/softwinner/pluto-a3/kernel
me@ubuntu:/opt/sw509/android$
me@ubuntu:/opt/sw509/android$ cp ../longan/out/t509/a3/android/* device/softwinner/pluto-a3/缺啥复制啥,好险 make 可以继续了。。。
晕,居然是执行 extract-bsp 代替这个命令,掩面泪过,浪费一天时间。
离线
$ source build/envsetup.sh
$ lunch 55
$ extract-bsp
$ make
$ pack
总结一下,就是这几步了。
离线
#
# insmod /lib/modules/4.9.170/pvrsrvkm.ko
[ 42.148898] pvrsrvkm gpu: set gpu core rate:504000000 freq:504000000 dfs:0x00000001
[ 42.157608] pvrsrvkm gpu: set gpu core rate:504000000 freq:472500000 dfs:0x00000002
[ 42.166236] pvrsrvkm gpu: set gpu core rate:504000000 freq:441000000 dfs:0x00000004
[ 42.174857] pvrsrvkm gpu: set gpu core rate:252000000 freq:252000000 dfs:0x00000001
[ 42.183663] PVR_K: 1129: Read BVNC 22.102.54.38 from HW device registers
[ 42.191314] PVR_K: 1129: RGX Device initialised with BVNC 22.102.54.38
[ 42.200260] [drm] Initialized pvr 1.10.5260539 20170530 on minor 0
#
# insmod /lib/modules/4.9.170/dc_sunxi.ko
[ 50.899788] Found usable fbdev device ():
[ 50.899788] range (physical) = 0xff800000-0xfffd0000
[ 50.899788] size (bytes) = 0x7d0000
[ 50.899788] xres x yres = 1280x800
[ 50.899788] xres x yres (v) = 1280x1600
[ 50.899788] img pix fmt = 89
[ 50.899788] flipping? = 1
#
mount -t debugfs none /sys/kernel/debug
可是这个目录并没有文件:
cat /sys/kernel/debug/sunxi_gpu/dump
离线
------------------------------------
partition_name : private
partition_size : 1024
------------------------------------
partition_name : recovery
partition_size : 32768
downloadfile : recovery.fex
recovery.fex size : 24 byte
------------------------------------
partition_name : UDISK
------------------------------------
/opt/sw509/tina/scripts/pack_img.sh: line 1466: [: Feb: integer expression expected
/opt/sw509/tina/scripts/pack_img.sh: line 1472: [: Feb: integer expression expected
/opt/sw509/tina/scripts/pack_img.sh: line 1484: [: Feb: integer expression expected
ERROR: boot0 files are all invalid files, now exit
离线
[ctp_para]
ctp_used = 1
ctp_name = "ft5x_ts"
ctp_twi_id = 0
ctp_twi_addr = 0x38
ctp_screen_max_x = 800
ctp_screen_max_y = 480
ctp_revert_x_flag = 0
ctp_revert_y_flag = 0
ctp_exchange_x_y_flag = 0
ctp_int_port = port:PB03<5><default><default><default>
ctp_wakeup = port:PB04<1><default><default><1>
ctp_io_port = port:PB03<0><default><default><default>
[ctp_list_para]
ctp_det_used = 1
ft5x_ts = 1
gt82x = 0
gslX680 = 0
gt9xx_ts = 0
FT6336 驱动不了,无法中断,尴尬。
离线
开始怼 ubuntu18.04,
(WW) Warning, couldn't open module fbdev
(EE) Failed to load module "fbdev" (module does not exist, 0)
...
Fatal server error:
(EE) no screens found(EE)
...
So I installed the missing fbdev module (took me some time to figure out the exact name):
解决方案:
sudo apt install xserver-xorg-video-fbdev
参考: https://askubuntu.com/questions/1213538/ee-no-screens-found-when-startx
离线
test/dragonboard/rootfs/
修改文件系统
离线
掉坑里面了
添加一个预置apk
vendor/aw/public/prebuild/apk/Meeting/Android.mk
###############################################################################
# ESFileExplorer
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Meeting2
LOCAL_MODULE_TAGS := optional
LOCAL_CERTIFICATE := PRESIGNED
#LOCAL_PRODUCT_MODULE := true
LOCAL_DEX_PREOPT := false
#LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/preinstall
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_SRC_FILES := Meeting2.apk
#LOCAL_PROPRIETARY_MODULE := true
include $(BUILD_PREBUILT)
不小心开启了 LOCAL_PRODUCT_MODULE := true
但是,后来客户不想要这个预置apk了,
device/softwinner/x3-dock2/x3_dock2.mk
禁用了 #PRODUCT_PACKAGES += Meeting2
发现无论怎么make,烧录进去之后发现预置的apk还是自动启动了。
一顿狂搜之后,发现 make productimage 可以强制更新 product.img
$ make productimage
/bin/bash: line 0: cd: too many arguments
/bin/bash: line 0: cd: too many arguments
/bin/bash: line 0: cd: too many arguments
/bin/bash: line 0: cd: too many arguments
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
TARGET_PRODUCT=x3_dock2
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.4.0-148-generic-x86_64-Ubuntu-18.04.6-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=QP1A.191105.004
OUT_DIR=out
============================================
[100% 82/82] Target product fs image: out/target/product/x3-dock2/product.img
#### build completed successfully (27 seconds) ####
然后按照原来的流程 make && pack 就OK了。
参考: https://gist.github.com/h1code2/d2b8626643b456b3e714ce4a94904b59#file-android_compile_common-md
离线
因为 Android.mk 开启 LOCAL_PRODUCT_MODULE := true 会导致 apk打包到 system.img,
即使 device/softwinner/x3-dock2/x3_dock2.mk 关闭此 apk ,
如果不执行 make systemimage 会导致 system.img 一直不更新,所以怎么烧录原来的apk还在里面。
离线
读寄存器:
echo 0x05096318 > /sys/class/misc/sunxi-reg/rw/dump
cat /sys/class/misc/sunxi-reg/rw/dump
写寄存器:
echo "0x05096318 0x4c8230A0" > /sys/class/misc/sunxi-reg/rw/write
离线
Package libcedarx is missing dependencies for the following libraries:
libasound.so.2
libuapi.so
出现这种问题:
make package/libs/alsa-lib/clean && make package/libs/alsa-lib/install
make package/allwinner/libuapi/clean && make package/allwinner/libuapi/install
离线