修改 target/allwinner/violin-F1C200s/configs/sys_config.fex
[norflash]
-size = 8
+size = 16
修改 target/allwinner/violin-F1C200s/configs/sys_partition_nor.fex
[partition]
name = rootfs
;size = 1024
- size = 6656
+ size = 8192
downloadfile = "rootfs.fex"
user_type = 0x8000
然后执行 ARCH=arm make clean -C ./lichee/linux-3.10/;make -j3;pack
.....
Begin Parse sys_partion.fex
Add partion bootlogo.fex BOOTLOGO_FEX0000
Add partion very bootlogo.fex BOOTLOGO_FEX0000
FilePath: bootlogo.fex
FileLength=4b036Add partion env.fex ENV_FEX000000000
Add partion very env.fex ENV_FEX000000000
FilePath: env.fex
FileLength=20000Add partion boot.fex BOOT_FEX00000000
Add partion very boot.fex BOOT_FEX00000000
FilePath: boot.fex
FileLength=276688Add partion rootfs.fex ROOTFS_FEX000000
Add partion very rootfs.fex ROOTFS_FEX000000
FilePath: rootfs.fex
FileLength=3c0000sys_config.fex Len: 0xb943
config.fex Len: 0x7000
split_xxxx.fex Len: 0x200
sys_partition.fex Len: 0xbf2
sunxi.fex Len: 0xc400
boot0_nand.fex Len: 0x4000
boot0_sdcard.fex Len: 0x8000
boot0_spinor.fex Len: 0x4000
u-boot.fex Len: 0xa4000
toc1.fex Len: 0x8
toc0.fex Len: 0x8
fes1.fex Len: 0x2d80
boot_package_nor.fex Len: 0x54000
usbtool.fex Len: 0x24200
aultools.fex Len: 0x2849b
aultls32.fex Len: 0x24d3f
cardtool.fex Len: 0x11e00
cardscript.fex Len: 0x6de
sunxi_mbr_nor.fex Len: 0x4000
dlinfo.fex Len: 0x4000
arisc.fex Len: 0xf
bootlogo.fex Len: 0x4b036
Vbootlogo.fex Len: 0x4
env.fex Len: 0x20000
Venv.fex Len: 0x4
boot.fex Len: 0x276688
Vboot.fex Len: 0x4
rootfs.fex Len: 0x3c0000
Vrootfs.fex Len: 0x4
BuildImg 0
Dragon execute image.cfg SUCCESS !
----------image is for nor----------
----------image is at----------
/opt/Tina_rel/tina/out/violin-F1C200s/tina_violin-F1C200s_uart0_nor.img
pack finish
用 PhoenixSuit.exe 烧录 tina_violin-F1C200s_uart0_nor.img
启动日志:
[0]HELLO! BOOT0 is starting!
[2]boot0 commit : 80628dcde5dc4ecdc757a9e782c58d7cf1abf959
[60]dram size =64
[62]Reg pull reg_val=0x00000000,read=0x00000010
[66]Succeed in reading toc file head.
[69]The size of toc is 00054000.
[127]Reg pull reg_val=0x00000000,read=0x00000010
[136]Ready to disable icache.
[138]Jump to secend Boot.
U-Boot 2014.07 (Aug 21 2019 - 14:53:43) Allwinner Technology
uboot commit : 78cb55af380c57c0278162e241a9999cdc16e1d6
i2c_init: by cpux
[I2C-DEBUG]:i2c_set_clock() 354
[I2C-ERROR]:twi_send_clk_9pulse() 136 SDA is still Stuck Low, failed.
i2c_init ok
[0.187]pmbus: ready
axp: get node[/soc/pmu0] error
axp_probe error
[0.193]PMU: cpux 408 Mhz,AXI=408 Mhz
PLL6=600 Mhz,AHB1=200 Mhz, APB1=100Mhz
key value = 4294967295, fel_key = [256,426]
DRAM: 64 MiB
Relocation Offset is: 03580000
axp: get node[/soc/pmu0] error
int sunxi_dma_init---
irq enable
workmode = 0,storage type = 3
[0.259]spinor: 0
flash size =0x8000 sectors
sunxi spinor is initing...int sunxi_dma_init---
irq enable
sunxi_dma_install_int ok
sunxi_dma_install_int ok
OK
spinor id:0x1840ef
spi_freq = 40000000
[0.278]sunxi flash init ok
spinor read: start 0x3e0, sector 0x20
used mbr [0], count = 8
spinor read: start 0x800, sector 0x200
env size is 256
env partition is too small!
can't enabled backup env functions
logo addr = 0x83f00000
spinor read: start 0x400, sector 0x400
sunxi_read_bootlogo: read bootlogo partition successful
do not find fastboot status flag
--------fastboot partitions--------
-total partitions:8-
-name- -start- -size-
bootlogo : 4000 80000
env : 84000 20000
boot : a4000 280000
rootfs : 324000 400000
rootfs_data : 724000 80000
misc : 7a4000 10000
private : 7b4000 10000
UDISK : 7c4000 0
-----------------------------------
spinor read: start 0x4100, sector 0x4
disable nand error: FDT_ERR_BADPATH
disable nand error: FDT_ERR_BADPATH
## error: update_fdt_dram_para : FDT_ERR_NOTFOUND
PowerBus = 0( 2:vBus 3:acBus other: not exist)
no battery exist
sunxi_bmp_logo_display
Hit any key to stop autoboot: 0
spinor read: start 0x900, sector 0x40
spinor read: start 0x940, sector 0x1374
## Booting kernel from Legacy Image at 80007fc0 ...
Image Name: ARM OpenWrt Linux-3.10.65
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2582088 Bytes = 2.5 MiB
Load Address: 80008000
Entry Point: 80008000
XIP Kernel Image ... OK
reserving fdt memory region: addr=81000000 size=10000
Using Device Tree in place at 81000000, end 8100f23f
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.65 (cube@global) (gcc version 6.4.1 (OpenWrt/Linaro GCC 6.4-2017.11 2017-11) ) #33 Mon Mar 29 13:37:21 UTC 2021
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: Allwinner A1X (Device Tree), model: sun3iw1p1
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] cma: CMA: reserved 32 MiB at 82000000
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 16384
[ 0.000000] free_area_init_node: node 0, pgdat c0542acc, node_mem_map c0570000
[ 0.000000] Normal zone: 128 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 16384 pages, LIFO batch:3
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: enforcing=1 earlyprintk=sunxi-uart,0x01c25000 initcall_debug=0 console=ttyS1,115200 loglevel=8 root=/dev/mtdblock4 init=/pseudo_init rdinit=/rdinit partitions=bootlogo@mtdblock1:env@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:rootfs_data@mtdblock5:misc@mtdblock6:private@mtdblock7:UDISK@mtdblock8 cma=32M fb_base=0x83f00000 androidboot.serialno=<NULL> boot_type=3
[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Memory: 64MB = 64MB total
[ 0.000000] Memory: 26420k/26420k available, 39116k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xc4800000 - 0xff000000 ( 936 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc043ef84 (4316 kB)
[ 0.000000] .init : 0xc043f000 - 0xc045cf34 ( 120 kB)
[ 0.000000] .data : 0xc045e000 - 0xc05433e8 ( 917 kB)
[ 0.000000] .bss : 0xc05433e8 - 0xc056fbc0 ( 178 kB)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:256
[ 0.000000] of_sunxi_clocks_init : sunxi_clk_base[0xf1c20000]
[ 0.000000] pll_cpu-set_default_rate=552000000 success!
[ 0.000000] pll_video-set_default_rate=297000000 success!
[ 0.000000] pll_ddr-set_default_rate=312000000 success!
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.005328] Calibrating delay loop... 275.25 BogoMIPS (lpj=1376256)
[ 0.075252] pid_max: default: 32768 minimum: 301
[ 0.080437] Mount-cache hash table entries: 512
[ 0.086403] CPU: Testing write buffer coherency: ok
[ 0.092181] Setting up static identity map for 0xc0340248 - 0xc03402a0
[ 0.101429] devtmpfs: initialized
[ 0.106914] pinctrl core: initialized pinctrl subsystem
[ 0.119338] NET: Registered protocol family 16
[ 0.127272] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.134925] dump_class_init,844, success
[ 0.143764] sun3iw1p1-pinctrl pio: initialized sunXi PIO driver
[ 0.167576] bio: create slab <bio-0> at 0
[ 0.173104] pwm module init!
[ 0.177898] SCSI subsystem initialized
[ 0.182071] usbcore: registered new interface driver usbfs
[ 0.187957] usbcore: registered new interface driver hub
[ 0.193836] usbcore: registered new device driver usb
[ 0.201386] gpio=0,mul_sel=0,pull=0,drv_level=0,data=0
[ 0.207100] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.215645] pcf857x 0-0020: retry commucation.7
[ 0.220608] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.229135] pcf857x 0-0020: retry commucation.6
[ 0.234115] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.242634] pcf857x 0-0020: retry commucation.5
[ 0.247594] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.256114] pcf857x 0-0020: retry commucation.4
[ 0.261066] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.269584] pcf857x 0-0020: retry commucation.3
[ 0.274556] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.283071] pcf857x 0-0020: retry commucation.2
[ 0.288022] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.296535] pcf857x 0-0020: retry commucation.1
[ 0.301491] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.310036] pcf857x: probe of 0-0020 failed with error -70
[ 0.319580] Linux video capture interface: v2.00
[ 0.325015] Advanced Linux Sound Architecture Driver Initialized.
[ 0.332966] cfg80211: Calling CRDA to update world regulatory domain
[ 0.340479] Switching to clocksource sun3i high-res couter
[ 0.365530] get det_vbus is fail, 84
[ 0.370958] NET: Registered protocol family 2
[ 0.377612] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[ 0.384724] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[ 0.391388] TCP: Hash tables configured (established 512 bind 512)
[ 0.397957] TCP: reno registered
[ 0.401350] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.407460] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.414558] NET: Registered protocol family 1
[ 0.432647] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.439304] jffs2: version 2.2. © 2001-2006 Red Hat, Inc.
[ 0.445744] msgmni has been set to 115
[ 0.452972] io scheduler noop registered
[ 0.457268] io scheduler cfq registered (default)
[ 0.462145] [pm]aw_pm_init!
[ 0.465415] [pm]valid
[ 0.467916] [pm]valid
[ 0.470649] [DISP]disp_module_init
[ 0.526367] pll_freq=297000000HZ, lcd_dclk_freq=33000000HZ, clk_div=9
[ 0.533747] num_screens=1
[ 0.536635] screen_id=0
[ 0.539216] para->mclk[MOD_CLK_LCD1CH0]=0xc180c340
[ 0.544166] para->mclk[MOD_CLK_LCD1CH1]=0xc180c440
[ 0.549170] disp tv init
[ 0.551839] tcon_clk=0xc180c340, tcon_clk_parent=0x0
[ 0.557009] tcon_clk=0xc180c340, tcon_clk_parent=0xc1804400
[ 0.562757] tve_clk=0xc180c440, tve_clk_parent=0xc1804400
[ 0.568355] disp al tv init
[ 0.574034] fetch script datadisp.screen2_output_type fail
[ 0.580129] fetch script datadisp.screen2_output_mode fail
[ 0.588544] fetch script datadisp.fb2_format fail
[ 0.593723] fetch script datadisp.fb2_scaler_mode_enable fail
[ 0.600032] fetch script datadisp.fb2_width fail
[ 0.605123] fetch script datadisp.fb2_height fail
[ 0.633343] [DISP]disp_module_init finish
[ 0.651664] uart1: ttyS1 at MMIO 0x1c25400 (irq = 104) is a SUNXI
[ 0.658111] sw_console_setup()1324 - console setup baud 115200 parity n bits 8, flow n
[ 0.666333] console [ttyS1] enabled, bootconsole disabled
[ 0.666333] console [ttyS1] enabled, bootconsole disabled
[ 0.678883] misc dump reg init
[ 0.683558] sunxi-wlan wlan: wlan_busnum (0)
[ 0.688439] sunxi-wlan wlan: wlan_power_num (0)
[ 0.693483] sunxi-wlan wlan: Missing wlan_io_regulator.
[ 0.699336] sunxi-wlan wlan: io_regulator_name ((null))
[ 0.705166] sunxi-wlan wlan: request pincrtl handle for device [wlan] failed
[ 0.713024] ------------SUNXI_RF: Set regon for SUN3IW1P1_R6!----------------
[ 0.720996] sunxi-wlan wlan: wlan_regon gpio=-1048148608 mul-sel=-1048355436 pull=-1048355480 drv_level=-1072832404 data=-1072834700
[ 0.734637] sunxi-wlan wlan: can't request wlan_regon gpio 2041
[ 0.741275] platform wlan: Driver sunxi-wlan requests probe deferral
[ 0.748716] lradc_battery_probe:lradc_battery_probe ++++++
[ 0.754812] lradc_battery_dts_parse:lradc_battery_dts_parse ++++++
[ 0.761779] key base: f1c23400
[ 0.765306] irq num: 115 !
[ 0.768380] battery_data_hw_init:battery_data_hw_init ++++++
[ 0.774721] lradc_battery_probe:lradc_battery_probe ------
[ 0.783365] spi spi0: master is unqueued, this is deprecated
[ 0.791041] m25p80 spi0.0: found w25q128, expected m25p64
[ 0.797173] m25p80 spi0.0: w25q128 (16384 Kbytes) - fast mode
[ 0.807952] 9 sunxipart partitions found on MTD device (null)
[ 0.814347] Creating 9 MTD partitions on "(null)":
[ 0.819786] 0x000000000000-0x000000080000 : "uboot"
[ 0.827456] 0x000000080000-0x000000100000 : "bootlogo"
[ 0.835094] 0x000000100000-0x000000120000 : "env"
[ 0.842238] 0x000000120000-0x0000003a0000 : "boot"
[ 0.849440] 0x0000003a0000-0x0000007a0000 : "rootfs"
[ 0.856900] 0x0000007a0000-0x000000820000 : "rootfs_data"
[ 0.864792] 0x000000820000-0x000000830000 : "misc"
[ 0.872188] 0x000000830000-0x000000840000 : "private"
[ 0.879780] 0x000000840000-0x000001000000 : "UDISK"
[ 0.887592] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.896113] gpio_request failed
[ 0.899757] get regulator_io is no nocare
[ 0.904364] sunxi_hcd_host0 1c13000.otghci0-controller: sunxi_hcd host driver
[ 0.912455] sunxi_hcd_host0 1c13000.otghci0-controller: new USB bus registered, assigned bus number 1
[ 0.924312] hub 1-0:1.0: USB hub found
[ 0.928652] hub 1-0:1.0: 1 port detected
[ 0.933517] wrn: hcd is not enable, need not stop hcd
[ 0.939982] sunxi_keyboard_startup: keyboard has no clk.
[ 0.946571] input: sunxi-keyboard as /devices/virtual/input/input0
[ 0.954538] rtc-pcf8563 0-0051: chip found, driver version 0.4.3
[ 0.961697] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x51)
[ 0.970946] rtc-pcf8563 0-0051: pcf8563_get_datetime: read error
[ 0.978185] rtc-pcf8563 0-0051: rtc core: registered rtc-pcf8563 as rtc0
[ 0.985742] sunxi cedar version 0.1
[ 0.989974] VE: install start!!!
[ 0.989974]
[ 0.995358] cedar_ve: cedar-ve the get irq is 103
[ 1.001282] VE: install end!!!
[ 1.001282]
[ 1.008118] sunxi-mmc sdc0: SD/MMC/SDIO Host Controller Driver(v0.91 2018-5-29 14:19) Compiled in Mar 29 2021 at 13:36:51
[ 1.020598] sunxi-mmc sdc0: Can't get vmmc regulator string
[ 1.026893] sunxi-mmc sdc0: Can't get vqmmc regulator string
[ 1.033188] sunxi-mmc sdc0: Can't get vdmmc regulator string
[ 1.039523] sunxi-mmc sdc0: Failed getting OCR mask: 0
[ 1.046820] sunxi-mmc sdc0: ***set host ocr***
[ 1.052147] sunxi-mmc sdc0: sdc set ios: clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.076384] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.106546] sunxi-mmc sdc0: base:0xf1c0f000 irq:107
[ 1.112005] sunxi-mmc sdc0: smc 0 p0 err, cmd 52, RTO !!
[ 1.118853] sunxi-mmc sdc0: smc 0 p0 err, cmd 52, RTO !!
[ 1.124852] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.139387] failed to get gpio-spk and gpio_num
[ 1.147913] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin HPOUTR
[ 1.155916] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin HPOUTL
[ 1.163929] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin SPKL
[ 1.171711] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin SPKR
[ 1.179478] sunxi-codec-machine sound.2: ASoC: DAPM unknown pin External Speaker
[ 1.188813] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.207661] sunxi-codec-machine sound.2: sun3iw1codec <-> 1c23c00.cpudai0-controller mapping ok
[ 1.217574] sunxi-codec-machine sound.2: ASoC: no sink widget found for MainMic Bias
[ 1.226180] sunxi-codec-machine sound.2: ASoC: Failed to add route External MainMic -> direct -> MainMic Bias
[ 1.237246] sunxi-codec-machine sound.2: ASoC: no source widget found for MainMic Bias
[ 1.246037] sunxi-codec-machine sound.2: ASoC: Failed to add route MainMic Bias -> direct -> MIC1P
[ 1.256023] sunxi-codec-machine sound.2: ASoC: no source widget found for MainMic Bias
[ 1.264848] sunxi-codec-machine sound.2: ASoC: Failed to add route MainMic Bias -> direct -> MIC1N
[ 1.276789] sunxi-mmc sdc0: smc 0 p0 err, cmd 8, RTO !!
[ 1.283526] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.290335] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.296673] ipip: IPv4 over IPv4 tunneling driver
[ 1.301950] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.308690] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.314954] gre: GRE over IPv4 demultiplexor driver
[ 1.320516] sunxi-mmc sdc0: smc 0 p0 err, cmd 55, RTO !!
[ 1.326500] ip_gre: GRE over IPv4 tunneling driver
[ 1.332702] sunxi-mmc sdc0: smc 0 p0 err, cmd 55, RTO !!
[ 1.339611] sunxi-mmc sdc0: smc 0 p0 err, cmd 55, RTO !!
[ 1.346436] sunxi-mmc sdc0: smc 0 p0 err, cmd 55, RTO !!
[ 1.352589] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.363461] TCP: cubic registered
[ 1.367216] Initializing XFRM netlink socket
[ 1.372150] NET: Registered protocol family 17
[ 1.377193] sunxi-mmc sdc0: smc 0 p0 err, cmd 1, RTO !!
[ 1.383074] sunxi-mmc sdc0: sdc set ios: clk 0Hz bm OD pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
[ 1.393586] NET: Registered protocol family 15
[ 1.399074] VFP support v0.3: not present
[ 1.405834] [LCD]lcd_module_init
[ 1.413483] enhance_en=1
[ 1.416464] matrixresult:(0x0, 0x3c4, 0x0, 0x0)
[ 1.421643] pll_freq=297000000HZ, lcd_dclk_freq=33000000HZ, clk_div=9
[ 1.428898] clk_div=9
[ 1.431439] [DISP] disp_sys_gpio_request,line:303: disp_sys_gpio_request failed, gpio_name=lcd_gpio_0, gpio=2043, ret=-517
[ 1.445587] [LCD]open, step 0 finish
[ 1.486346] [LCD]open, step 1 finish
[ 1.546347] [LCD]open, step 2 finish
[ 1.666356] ------------[ cut here ]------------
[ 1.671556] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 1.679347] invalid GPIO -517
[ 1.682666] Modules linked in:
[ 1.686074] CPU: 0 PID: 9 Comm: kworker/0:1 Not tainted 3.10.65 #33
[ 1.693103] Workqueue: events start_work
[ 1.697503] Backtrace:
[ 1.700321] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 1.709733] r7:0000007e r6:c03f32ed r5:00000009 r4:c185bda8
[ 1.716132] [<c001351c>] (show_stack+0x0/0x1c) from [<c033da38>] (dump_stack+0x20/0x28)
[ 1.725120] [<c033da18>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 1.735071] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 1.745626] r9:c05551e0 r8:c03f4102 r7:00000001 r6:00000000 r5:c18ce300
r4:fffffdfb
[ 1.754472] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c014bb98>] (gpio_to_desc+0x28/0x4c)
[ 1.764267] r3:fffffdfb r2:c03f32dc
[ 1.768346] [<c014bb70>] (gpio_to_desc+0x0/0x4c) from [<c014bc3c>] (gpio_get_value_cansleep+0x10/0x44)
[ 1.778775] [<c014bc2c>] (gpio_get_value_cansleep+0x0/0x44) from [<c015a7fc>] (disp_sys_gpio_set_direction+0x20/0xb8)
[ 1.790685] [<c015a7dc>] (disp_sys_gpio_set_direction+0x0/0xb8) from [<c0170d5c>] (disp_lcd_gpio_set_direction+0xa8/0xc8)
[ 1.802908] r5:c18ce300 r4:c1814000
[ 1.806981] [<c0170cb4>] (disp_lcd_gpio_set_direction+0x0/0xc8) from [<c016c730>] (bsp_disp_lcd_gpio_set_direction+0x38/0x44)
[ 1.819577] r7:c1814000 r6:c0554f68 r5:00000001 r4:00000000
[ 1.825934] [<c016c6f8>] (bsp_disp_lcd_gpio_set_direction+0x0/0x44) from [<c0177274>] (sunxi_lcd_gpio_set_direction+0x20/0x30)
[ 1.838633] r5:00000000 r4:00000003
[ 1.842661] [<c0177254>] (sunxi_lcd_gpio_set_direction+0x0/0x30) from [<c017a9c0>] (LCD_bl_open+0x28/0x3c)
[ 1.853476] [<c017a998>] (LCD_bl_open+0x0/0x3c) from [<c0154010>] (drv_lcd_enable+0xa0/0xe0)
[ 1.862908] [<c0153f70>] (drv_lcd_enable+0x0/0xe0) from [<c015415c>] (start_work+0x10c/0x1cc)
[ 1.872420] r9:c05551e0 r8:c03f411f r7:00000001 r6:c03f40af r5:c0555454
r4:00000000
[ 1.881210] [<c0154050>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 1.891032] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 1.901914] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 1.912555] r5:c046abd0 r4:c1822e40
[ 1.916631] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 1.925642] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 1.934594] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 1.940945] ---[ end trace 7bafd6f951250a1d ]---
[ 1.946068] ------------[ cut here ]------------
[ 1.951284] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 1.959049] invalid GPIO -517
[ 1.962335] Modules linked in:
[ 1.965737] CPU: 0 PID: 9 Comm: kworker/0:1 Tainted: G W 3.10.65 #33
[ 1.973830] Workqueue: events start_work
[ 1.978236] Backtrace:
[ 1.981012] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 1.990441] r7:0000007e r6:c03f32ed r5:00000009 r4:c185bda0
[ 1.996845] [<c001351c>] (show_stack+0x0/0x1c) from [<c033da38>] (dump_stack+0x20/0x28)
[ 2.005805] [<c033da18>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 2.015742] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 2.026329] r9:c05551e0 r8:c03f4102 r7:00000001 r6:00000000 r5:c18ce300
r4:00000000
[ 2.035144] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c014bb98>] (gpio_to_desc+0x28/0x4c)
[ 2.044939] r3:fffffdfb r2:c03f32dc
[ 2.048997] [<c014bb70>] (gpio_to_desc+0x0/0x4c) from [<c014c628>] (gpio_direction_output+0x14/0x20)
[ 2.059250] [<c014c614>] (gpio_direction_output+0x0/0x20) from [<c015a808>] (disp_sys_gpio_set_direction+0x2c/0xb8)
[ 2.070890] r5:c18ce300 r4:fffffdfb
[ 2.074950] [<c015a7dc>] (disp_sys_gpio_set_direction+0x0/0xb8) from [<c0170d5c>] (disp_lcd_gpio_set_direction+0xa8/0xc8)
[ 2.087173] r5:c18ce300 r4:c1814000
[ 2.091205] [<c0170cb4>] (disp_lcd_gpio_set_direction+0x0/0xc8) from [<c016c730>] (bsp_disp_lcd_gpio_set_direction+0x38/0x44)
[ 2.103806] r7:c1814000 r6:c0554f68 r5:00000001 r4:00000000
[ 2.110206] [<c016c6f8>] (bsp_disp_lcd_gpio_set_direction+0x0/0x44) from [<c0177274>] (sunxi_lcd_gpio_set_direction+0x20/0x30)
[ 2.122898] r5:00000000 r4:00000003
[ 2.126963] [<c0177254>] (sunxi_lcd_gpio_set_direction+0x0/0x30) from [<c017a9c0>] (LCD_bl_open+0x28/0x3c)
[ 2.137772] [<c017a998>] (LCD_bl_open+0x0/0x3c) from [<c0154010>] (drv_lcd_enable+0xa0/0xe0)
[ 2.147211] [<c0153f70>] (drv_lcd_enable+0x0/0xe0) from [<c015415c>] (start_work+0x10c/0x1cc)
[ 2.156719] r9:c05551e0 r8:c03f411f r7:00000001 r6:c03f40af r5:c0555454
r4:00000000
[ 2.165478] [<c0154050>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 2.175305] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 2.186185] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 2.196833] r5:c046abd0 r4:c1822e40
[ 2.200851] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 2.209931] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 2.218874] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 2.225185] ---[ end trace 7bafd6f951250a1e ]---
[ 2.230345] gpiod_direction_output: invalid GPIO
[ 2.235498] [DISP] disp_sys_gpio_set_direction,line:413: gpio_direction_output fail!
[ 2.244424] ------------[ cut here ]------------
[ 2.249622] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 2.257407] invalid GPIO -517
[ 2.260693] Modules linked in:
[ 2.264098] CPU: 0 PID: 9 Comm: kworker/0:1 Tainted: G W 3.10.65 #33
[ 2.272190] Workqueue: events start_work
[ 2.276590] Backtrace:
[ 2.279369] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 2.288802] r7:0000007e r6:c03f32ed r5:00000009 r4:c185bda8
[ 2.295158] [<c001351c>] (show_stack+0x0/0x1c) from [<c033da38>] (dump_stack+0x20/0x28)
[ 2.304161] [<c033da18>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 2.314083] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 2.324655] r9:c05551e0 r8:c03f4102 r7:00000001 r6:00000000 r5:c18ce300
r4:00000001
[ 2.333469] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c014bb98>] (gpio_to_desc+0x28/0x4c)
[ 2.343278] r3:fffffdfb r2:c03f32dc
[ 2.347334] [<c014bb70>] (gpio_to_desc+0x0/0x4c) from [<c014be10>] (gpio_set_value_cansleep+0x14/0x6c)
[ 2.357779] [<c014bdfc>] (gpio_set_value_cansleep+0x0/0x6c) from [<c015a8f8>] (disp_sys_gpio_set_value+0x18/0x4c)
[ 2.369202] r5:c18ce300 r4:c1814000
[ 2.373279] [<c015a8e0>] (disp_sys_gpio_set_value+0x0/0x4c) from [<c0170c94>] (disp_lcd_gpio_set_value+0xa8/0xc8)
[ 2.384762] [<c0170bec>] (disp_lcd_gpio_set_value+0x0/0xc8) from [<c016c6ec>] (bsp_disp_lcd_gpio_set_value+0x38/0x44)
[ 2.396593] r7:c1814000 r6:c0554f68 r5:00000001 r4:00000000
[ 2.402949] [<c016c6b4>] (bsp_disp_lcd_gpio_set_value+0x0/0x44) from [<c0177244>] (sunxi_lcd_gpio_set_value+0x20/0x30)
[ 2.414877] r5:00000000 r4:00000003
[ 2.418947] [<c0177224>] (sunxi_lcd_gpio_set_value+0x0/0x30) from [<c017a9d0>] (LCD_bl_open+0x38/0x3c)
[ 2.429372] [<c017a998>] (LCD_bl_open+0x0/0x3c) from [<c0154010>] (drv_lcd_enable+0xa0/0xe0)
[ 2.438827] [<c0153f70>] (drv_lcd_enable+0x0/0xe0) from [<c015415c>] (start_work+0x10c/0x1cc)
[ 2.448328] r9:c05551e0 r8:c03f411f r7:00000001 r6:c03f40af r5:c0555454
r4:00000000
[ 2.457139] [<c0154050>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 2.466946] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 2.477828] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 2.488487] r5:c046abd0 r4:c1822e40
[ 2.492505] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 2.501556] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 2.510496] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 2.516840] ---[ end trace 7bafd6f951250a1f ]---
[ 2.521981] [LCD]open, step 3 finish
[ 2.526862] [LCD]lcd_module_init finish
[ 2.531807] sunxi-wlan wlan: wlan_busnum (0)
[ 2.536711] sunxi-wlan wlan: wlan_power_num (0)
[ 2.541803] sunxi-wlan wlan: Missing wlan_io_regulator.
[ 2.547675] sunxi-wlan wlan: io_regulator_name ((null))
[ 2.553592] sunxi-wlan wlan: request pincrtl handle for device [wlan] failed
[ 2.561508] ------------SUNXI_RF: Set regon for SUN3IW1P1_R6!----------------
[ 2.569501] sunxi-wlan wlan: wlan_regon gpio=-1048148608 mul-sel=-1047962220 pull=-1047962264 drv_level=-1072832404 data=-1072834700
[ 2.583175] sunxi-wlan wlan: can't request wlan_regon gpio 2041
[ 2.589842] platform wlan: Driver sunxi-wlan requests probe deferral
[ 2.597249] usb_serial_number:20080411
[ 2.601996] file system registered
[ 2.608705] android_usb gadget: Mass Storage Function, version: 2009/09/11
[ 2.616482] android_usb gadget: Number of LUNs=3
[ 2.621715] lun0: LUN: removable file: (no medium)
[ 2.627206] lun1: LUN: removable file: (no medium)
[ 2.632621] lun2: LUN: removable file: (no medium)
[ 2.638933] android_usb gadget: android_usb ready
[ 2.644590] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x51)
[ 2.653868] rtc-pcf8563 0-0051: pcf8563_get_datetime: read error
[ 2.660637] rtc-pcf8563 0-0051: hctosys: unable to read the hardware clock
[ 2.668535] ALSA device list:
[ 2.671845] #0: audiocodec
[ 2.690776] VFS: Mounted root (squashfs filesystem) readonly on device 31:4.
[ 2.704496] devtmpfs: mounted
[ 2.708993] Freeing unused kernel memory: 116K (c043f000 - c045c000)
mount: mounting none on /dev failed: Resource busy
mount: mounting pstore on /sys/fs/pstore failed: No such file or directory
-- run rc.preboot --
-- set volume --
-- play music --
-- end --
[ 4.386401]
[ 4.386401] insmod_device_driver
[ 4.386401]
[ 4.393538] device_chose finished 77!
playing '/etc/kaiji.wav': 2 ch, 48000 hz, 16 bit
[ 6.587618] get ctp_name is fail, -22
[ 6.591710] get ctp_power is fail, -22
[ 6.595870] get ctp_power_ldo_vol is fail, -22
[ 6.600973] ctp_fetch_sysconfig_para: ctp_power_io is invalid.
[ 6.607556] get ctp_wakeup is fail, -22
[ 6.611831] ctp_fetch_sysconfig_para: irq_gpio is invalid.
[ 6.668290] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5d)
[ 6.697586] input: gt82x as /devices/virtual/input/input1
[ 6.721252] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5d)
[ 6.741641] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5d)
[ 6.752059] sunxi-wlan wlan: wlan_busnum (0)
[ 6.757044] sunxi-wlan wlan: wlan_power_num (0)
[ 6.762099] sunxi-wlan wlan: Missing wlan_io_regulator.
[ 6.767971] sunxi-wlan wlan: io_regulator_name ((null))
[ 6.781877] sunxi-wlan wlan: request pincrtl handle for device [wlan] failed
[ 6.789892] ------------SUNXI_RF: Set regon for SUN3IW1P1_R6!----------------
[ 6.797915] sunxi-wlan wlan: wlan_regon gpio=-1048148608 mul-sel=-1048257132 pull=-1048257176 drv_level=-1072832404 data=-1072834700
[ 6.811606] sunxi-wlan wlan: can't request wlan_regon gpio 2041
[ 6.826575] ==icn85xx_init 3281 20150319!!!!!!!!
[ 6.832139] get ctp_name is fail, -22
[ 6.836356] get ctp_power is fail, -22
[ 6.840562] get ctp_power_ldo_vol is fail, -22
[ 6.845501] ctp_fetch_sysconfig_para: ctp_power_io is invalid.
[ 6.852051] get ctp_wakeup is fail, -22
[ 6.856388] ctp_fetch_sysconfig_para: irq_gpio is invalid.
[ 6.862480] wakeup gpio_request is failed
[ 6.866964] icn85xx_ts_init:init_platform_resource err.
[ 6.886106] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5d)
[ 6.896125] 20141014 ====icn85xx_ts_probe begin=====.
[ 6.902050] can't find function irq on pin 0
[ 6.907968] goodix_probe: request irq failed
[ 6.912838] platform wlan: Driver sunxi-wlan requests probe deferral
[ 6.986794] twi_stop()424 - [i2c0] i2c state(0x000000f9) isn't idle(0xf8)
[ 6.994351] sunxi_i2c_core_process()787 - [i2c0] STOP failed!
[ 7.000859] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x30, dev addr: 0x48)
[ 7.010145] iic test error! retry = 1
[ 7.028509] twi_start()387 - [i2c0] START can't sendout!
[ 7.035020] twi_stop()424 - [i2c0] i2c state(0x000000f9) isn't idle(0xf8)
[ 7.042561] sunxi_i2c_core_process()787 - [i2c0] STOP failed!
[ 7.050347] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x30, dev addr: 0x48)
[ 7.059743] iic test error! retry = 2
[ 7.078510] twi_start()387 - [i2c0] START can't sendout!
[ 7.085024] twi_stop()424 - [i2c0] i2c state(0x000000f9) isn't idle(0xf8)
[ 7.092559] sunxi_i2c_core_process()787 - [i2c0] STOP failed!
[ 7.100334] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x30, dev addr: 0x48)
[ 7.109738] iic test error! retry = 3
[ 7.208484] twi_start()387 - [i2c0] START can't sendout!
[ 7.214779] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.225472] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.235877] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.245224] icn85xx_prog_i2c_txdata i2c write error: -70
[ 7.326598] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.336062] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.346955] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.356151] icn85xx_prog_i2c_txdata i2c write error: -70
[ 7.436619] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.446121] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.456935] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.466178] icn85xx_prog_i2c_txdata i2c write error: -70
[ 7.474177] icn85xx_goto_progmode over, ret: -70
[ 7.496735] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.507050] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.517538] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.526847] icn85xx_prog_i2c_txdata i2c write error: -70
[ 7.532786] write reg failed! ret: -70
[ 7.536994] icn85xx_iic_test failed.
[ 7.541895] ctp_icn85xx: probe of 0-0048 failed with error -1
[ 7.549991] icn85xx init ok,by zyt
[ 7.624626] Unable to handle kernel NULL pointer dereference at virtual address 00000054
[ 7.633836] pgd = c1b04000
[ 7.636912] [00000054] *pgd=81bbf831, *pte=00000000, *ppte=00000000
[ 7.643899] Internal error: Oops: 17 [#1] ARM
[ 7.648729] Modules linked in: xradio_core(+) xradio_mac icn85xx_ts gt82x snd_pcm_oss snd_mixer_oss snd_seq_device
[ 7.660260] CPU: 0 PID: 108 Comm: kmodloader Tainted: G W 3.10.65 #33
[ 7.668369] task: c1b002c0 ti: c1aea000 task.ti: c1aea000
[ 7.674394] PC is at dev_driver_string+0xc/0x44
[ 7.679426] LR is at __dev_printk+0x3c/0x6c
[ 7.684073] pc : [<c019f008>] lr : [<c019f198>] psr: 20000013
[ 7.684073] sp : c1aebdb8 ip : c1aebdc8 fp : c1aebdc4
[ 7.696799] r10: 0000001a r9 : 00000000 r8 : 00000000
[ 7.702592] r7 : bf0bdab8 r6 : c0543400 r5 : c1aebdf0 r4 : 00000036
[ 7.709829] r3 : c1aebdec r2 : c1aebdf0 r1 : 00000010 r0 : 00000010
[ 7.717069] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 7.724982] Control: 0005317f Table: 81b04000 DAC: 00000015
[ 7.731351]
[ 7.731351] PC: 0xc019ef88:
[ 7.736084] ef88 e24b409c e1a05000 e1a06002 e1a00001 e3a02080 e1a01004 e1a07003 ebffffaf
[ 7.745194] efa8 e3500000 e1a03000 e88d00c0 11a02004 03a02000 e1a01005 e3a00000 ebf9f945
[ 7.754305] efc8 e24bd01c e89da8f0 e1a0c00d e92d000c e92dd800 e24cb00c e24dd008 e28b3008
[ 7.763414] efe8 e59b2004 e50b3010 ebffffe0 e24bd00c e89da800 e1a0c00d e92dd800 e24cb004
[ 7.772522] f008 e5903044 e3530000 0a000001 e5930000 e89da800 e5903040 e3530000 1afffffa
[ 7.781632] f028 e59030cc e3530000 1afffff7 e59f0000 e89da800 c03e822d e1a0c00d e92dd830
[ 7.790742] f048 e24cb004 e5913008 e1a05001 e3530000 e2400008 03e04004 0a000006 e12fff33
[ 7.799852] f068 e3500a01 e1a04000 ba000002 e5951008 e59f0008 ebfadcd0 e1a00004 e89da830
[ 7.808966]
[ 7.808966] LR: 0xc019f118:
[ 7.813700] f118 089da830 e5903000 e3530000 089da830 e593303c e5942010 e2833084 e1520003
[ 7.822807] f138 189da830 e59f0014 eb067de1 e1a00004 ebfe2380 e59f0004 eb067df6 e89da830
[ 7.831918] f158 c0533c50 e1a0c00d e92dd830 e24cb004 e24dd008 e3510000 e1a05002 1a000004
[ 7.841028] f178 e1a01000 e59f003c eb067429 e24bd014 e89da830 e5d04001 e1a00001 ebffff98
[ 7.850139] f198 e591202c e2444030 e3520000 05912008 e1a03000 e88d0024 e1a00004 e59f2008
[ 7.859248] f1b8 ebffff84 eafffff0 c03f95e2 c0416f72 e1a0c00d e92d000c e92dd800 e24cb00c
[ 7.868356] f1d8 e24dd010 e28b3008 e50b3018 e59b3004 e24b2014 e50b3014 e24b3018 e50b3010
[ 7.877469] f1f8 ebffffd7 e24bd00c e89da800 e1a0c00d e92d000e e92dd800 e24cb010 e24dd014
[ 7.886582]
[ 7.886582] SP: 0xc1aebd38:
[ 7.891316] bd38 00000000 c0477690 c1aebd64 c1aebd50 c003f2c4 c033f0dc c019f008 20000013
[ 7.900424] bd58 ffffffff c1aebda4 c1aebdc4 c1aebd70 c000f4b8 c000a1a0 00000010 00000010
[ 7.909534] bd78 c1aebdf0 c1aebdec 00000036 c1aebdf0 c0543400 bf0bdab8 00000000 00000000
[ 7.918643] bd98 0000001a c1aebdc4 c1aebdc8 c1aebdb8 c019f198 c019f008 20000013 ffffffff
[ 7.927752] bdb8 c1aebde4 c1aebdc8 c019f198 c019f00c c033e8e0 c033f624 c0558d6c bf0bda24
[ 7.936863] bdd8 c1aebe08 c1aebde8 c019f44c c019f16c c1aebe24 c1aebe10 c03fa8da c1aebdec
[ 7.945973] bdf8 c002fd6c c1aebe2c c1aebe18 c01b2ae4 c019f424 c03fa8da c1bcde50 c1bcd6d0
[ 7.955084] be18 c1aea000 bf0bda24 c1aebe3c c1aebe30 bf0a7b9c c01b2ac4 c1aebe54 c1aebe40
[ 7.964196]
[ 7.964196] IP: 0xc1aebd48:
[ 7.968929] bd48 c003f2c4 c033f0dc c019f008 20000013 ffffffff c1aebda4 c1aebdc4 c1aebd70
[ 7.978039] bd68 c000f4b8 c000a1a0 00000010 00000010 c1aebdf0 c1aebdec 00000036 c1aebdf0
[ 7.987147] bd88 c0543400 bf0bdab8 00000000 00000000 0000001a c1aebdc4 c1aebdc8 c1aebdb8
[ 7.996257] bda8 c019f198 c019f008 20000013 ffffffff c1aebde4 c1aebdc8 c019f198 c019f00c
[ 8.005368] bdc8 c033e8e0 c033f624 c0558d6c bf0bda24 c1aebe08 c1aebde8 c019f44c c019f16c
[ 8.014478] bde8 c1aebe24 c1aebe10 c03fa8da c1aebdec c002fd6c c1aebe2c c1aebe18 c01b2ae4
[ 8.023586] be08 c019f424 c03fa8da c1bcde50 c1bcd6d0 c1aea000 bf0bda24 c1aebe3c c1aebe30
[ 8.032698] be28 bf0a7b9c c01b2ac4 c1aebe54 c1aebe40 bf0c602c bf0a7b9c c1aea000 bf0c6000
[ 8.041811]
[ 8.041811] FP: 0xc1aebd44:
[ 8.046544] bd44 c1aebd50 c003f2c4 c033f0dc c019f008 20000013 ffffffff c1aebda4 c1aebdc4
[ 8.055654] bd64 c1aebd70 c000f4b8 c000a1a0 00000010 00000010 c1aebdf0 c1aebdec 00000036
[ 8.064762] bd84 c1aebdf0 c0543400 bf0bdab8 00000000 00000000 0000001a c1aebdc4 c1aebdc8
[ 8.073871] bda4 c1aebdb8 c019f198 c019f008 20000013 ffffffff c1aebde4 c1aebdc8 c019f198
[ 8.082979] bdc4 c019f00c c033e8e0 c033f624 c0558d6c bf0bda24 c1aebe08 c1aebde8 c019f44c
[ 8.092090] bde4 c019f16c c1aebe24 c1aebe10 c03fa8da c1aebdec c002fd6c c1aebe2c c1aebe18
[ 8.101199] be04 c01b2ae4 c019f424 c03fa8da c1bcde50 c1bcd6d0 c1aea000 bf0bda24 c1aebe3c
[ 8.110308] be24 c1aebe30 bf0a7b9c c01b2ac4 c1aebe54 c1aebe40 bf0c602c bf0a7b9c c1aea000
[ 8.119419]
[ 8.119419] R2: 0xc1aebd70:
[ 8.124151] bd70 00000010 00000010 c1aebdf0 c1aebdec 00000036 c1aebdf0 c0543400 bf0bdab8
[ 8.133257] bd90 00000000 00000000 0000001a c1aebdc4 c1aebdc8 c1aebdb8 c019f198 c019f008
[ 8.142365] bdb0 20000013 ffffffff c1aebde4 c1aebdc8 c019f198 c019f00c c033e8e0 c033f624
[ 8.151475] bdd0 c0558d6c bf0bda24 c1aebe08 c1aebde8 c019f44c c019f16c c1aebe24 c1aebe10
[ 8.160586] bdf0 c03fa8da c1aebdec c002fd6c c1aebe2c c1aebe18 c01b2ae4 c019f424 c03fa8da
[ 8.169695] be10 c1bcde50 c1bcd6d0 c1aea000 bf0bda24 c1aebe3c c1aebe30 bf0a7b9c c01b2ac4
[ 8.178806] be30 c1aebe54 c1aebe40 bf0c602c bf0a7b9c c1aea000 bf0c6000 c1aebe94 c1aebe58
[ 8.187916] be50 c000a4d4 bf0c6010 c1aebe84 bf0bda70 c1aebf48 c1997800 bf0bdab8 bf0bda70
[ 8.197027]
[ 8.197027] R3: 0xc1aebd6c:
[ 8.201759] bd6c c000a1a0 00000010 00000010 c1aebdf0 c1aebdec 00000036 c1aebdf0 c0543400
[ 8.210869] bd8c bf0bdab8 00000000 00000000 0000001a c1aebdc4 c1aebdc8 c1aebdb8 c019f198
[ 8.219977] bdac c019f008 20000013 ffffffff c1aebde4 c1aebdc8 c019f198 c019f00c c033e8e0
[ 8.229087] bdcc c033f624 c0558d6c bf0bda24 c1aebe08 c1aebde8 c019f44c c019f16c c1aebe24
[ 8.238198] bdec c1aebe10 c03fa8da c1aebdec c002fd6c c1aebe2c c1aebe18 c01b2ae4 c019f424
[ 8.247307] be0c c03fa8da c1bcde50 c1bcd6d0 c1aea000 bf0bda24 c1aebe3c c1aebe30 bf0a7b9c
[ 8.256420] be2c c01b2ac4 c1aebe54 c1aebe40 bf0c602c bf0a7b9c c1aea000 bf0c6000 c1aebe94
[ 8.265528] be4c c1aebe58 c000a4d4 bf0c6010 c1aebe84 bf0bda70 c1aebf48 c1997800 bf0bdab8
[ 8.274642]
[ 8.274642] R5: 0xc1aebd70:
[ 8.279376] bd70 00000010 00000010 c1aebdf0 c1aebdec 00000036 c1aebdf0 c0543400 bf0bdab8
[ 8.288488] bd90 00000000 00000000 0000001a c1aebdc4 c1aebdc8 c1aebdb8 c019f198 c019f008
[ 8.297598] bdb0 20000013 ffffffff c1aebde4 c1aebdc8 c019f198 c019f00c c033e8e0 c033f624
[ 8.306705] bdd0 c0558d6c bf0bda24 c1aebe08 c1aebde8 c019f44c c019f16c c1aebe24 c1aebe10
[ 8.315815] bdf0 c03fa8da c1aebdec c002fd6c c1aebe2c c1aebe18 c01b2ae4 c019f424 c03fa8da
[ 8.324925] be10 c1bcde50 c1bcd6d0 c1aea000 bf0bda24 c1aebe3c c1aebe30 bf0a7b9c c01b2ac4
[ 8.334036] be30 c1aebe54 c1aebe40 bf0c602c bf0a7b9c c1aea000 bf0c6000 c1aebe94 c1aebe58
[ 8.343146] be50 c000a4d4 bf0c6010 c1aebe84 bf0bda70 c1aebf48 c1997800 bf0bdab8 bf0bda70
[ 8.352258]
[ 8.352258] R6: 0xc0543380:
[ 8.356990] 3380 c02df884 c04673d8 c02d7e1c c02d7dc0 c056cbe0 c028fe14 c028ff18 c056cbe0
[ 8.366100] 33a0 c02d4b64 c02d4b8c c056cbe0 c02c46bc c02c46d0 c056cbe0 c0299728 c0299738
[ 8.375209] 33c0 c056cbe0 c028ff5c c0290000 c056cbe0 c028c67c c028c718 c056cbe0 c028b940
[ 8.384319] 33e0 c028b958 c056cbe0 00000000 00000000 00000000 00000000 00000000 00000000
[ 8.393427] 3400 00000000 c0600138 00000000 00000000 00000000 c05fff40 c06000c0 00000000
[ 8.402533] 3420 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 8.411641] 3440 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 8.420748] 3460 00000000 00000000 01f00004 00000000 00000001 00000000 c0543478 00000000
[ 8.429867] Process kmodloader (pid: 108, stack limit = 0xc1aea1b8)
[ 8.436816] Stack: (0xc1aebdb8 to 0xc1aec000)
[ 8.451728] bda0: c1aebde4 c1aebdc8
[ 8.460999] bdc0: c019f198 c019f00c c033e8e0 c033f624 c0558d6c bf0bda24 c1aebe08 c1aebde8
[ 8.470213] bde0: c019f44c c019f16c c1aebe24 c1aebe10 c03fa8da c1aebdec c002fd6c c1aebe2c
[ 8.479364] be00: c1aebe18 c01b2ae4 c019f424 c03fa8da c1bcde50 c1bcd6d0 c1aea000 bf0bda24
[ 8.488523] be20: c1aebe3c c1aebe30 bf0a7b9c c01b2ac4 c1aebe54 c1aebe40 bf0c602c bf0a7b9c
[ 8.497665] be40: c1aea000 bf0c6000 c1aebe94 c1aebe58 c000a4d4 bf0c6010 c1aebe84 bf0bda70
[ 8.506821] be60: c1aebf48 c1997800 bf0bdab8 bf0bda70 c1aebf48 c1997800 bf0bdab8 c1997a08
[ 8.515908] be80: 00000000 0000001a c1aebf44 c1aebe98 c0054e5c c000a3c8 bf0bda7c 00007fff
[ 8.525060] bea0: c0051fc8 c1aebed8 ffffffff 000123b7 bf0bdbb0 c4916420 c00529c0 00000028
[ 8.534195] bec0: c1aea000 bf0bda7c c1aebfa4 c1aebed8 c000f520 c000a2e8 c48da520 00000000
[ 8.543347] bee0: 00000000 bf0b20ac 00000003 00000000 00000000 00000000 00000000 00000000
[ 8.552554] bf00: 00000000 00000000 00000000 00000000 00000000 00000000 20000013 b6e70010
[ 8.561703] bf20: 000123b7 00044470 00000080 c000fa28 c1aea000 00000000 c1aebfa4 c1aebf48
[ 8.570862] bf40: c0055518 c0053a1c c48d2000 00044470 c4916060 c4915f7c c4908984 00032a88
[ 8.579998] bf60: 000362b8 00000000 00000000 00000000 00000018 00000019 00000013 00000000
[ 8.589161] bf80: 0000000c 00000000 00000001 00000000 00000000 00000004 00000000 c1aebfa8
[ 8.598302] bfa0: c000f8a0 c0055458 00000000 00000000 b6e70010 00044470 000123b7 00001f04
[ 8.607455] bfc0: 00000000 00000000 00000004 00000080 00044470 00000000 b6ed0c70 00000000
[ 8.616586] bfe0: bed6ec2c bed6ec10 00011ae8 b6f234cc 60000010 b6e70010 81fee831 81feec31
[ 8.625673] Backtrace:
[ 8.628506] [<c019effc>] (dev_driver_string+0x0/0x44) from [<c019f198>] (__dev_printk+0x3c/0x6c)
[ 8.638367] [<c019f15c>] (__dev_printk+0x0/0x6c) from [<c019f44c>] (_dev_info+0x3c/0x48)
[ 8.647390] r5:bf0bda24 r4:c0558d6c
[ 8.651407] [<c019f410>] (_dev_info+0x0/0x48) from [<c01b2ae4>] (sunxi_wlan_get_bus_index+0x30/0x4c)
[ 8.661603] r3:c1bcd6d0 r2:c1bcde50 r1:c03fa8da
[ 8.667110] [<c01b2ab4>] (sunxi_wlan_get_bus_index+0x0/0x4c) from [<bf0a7b9c>] (xradio_plat_init+0x10/0x24 [xradio_core])
[ 8.679368] r5:bf0bda24 r4:c1aea000
[ 8.683844] [<bf0a7b8c>] (xradio_plat_init+0x0/0x24 [xradio_core]) from [<bf0c602c>] (init_module+0x2c/0xcc [xradio_core])
[ 8.696542] [<bf0c6000>] (init_module+0x0/0xcc [xradio_core]) from [<c000a4d4>] (do_one_initcall+0x11c/0x148)
[ 8.707636] r5:bf0c6000 r4:c1aea000
[ 8.711659] [<c000a3b8>] (do_one_initcall+0x0/0x148) from [<c0054e5c>] (load_module+0x1450/0x1a3c)
[ 8.721693] [<c0053a0c>] (load_module+0x0/0x1a3c) from [<c0055518>] (SyS_init_module+0xd0/0xd4)
[ 8.731421] [<c0055448>] (SyS_init_module+0x0/0xd4) from [<c000f8a0>] (ret_fast_syscall+0x0/0x2c)
[ 8.741321] r6:00000004 r5:00000000 r4:00000000
[ 8.746558] Code: e89da800 e1a0c00d e92dd800 e24cb004 (e5903044)
[ 8.753329] ---[ end trace 7bafd6f951250a20 ]---
Segmentation fault
-- run rc.final --
insmod F1C200s-board
-- wifi connect --
insmod wifi kernel module --------------------
[ 8.968847] android_usb: already disabled
[ 9.152143] adb_open
[ 9.155008] adb_bind_config
[ 9.411108] android_work: sent uevent USB_STATE=CONNECTED
[ 9.536919] android_usb gadget: high-speed config #1: android
[ 9.566817] android_work: sent uevent USB_STATE=CONFIGURED
[ 38.886168] xradio_wlan: gave up waiting for init of module xradio_core.
[ 38.893695] xradio_wlan: Unknown symbol xradio_etf_to_wlan (err -16)
[ 68.895887] xradio_wlan: gave up waiting for init of module xradio_core.
[ 68.903397] xradio_wlan: Unknown symbol xradio_core_init (err -16)
[ 98.905664] xradio_wlan: gave up waiting for init of module xradio_core.
[ 98.913132] xradio_wlan: Unknown symbol xradio_core_deinit (err -16)
[ 128.915430] xradio_wlan: gave up waiting for init of module xradio_core.
[ 128.922898] xradio_wlan: Unknown symbol xradio_etf_to_wlan (err -16)
[ 158.925189] xradio_wlan: gave up waiting for init of module xradio_core.
[ 158.932692] xradio_wlan: Unknown symbol xradio_core_init (err -16)
[ 188.934944] xradio_wlan: gave up waiting for init of module xradio_core.
[ 188.942409] xradio_wlan: Unknown symbol xradio_core_deinit (err -16)
insmod: can't insert '/lib/modules/3.10.65/xradio_wlan.ko': Resource busy
start wpa_supplicant ------------------------
Successfully initialized wpa_supplicant
Line 6: Invalid passphrase length 6 (expected: 8..63) '******"'.
Line 6: failed to parse psk '"******"'.
Line 7: failed to parse network block.
Failed to read or parse configuration '/etc/wpa_supplicant.conf'.
start udhcpc ----------------
-- end --
BusyBox v1.27.2 () built-in shell (ash)
udhcpc: SIOCGIFINDEX: No such device
_____ _ __ _
|_ _||_| ___ _ _ | | |_| ___ _ _ _ _
| | _ | || | | |__ | || || | ||_'_|
| | | || | || _ | |_____||_||_|_||___||_,_|
|_| |_||_|_||_|_| Tina is Based on OpenWrt!
----------------------------------------------
Tina Linux (Neptune, 5C1C9C53)
----------------------------------------------
root@TinaLinux:/#
mtd分区已经改好:
[ 0.819786] 0x000000000000-0x000000080000 : "uboot"
[ 0.827456] 0x000000080000-0x000000100000 : "bootlogo"
[ 0.835094] 0x000000100000-0x000000120000 : "env"
[ 0.842238] 0x000000120000-0x0000003a0000 : "boot"
[ 0.849440] 0x0000003a0000-0x0000007a0000 : "rootfs"
[ 0.856900] 0x0000007a0000-0x000000820000 : "rootfs_data"
[ 0.864792] 0x000000820000-0x000000830000 : "misc"
[ 0.872188] 0x000000830000-0x000000840000 : "private"
[ 0.879780] 0x000000840000-0x000001000000 : "UDISK"
这是之前的:
[ 0.819592] 0x000000000000-0x000000080000 : "uboot"
[ 0.827240] 0x000000080000-0x000000100000 : "bootlogo"
[ 0.834874] 0x000000100000-0x000000120000 : "env"
[ 0.842023] 0x000000120000-0x0000003a0000 : "boot"
[ 0.849237] 0x0000003a0000-0x0000006e0000 : "rootfs"
[ 0.856700] 0x0000006e0000-0x000000760000 : "rootfs_data"
[ 0.864598] 0x000000760000-0x000000770000 : "misc"
[ 0.872003] 0x000000770000-0x000000780000 : "private"
[ 0.879597] 0x000000780000-0x000001000000 : "UDISK"
离线
root@TinaLinux:/# cat /rom/etc/mtab
rootfs / rootfs rw 0 0
/dev/root /rom squashfs ro,relatime 0 0
devtmpfs /dev devtmpfs rw,relatime,size=13208k,nr_inodes=3302,mode=755 0 0
/proc /proc proc rw,relatime 0 0
tmpfs /tmp tmpfs rw,relatime 0 0
sys /sys sysfs rw,relatime 0 0
/dev/by-name/rootfs_data /overlay jffs2 rw,relatime 0 0
overlayfs:/overlay / overlayfs rw,noatime,lowerdir=/,upperdir=/overlay 0 0
devpts /dev/pts devpts rw,relatime,gid=5,mode=620,ptmxmode=000 0 0
/dev/mtdblock8 /mnt/UDISK jffs2 rw,relatime 0 0
根文件系统由两部分构成,
/dev/by-name/rootfs
/dev/by-name/rootfs_data
其中 rootfs 是squashfs 格式压缩只读文件系统,
rootfs_data 是jffs2可读写文件系统
离线
通过这个实现文件系统初始化
[ 0.000000] Kernel command line: enforcing=1 earlyprintk=sunxi-uart,0x01c25000 initcall_debug=0 console=ttyS1,115200 loglevel=8 root=/dev/mtdblock4 init=/pseudo_init rdinit=/rdinit partitions=bootlogo@mtdblock1:env@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:rootfs_data@mtdblock5:misc@mtdblock6:private@mtdblock7:UDISK@mtdblock8 cma=32M fb_base=0x83f00000 androidboot.serialno=<NULL> boot_type=3
/pseudo_init 文件内容:
#!/bin/sh
MOUNT_ETC=0
MOUNT_OVERLAY=1
################################## functions ##################################
#mkfs_jffs2() <device in /dev/by-name>
mkfs_jffs2() {
! [ -x /usr/sbin/mkfs.jffs2 ] \
&& ! [ -x /sbin/mkfs.jffs2 ] \
&& echo "Not Found /usr/sbin/mkfs.jffs2 or /sbin/mkfs.jffs2" \
&& return 1
# format to jffs2
local erase_block=$(/bin/cat /proc/mtd \
| /bin/grep "$(basename $1)" \
| /usr/bin/awk '{print $3}')
/bin/mkdir -p /tmp/jffs2.dir/tmp
mkfs.jffs2 -p -e 0x${erase_block} -d /tmp/jffs2.dir \
-o /tmp/jffs2.img >/dev/null || return 1
/bin/dd if=/tmp/jffs2.img of=$1 || return 1
/bin/rm -rf /tmp/jffs2.img /tmp/jffs2.dir
return 0
}
mount_etc() {
local etc_update=0
# if enable ota, do update
[ -f /etc/init.d/rc.ota-upgrade ] \
&& source /etc/init.d/ota-upgrade
local root_dev="$(readlink /dev/by-name/rootfs)"
# if mount failed, format.
case "${root_dev}" in
/dev/mtdblock*)
/bin/mount -t jffs2 /dev/by-name/rootfs_data /etc \
&& [ -e /etc/etc_complete -a ! -e /etc/etc_need_update ] \
&& return
# /etc/etc_complete and /etc/etc_need_update both exist, that means we just need to update
[ -e /etc/etc_complete -a -e /etc/etc_need_update ] && /bin/echo "do etc update" && etc_update=1
/bin/umount /etc
[ x$etc_update = x"1" ] || {
# not update, format first
/bin/echo "Mount Failed: formating /dev/by-name/rootfs_data to jffs2 ..."
mkfs_jffs2 "/dev/by-name/rootfs_data" || return 1
}
mount -t jffs2 /dev/by-name/rootfs_data /mnt
;;
*)
/usr/sbin/fsck.ext4 -y /dev/by-name/rootfs_data &>/dev/null
/bin/mount -t ext4 /dev/by-name/rootfs_data /etc \
&& [ -e /etc/etc_complete -a ! -e /etc/etc_need_update ] \
&& return
# /etc/etc_complete and /etc/etc_need_update both exist, that means we just need to update
[ -e /etc/etc_complete -a -e /etc/etc_need_update ] && /bin/echo "do etc update" && etc_update=1
/bin/umount /etc
[ x$etc_update = x"1" ] || {
# not update, format first
/bin/echo "Mount Failed: formating /dev/by-name/rootfs_data to ext4 ..."
mkfs.ext4 -m 0 /dev/by-name/rootfs_data >/dev/null || return 1
}
/bin/mount -t ext4 /dev/by-name/rootfs_data /mnt
;;
esac
mkdir -p /tmp/etc
/bin/cp -af /etc/* /tmp/etc/
# keep the wifi config
[ -e /mnt/wifi/wpa_supplicant.conf ] && {
/bin/echo "keep the wifi config"
/bin/cp /mnt/wifi/wpa_supplicant.conf /tmp/etc/wifi/
}
/bin/cp -af /tmp/etc/* /mnt/
rm -rf /tmp/etc
sync
[ ! -e /mnt/etc_complete ] && touch /mnt/etc_complete
[ -e /mnt/etc_need_update ] && /bin/echo "etc update done" && rm -f /mnt/etc_need_update
sync
/bin/mount -o move /mnt /etc
}
mount_usr(){
[ -L /dev/by-name/extend ] || return
/bin/mkdir -p /tmp/usr
/bin/mount /dev/by-name/extend /tmp/usr >/dev/null || {
rm -rf /tmp/usr
return
}
! [ -d /tmp/usr/bin ] \
&& umount /tmp/usr \
&& rm -rf /tmp/usr \
&& return
/bin/mount -o move /tmp/usr /usr \
&& rm -rf /tmp/usr
}
mount_sec_storage(){
[ -e /dev/by-name/sec_storage ] || return
local root_dev="$(readlink /dev/by-name/rootfs)"
# mount sec_storage
if [ -h /dev/by-name/sec_storage -a -d /data/tee ]; then
case "${root_dev}" in
/dev/mtdblock*)
/bin/busybox mount -t jffs2 /dev/by-name/sec_storage /data/tee 2>/dev/null
if [ "$?" -ne "0" ]; then
mkfs_jffs2 "/dev/by-name/sec_storage"
/bin/busybox mount -t jffs2 /dev/by-name/sec_storage /data/tee 2>/dev/null
fi
;;
*)
/usr/sbin/fsck.ext4 -y /dev/by-name/sec_storage &>/dev/null
/bin/busybox mount -t ext4 /dev/by-name/sec_storage /data/tee 2>/dev/null
if [ "$?" -ne "0" ]; then
mkfs.ext4 /dev/by-name/sec_storage >/dev/null
/bin/busybox mount -t ext4 /dev/by-name/sec_storage /data/tee 2>/dev/null
fi
;;
esac
fi
}
mount_single_app(){
/usr/sbin/fsck.ext4 -y /dev/by-name/app &>/dev/null
/bin/mount /dev/by-name/app /mnt/app
}
mount_dual_app(){
mkdir -p /var/lock
local appAB=$(fw_printenv -n appAB)
local first_app=app
local second_app=app_sub
local applimit=$(fw_printenv -n applimit)
[ x"$applimit" != x"" -a "$applimit" -ne 0 ] && {
local appcount=$(fw_printenv -n appcount)
let appcount+=1
[ "$appcount" -gt "$applimit" ] && {
echo "Warning: applimit ($applimit) exceeded. Switch app partition."
if [ x"$appAB" = x"A" ]; then
appAB=B
elif [ x"$appAB" = x"B" ]; then
appAB=A
else
echo "check appAB error: appAB=$appAB"
appAB=A
fi
fw_setenv appAB $appAB
echo "Switch appAB to $appAB"
appcount=1
}
fw_setenv appcount $appcount
}
echo "appAB=$appAB"
if [ x"$appAB" = x"A" ]; then
first_app=app
second_app=app_sub
elif [ x"$appAB" = x"B" ]; then
first_app=app_sub
second_app=app
else
echo "check appAB error: appAB=$appAB"
fi
/usr/sbin/fsck.ext4 -y /dev/by-name/$first_app &> /dev/null
/bin/mount -t ext4 /dev/by-name/$first_app /mnt/app \
&& echo "mount $first_app success" \
&& return
echo "mount $first_app fail, now try mount $second_app"
#mount first_app fail, try second_app
/usr/sbin/fsck.ext4 -y /dev/by-name/$second_app &> /dev/null
/bin/mount -t ext4 /dev/by-name/$second_app /mnt/app \
&& echo "mount $second_app success" \
&& return
echo "mount app fail"
}
mount_app() {
[ -L /dev/by-name/app ] || return
if [ -L /dev/by-name/app_sub ]; then
mount_dual_app
else
mount_single_app
fi
}
mount_overlay() {
local root_dev="$(readlink /dev/by-name/rootfs)"
mkdir -p /overlay
case "${root_dev}" in
/dev/mtdblock*)
/bin/mount -t jffs2 /dev/by-name/rootfs_data /overlay || {
/bin/echo "Mount Failed: formating /dev/by-name/rootfs_data to jffs2 ..."
mkfs_jffs2 "/dev/by-name/rootfs_data" || return 1
mount -t jffs2 /dev/by-name/rootfs_data /overlay
}
;;
*)
/usr/sbin/fsck.ext4 -y /dev/by-name/rootfs_data &>/dev/null
/bin/mount -t ext4 /dev/by-name/rootfs_data /overlay || {
/bin/echo "Mount Failed: formating /dev/by-name/rootfs_data to ext4 ..."
mkfs.ext4 -m 0 /dev/by-name/rootfs_data >/dev/null || return 1
/bin/mount -t ext4 /dev/by-name/rootfs_data /overlay
}
;;
esac
fgrep -sq overlay /proc/filesystems || {
/bin/echo "skip mount overlayfs as kernel not support"
return
}
fgrep -sq '/dev/root / squashfs ro' /proc/mounts || {
/bin/echo "skip mount overlayfs as now rootfs not squashfs"
return
}
# First, try to mount without a workdir, for overlayfs v22 and before.
# If it fails, it means that we are probably using a v23 and
# later versions that require a workdir
# mount -n -t overlay overlayfs:/overlay -o rw,noatime,lowerdir=/,upperdir=/overlay /mnt || {
# mkdir -p /overlay/upper /overlay/workdir
# mount -n -t overlay overlayfs:/overlay -o rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/workdir /mnt
# }
local overlay_need_workdir=1
# overlayfs in linux-3.4 and linux-3.10 is v22 and before, should mount without a workdir
fgrep -sq 'Linux version 3' /proc/version && overlay_need_workdir=0
if [ x"$overlay_need_workdir" = x"0" ]; then
mount -n -t overlayfs overlayfs:/overlay -o rw,noatime,lowerdir=/,upperdir=/overlay /mnt
else
mkdir -p /overlay/upper /overlay/workdir
mount -n -t overlay overlayfs:/overlay -o rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/workdir /mnt
fi
mount -n /proc -o noatime,move /mnt/proc
pivot_root /mnt /mnt/rom
mount -n /rom/dev -o noatime,move /dev
mount -n /rom/tmp -o noatime,move /tmp
mount -n /rom/sys -o noatime,move /sys
mount -n /rom/overlay -o noatime,move /overlay
fgrep -sq '/rom/usr' /proc/mounts && {
mount -n /rom/usr -o noatime,move /usr
if [ x"$overlay_need_workdir" = x"0" ]; then
mkdir -p /overlay/usr
mount -n -t overlayfs overlayfs:/overlay -o rw,noatime,lowerdir=/usr,upperdir=/overlay/usr /usr
else
mkdir -p /overlay/upper/usr /overlay/workdir/usr
mount -n -t overlay overlayfs:/overlay -o rw,noatime,lowerdir=/usr,upperdir=/overlay/upper/usr,workdir=/overlay/workdir/usr /usr
fi
}
}
set_parts_by_name() {
# create by-name
local parts part
/bin/mkdir -p /dev/by-name
parts=$partitions
for part in $(/bin/echo ${parts} | /bin/sed 's/:/ /g')
do
[ ! -e /dev/${part#*@} ] && mdev -s #for initramfs
/bin/ln -fs "/dev/${part#*@}" "/dev/by-name/${part%@*}"
done
}
etc_part=/dev/nande
#hardcode rootfs_data partition as nande
mount_etc_hardcode() {
# fix fs
/usr/sbin/fsck.ext4 -y $etc_part &>/dev/null
/bin/mount -t ext4 $etc_part /etc \
&& [ -e /etc/etc_complete ] \
&& return
/bin/echo "mount Failed or etc_complete not exist"
/bin/echo "now format $etc_part to ext4 ..."
/bin/umount /etc
mkfs.ext4 -m 0 $etc_part >/dev/null || return 1
/bin/mount -t ext4 $etc_part /mnt
/bin/cp -af /etc/* /mnt/
sync
/bin/mount -o move /mnt /etc
#prepare by-name in /etc for next boot
set_parts_by_name
cp -fpr /dev/by-name /etc
sync
#now rootfs_data is ready, next boot can mount it as etc
touch /etc/etc_complete
sync # this sync not necessary, but sync after modify something is good
}
set_parts_by_name_hardcode() {
#UDISK is the last partition, when UDISK is there, the /etc/by-name is ready
[ -e /etc/by-name/UDISK ] && {
#set_part_by_name may cost more than 100ms, now just copy it from /etc
cp -fpr /etc/by-name /dev/
return
}
#should not go here. now just show warning and do set_parts_by_name
echo "warning: no /etc/by-name/UDISK, please check it"
set_parts_by_name
}
#----------------------------------------------------------------
/bin/mount -t proc /proc /proc
/bin/mount -t tmpfs tmpfs /tmp
/bin/mount -t sysfs sys /sys
/bin/mount -t devtmpfs none /dev
/bin/mount -t pstore pstore /sys/fs/pstore
#common but slow
set_parts_by_name
mount_sec_storage
mount_usr
[ x"$MOUNT_ETC" = x"1" ] && mount_etc
[ x"$MOUNT_OVERLAY" = x"1" ] && mount_overlay
mount_app
#hardcode but fast
#mount_etc_hardcode
#set_parts_by_name_hardcode
#mount_usr
exec /sbin/init
离线