Tina Linux 存储介质切换:eMMC,SPI NAND,SPI NOR,SD Card,SD NAND
-
存储切换方法
SDK切换存储介质需要修改board.dts、sys_config.fex、内核配置、TINA系统配置。另外,在
spinor
存储介质下,通过u-boot-sun8iw21p1.bin
进行烧录,u-boot-spinor-sun8iw21p1.bin
启动,使用sys_partition_nor.fex
作为分区表。在非spinor
介质(spinand、emmc、sdnand)
,通过u-boot-sun8iw21p1.bin
进行烧录和启动,使用sys_partition.fex
作为分区表。下文将介绍spinor
切换spinand
、spinand
切换spinor
、spinor
切换emmc
、spinor
切换sdnand
四种切换方式。- sys_config.fex中只要关注storage_type选项,这个选项决定使用哪一种存储介质,配置后在pack过程,会自动打包对应介质的二进制文件。
[target] storage_type = xxx 其中storage_type | 0:nand | 1:sd | 2:emmc | 3:spinor | 4:emmc3 | 5:spinand | 6:sd1 |
spinor切换spinand
sys_config.fex修改
[target] - storage_type = 3 + storage_type = 5
board.dts/uboot-board.dts修改
&spi0 { - status = "disabled"; + status = "okay"; spi-nand@0 { - status="disabled"; + status="okay"; }; };
uboot编译
编译u-boot-sun8iw21p1.bin,spinand使用u-boot-sun8iw21p1.bin进行烧录、启动。 cboot切换到uboot目录,编辑configs/sun8iw21p1_defconfig CONFIG_SUNXI_UBIFS=y //SDK发布默认已选上 执行mboot //编译 确保device/config/chips/vxxx/bin/u-boot-sun8iw21p1.bin已更新
内核配置
make kernel_menuconfig 层层选中 内核驱动配置 Device Driver ---> Memory Technology Device (MTD) support ---> sunxi-nand ---> <*> AWNAND CHOICE (Allwinner MTD SPINAND Device Support) ---> -*- Enable UBI - Unsorted block images ---> [*] Read-only block devices on top of UBI volumes 内核文件系统配置 File systems ---> [*] Miscellaneous filesystems ---> <*> UBIFS file system support
TINA环境配置
make menuconfig 层层选中 Target Images ---> Boot (SD Card) Kernel format (boot.img) ---> //默认选中 [ ] For storage less than 32M, enable this when using ota //取消勾选 Global build settings ---> [*] Strip unnecessary functions from libraries //取消勾选 Utilities ---> <*> mtd-utils ---> <*> mtd-utils-mkfs.ubifs
spinand切换spinor
sys_config.fex修改
[target] - storage_type = 5 + storage_type = 3
board.dts/uboot-board.dts修改
&spi0 { - status = "okay"; + status = "disabled"; spi-nand@0 { - status="okay"; + status="disabled"; }; };
内核配置
make kernel_menuconfig 层层选中 内核驱动配置 Device Driver ---> Memory Technology Device (MTD) support ---> sunxi-nand ---> //取消勾选 Self-contained MTD device drivers ---> <*> Support most SPI Flash chips (AT26DF, M25P, W25X, ...) //确认已选中 <*> SPI-NOR device support ---> 内核文件系统配置 File systems ---> [*] Miscellaneous filesystems ---> <*> Journalling Flash File System v2 (JFFS2) support
TINA环境配置
make menuconfig 层层选中 Target Images ---> [*] For storage less than 32M, enable this when using ota //选中 Global build settings ---> [*] Strip unnecessary functions from libraries //选中 Utilities ---> <*> mtd-utils <*> mtd-utils-mkfs.jffs2 //选中
spinor切换emmc
sys_config.fex修改
[target] - storage_type = 3 + storage_type = 2
内核配置
make kernel_menuconfig 层层选中 [*] Enable the block layer ---> [*] Support for large (2TB+) block devices and files [*] Block layer SG support v4 Device Drivers ---> < > Memory Technology Device (MTD) support ---> //取消勾选 [*] Block devices ---> //确认勾选 File systems ---> <*> The Extended 4 (ext4) filesystem
TINA环境配置
make menuconfig 层层选中 Target Images ---> Boot (SD Card) Kernel format (boot.img) ---> //默认选中 [ ] For storage less than 32M, enable this when using ota //取消勾选 Global build settings ---> [ ] Strip unnecessary functions from libraries //取消勾选 Utilities ---> Filesystem ---> <*> e2fsprogs //选中
spinor切换sdnand
sys_config.fex修改
[target] - storage_type = 3 + storage_type = 1
board.dts修改
&sdc2 { non-removable; bus-width = <8>; mmc-ddr-1_8v; mmc-hs200-1_8v; mmc-hs400-1_8v; no-sdio; - no-sd; + //no-sd; ctl-spec-caps = <0x308>; cap-mmc-highspeed; sunxi-power-save-mode; sunxi-dis-signal-vol-sw; max-frequency = <100000000>; vmmc-supply = <®_dcdc1>; /*emmc io vol 3.3v*/ vqmmc-supply = <®_bldo1>; /*emmc io vol 1.8v*/ /*vqmmc-supply = <®_eldo1>;*/ status = "disabled"; };
内核配置
make kernel_menuconfig 层层选中 [*] Enable the block layer ---> [*] Support for large (2TB+) block devices and files [*] Block layer SG support v4 Device Drivers ---> < > Memory Technology Device (MTD) support ---> //取消勾选 [*] Block devices ---> //确认勾选 File systems ---> <*> The Extended 4 (ext4) filesystem
TINA环境配置
make menuconfig 层层选中 Target Images ---> Boot (SD Card) Kernel format (boot.img) ---> //默认选中 [ ] For storage less than 32M, enable this when using ota //取消勾选 Global build settings ---> [ ] Strip unnecessary functions from libraries //取消勾选 Utilities ---> Filesystem ---> <*> e2fsprogs //选中
-
没有SDK,只能偷偷看你玩了。
-
-
@tigger 全系适用的
-
-
-
Tina 3.5 一般支持nor, nand, mmc 三种介质。
更具体的,nand分为并口nand和spinand,mmc分emmc和sd卡
主要需要区分的是nor和其他介质,因为需要打包的部分有所不同。
即,emmc和nand,sd卡一般可共用一份固件,而nor则需使用另一份固件
sys_config配置
在sys_config中有一个配置项,storage_type,取值及含义如下
;---------------------------------------------------------------------------------- ; storage_type 0:nand 1:sd 2:emmc 3:spinor 4:emmc3 5:spinand 6:sd1 ;---------------------------------------------------------------------------------- [target] storage_type = xxx
对于nor的方案,必须配置为
storage_type = 3
对于其他介质,storage_type则不能配置为3
spinand切换为spinor
sys_config 设置介质为nor
[target] storage_type = 3
配置所用nor的大小
[norflash] size = 16
内核配置
make kernel_menuconfig ---> Device Drivers ---> < >Block devices (取消选中) Device Drivers ---> <*>Memory Technology Device (MTD) support <*>OpenFirmware partitioning information support <*>SUNXI partitioning support <*> Caching block device access to MTD devices <*> SPI-NOR device support (对于linux4.9,先选这个,下面的选项才出现) Self-contained MTD device drivers ---> <*> Support most SPI Flash chips (AT26DF, M25P, W25X, ...) File systems ---> < > The Extended 4 (ext4) filesystem(取消选中) File systems ---> [*] Miscellaneous filesystems ---> <*> Journalling Flash File System v2 (JFFS2) support(选中) [*] Enable the block layer ---> [ ] Support for large (2TB+) block devices and files(取消选中)
menuconfig配置
make menuconfig ---> Utilities ---> <*> mtd-utils (选择) ---> <*> mtd-utils-mkfs.jffs2 make menuconfig ---> Utilities ---> Filesystem ---> < > e2fsprogs(取消选择)
spinor切换为spinand
sys_config 设置介质为spinand
[target] storage_type = 5
内核配置
make kernel_menuconfig ---> Device Drivers ---> [*]Block devices ---> <*> sunxi nand flash driver Device Drivers ---> < >Memory Technology Device (MTD) support(取消选择) [*] Enable the block layer ---> [*] Support for large (2TB+) block devices and files File systems ---> <*> The Extended 4 (ext4) filesystem
menuconfig 配置
make menuconfig ---> Utilities ---> < > mtd-utils (取消选择) Filesystem ---> <*> e2fsprogs
分区表配置
注意点对于nand,rootfs_data分区,使用ext4格式。分配太小的话可能会创建失败。
FAQ
使用mkfs.ext4等工具的时候出现
/usr/sbin/fsck.ext4 -y /dev/by-name/rootfs_data Error loading shared library /home/wuguanling/workspace/project/v316-sdv-tina/out/v316-sdv/staging_dir/target/rootfs/lib/libc.so: No such file or directory (needed by /usr/lib/libext2fs.so.2)
关闭以下选项:
make menuconfig | --- Global build settings | --- []strip unnecessary functions for libraries
-
-
-
-
-
-
还有env.cfg中的bootcmd也要改成从nand启动的命令
env set bootcmd run setargs_nand boot_normal -
好详细喔,收藏起来慢慢消化。
-
-
扫盲贴,666。。。
-
-
想问一下,你第一次发的和第二次发的有什么区别呢?我看了一下,配置好像不一样?
-
@qinlinbin 下面那个是Tina 3.5的配置
-
@yuzukitsuru 看漏了,谢谢大佬
-
-
-
-
亲们,请教下,从 SDC 转 nand 的 UBOOT-BOARD.DTS修改是这样没?谢谢!
-
@yteraa 老师您好,各位大神们好,请教下按你的教程从nor切换到nand后启动找不到文件系统,是哪方面问题?谢谢。--------------
-
-
-
-
-
非常详细,在到达lv2前先来做个提前了解,有个总体概念
-
大神,帮我看看,这是什么问题,用的是V851S芯片 ,SDK是论坛下载的tina-v851-release,谢谢!
[01.540]boot_gui_init:start partno erro : can't find partition Reserve0 [01.569]Get Reserve0 partition number fail! [01.576]boot_gui_init:finish partno erro : can't find partition bootloader partno erro : can't find partition boot-resource [01.632]Get bootloader and boot-resource partition number fail! [01.639]Item0 (Map) magic is bad [01.641]out of usb burn from boot: not need burn key [01.669]update bootcmd [01.694]change working_fdt 0x41e8fe70 to 0x41e6fe70 [01.706]## error: update_fdt_dram_para : FDT_ERR_NOTFOUND [01.715]update dts Hit any key to stop autoboot: 0 input addr exceed dram scope [03.151]no vendor_boot partition is found Android's image name: v851s-youmu [03.213]Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.9.191 (lin@lin-VirtualBox) (gcc version 6.4.1 (OpenWrt/Linaro GCC 6.4-2017.11 2017-11) ) #94 PREEMPT Wed Dec 27 00:37:33 UTC 2023 [ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d [ 0.000000] CPU: div instructions available: patching division code [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt:Machine model: sun8iw21 [ 0.000000] disp reserve base 0x41f12000 ,size 0x384000 [ 0.000000] Memory policy: Data cache writeback [ 0.000000] On node 0 totalpages: 16384 [ 0.000000] free_area_init_node: node 0, pgdat c0a4f4c8, node_mem_map c3f78000 [ 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] 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: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.0 [ 0.000000] CPU: All CPU(s) started in SVC mode. [ 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: ubi.mtd=sys earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=8 root=/dev/ubiblock0_4 rootfstype=squashfs init=/pseudo_init partitions=mbr@ubi0_0:boot-res@ubi0_1:env@ubi0_2:boot@ubi0_3:rootfs@ubi0_4:rootfs_data@ubi0_5:UDISK@ubi0_6: cma= snum= mac_addr= wifi_mac= bt_mac= specialstr= gpt=1 androidboot.hardware=sun8iw21p1 boot_type=5 androidboot.boot_type=5 gpt=1 uboot_message=2018.05(12/26/2023-21:05:24) mbr_offset=1032192 disp_reserve=3686400,0x41f12000 bootreason=button aw-ubi-spinand.ubootblks=24 androidboot.dramsize=64 [ 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: 51108K/65536K available (6144K kernel code, 320K rwdata, 1324K rodata, 1024K init, 169K bss, 14428K reserved, 0K cma-reserved, 0K highmem) [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB) [ 0.000000] vmalloc : 0xc4800000 - 0xff800000 ( 944 MB) [ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64 MB) [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB) [ 0.000000] .text : 0xc0008000 - 0xc0700000 (7136 kB) [ 0.000000] .init : 0xc0900000 - 0xc0a00000 (1024 kB) [ 0.000000] .data : 0xc0a00000 - 0xc0a50368 ( 321 kB) [ 0.000000] .bss : 0xc0a50368 - 0xc0a7a9c8 ( 170 kB) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] Build-time adjustment of leaf fanout to 32. [ 0.000000] NR_IRQS:16 nr_irqs:16 16 [ 0.000000] sunxi_parse_sdm_info failed: -1 [ 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 (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns [ 0.000007] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns [ 0.000022] Switching to timer-based delay loop, resolution 41ns [ 0.000202] Console: colour dummy device 80x30 [ 0.000233] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000) [ 0.000248] pid_max: default: 32768 minimum: 301 [ 0.000447] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.000460] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.001047] CPU: Testing write buffer coherency: ok [ 0.001675] Setting up static identity map for 0x40100000 - 0x40100058 [ 0.003421] devtmpfs: initialized [ 0.036861] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 [ 0.037441] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.037468] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.037613] atomic64_test: passed [ 0.037627] pinctrl core: initialized pinctrl subsystem [ 0.038758] NET: Registered protocol family 16 [ 0.039647] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.041022] dump_class_init,857, success [ 0.069514] cpuidle: using governor menu [ 0.070890] platform 2010000.iommu: iova_base: 0x48400000 [ 0.071465] sunxi iommu: irq = 22 [ 0.092475] sun8iw21p1-pinctrl pio: initialized sunXi PIO driver [ 0.095590] iommu: Adding device npu to group 0 [ 0.097722] iommu: Adding device 1c0e000.ve to group 0 [ 0.109501] iommu: Adding device 5410000.g2d to group 0 [ 0.110712] iommu: Adding device 5000000.disp to group 0 [ 0.121704] iommu: Adding device 5908000.tdm to group 0 [ 0.122424] iommu: Adding device 5900000.isp to group 0 [ 0.123158] iommu: Adding device 58ffffc.isp to group 0 [ 0.124178] iommu: Adding device 58ffff8.isp to group 0 [ 0.125163] iommu: Adding device 58ffff4.isp to group 0 [ 0.125640] iommu: Adding device 5800800.vind:isp@4 to group 0 [ 0.126542] iommu: Adding device 5910000.scaler to group 0 [ 0.127035] iommu: Adding device 590fffc.scaler to group 0 [ 0.127643] iommu: Adding device 590fff8.scaler to group 0 [ 0.128268] iommu: Adding device 590fff4.scaler to group 0 [ 0.129006] iommu: Adding device 5910400.scaler to group 0 [ 0.130237] iommu: Adding device 59103fc.scaler to group 0 [ 0.130908] iommu: Adding device 59103f8.scaler to group 0 [ 0.131387] iommu: Adding device 59103f4.scaler to group 0 [ 0.132141] iommu: Adding device 5910800.scaler to group 0 [ 0.132790] iommu: Adding device 59107fc.scaler to group 0 [ 0.133281] iommu: Adding device 59107f8.scaler to group 0 [ 0.134003] iommu: Adding device 59107f4.scaler to group 0 [ 0.134750] iommu: Adding device 5910c00.scaler to group 0 [ 0.135436] iommu: Adding device 5910bfc.scaler to group 0 [ 0.135938] iommu: Adding device 5910bf8.scaler to group 0 [ 0.136603] iommu: Adding device 5910bf4.scaler to group 0 [ 0.137665] iommu: Adding device vinc0 to group 0 [ 0.138633] iommu: Adding device vinc4 to group 0 [ 0.140078] iommu: Adding device vinc8 to group 0 [ 0.140870] iommu: Adding device vinc12 to group 0 [ 0.188901] pwm module init! [ 0.197629] sunxi-pm debug v3.10 [ 0.199846] SCSI subsystem initialized [ 0.201314] usbcore: registered new interface driver usbfs [ 0.201508] usbcore: registered new interface driver hub [ 0.201702] usbcore: registered new device driver usb [ 0.202049] sunxi_i2c_adap_init()2748 - init [ 0.202586] sunxi_i2c_probe()2443 - [i2c1] twi_drv_used = 0 [ 0.202605] sunxi_i2c_probe()2450 - [i2c1] twi_pkt_interval = 0 [ 0.202672] twi_regulator_request()647 - [i2c1] regulator not found(isn't configured in dts)! [ 0.202681] twi_request_gpio()463 - [i2c1] init name: (null) [ 0.204623] media: Linux media interface: v0.10 [ 0.205196] Linux video capture interface: v2.00 [ 0.207429] ion_parse_dt_heap_common: id 0 type 0 name sys_user align 1000 [ 0.207808] ion_parse_dt_heap_common: id 4 type 4 name cma align 1000 [ 0.209383] Advanced Linux Sound Architecture Driver Initialized. [ 0.210803] Bluetooth: Core ver 2.22 [ 0.211000] NET: Registered protocol family 31 [ 0.211011] Bluetooth: HCI device and connection manager initialized [ 0.211037] Bluetooth: HCI socket layer initialized [ 0.211051] Bluetooth: L2CAP socket layer initialized [ 0.211115] Bluetooth: SCO socket layer initialized [ 0.214589] G2D: rcq version initialized.major:251 [ 0.215779] clocksource: Switched to clocksource arch_sys_counter [ 0.248413] get androidboot.mode fail [ 0.250192] NET: Registered protocol family 2 [ 0.266166] TCP established hash table entries: 16 (order: -6, 64 bytes) [ 0.266188] TCP bind hash table entries: 16 (order: -6, 64 bytes) [ 0.266199] TCP: Hash tables configured (established 16 bind 16) [ 0.266280] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.266300] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.266536] NET: Registered protocol family 1 [ 0.267203] sunxi_spi_probe()2250 - [spi0] SPI DBI INTERFACE [ 0.267219] sunxi_spi_probe()2259 - [spi0] SPI MASTER MODE [ 0.267297] sunxi_spi_resource_get()1917 - sample_mode:1 sample_delay:16 [ 0.267321] spi0 supply spi not found, using dummy regulator [ 0.267410] sunxi_spi_request_gpio()1883 - [spi0] Pinctrl init spi0 [ 0.267503] sunxi_spi_clk_init()1954 - [spi0] mclk 100000000 [ 0.268679] sunxi_spi_probe()2339 - [spi0]: driver probe succeed, base c4868000, irq 294 [ 0.273206] sunxi_sid_driver_init+0x0/0x10 complete comp. [ 0.274599] workingset: timestamp_bits=29 max_order=14 bucket_order=0 [ 0.289787] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.291795] io scheduler noop registered [ 0.291815] io scheduler deadline registered [ 0.292103] io scheduler cfq registered (default) [ 0.293353] [DISP]disp_module_init [ 0.294963] [DISP] parser_disp_init_para,line:1306: [ 0.294980] of_property_read disp_init.disp_init_enable fail [ 0.295534] lcd 0, driver_name , panel_name default_lcd [ 0.295551] lcd 0, driver_name , panel_name he0801a068 [ 0.295559] lcd 0, driver_name , panel_name inet_dsi_panel [ 0.295566] lcd 0, driver_name , panel_name lq101r1sx03 [ 0.295574] lcd 0, driver_name , panel_name WilliamLcd [ 0.295581] lcd 0, driver_name , panel_name bp101wx1 [ 0.295589] lcd 0, driver_name , panel_name k101im2qa04 [ 0.295596] lcd 0, driver_name , panel_name t050k589 [ 0.295603] lcd 0, driver_name , panel_name kd080d24 [ 0.295611] lcd 0, driver_name , panel_name super_lcd_driver [ 0.297390] [DISP]disp_module_init finish [ 0.300747] uart0 supply uart not found, using dummy regulator [ 0.301045] uart0: ttyS0 at MMIO 0x2500000 (irq = 289, base_baud = 1500000) is a SUNXI [ 0.301081] sw_console_setup()2050 - console setup baud 115200 parity n bits 8, flow n [ 1.363657] console [ttyS0] enabled [ 1.368603] misc dump reg init [ 1.372770] npu[1][1] vipcore, platform driver device=0xc396de10 [ 1.379899] npu[1][1] vipcore irq number is 290. [ 1.385091] gckvip_drv_adjust_param 232 SUCCESS [ 1.390313] the freq of pll_npux4 clk is fixed [ 1.395313] Want set pclk rate(348000000) support(1392000000) real(1392000000) [ 1.403560] Want set mclk rate(348000000) support(348000000) real(348000000) [ 1.411572] npu[1][1] This device support 64bits DMA [ 1.417746] npu[1][1] core_0, request irqline=290, name=vipcore_0 [ 1.424678] npu[1][1] =======vipcore parameter===== [ 1.430398] npu[1][1] registerMemBase 0x03050000, [ 1.436239] npu[1][1] registerMemSize 0x00020000, [ 1.442014] npu[1][1] irqLine 0x00000122, [ 1.447825] npu[1][1] contiguousSize 0x00100000 [ 1.453402] npu[1][1] contiguousBase 0x30000000 [ 1.459057] npu[1][1] vipContiguousBase 0x0 [ 1.463950] npu[1][1] drvType 0x00000000 [ 1.469559] npu[1][1] AXISramSize 0x00000000 [ 1.475135] npu[1][1] AXISramBaseAddress 0x00000000 [ 1.480736] npu[1][1] VIPSramSize 0x00020000 [ 1.486326] npu[1][1] VIPSramBaseAddress 0x00400000 [ 1.491902] npu[1][1] sysHeapSize 0x00200000 [ 1.497488] npu[1][1] =============================== [ 1.503249] npu[1][1] VIPLite driver version 1.8.1.0-AW-2022-07-26 [ 1.511431] sunxi-wlan soc@03000000:wlan@0: wlan_busnum (1) [ 1.517976] sunxi-wlan soc@03000000:wlan@0: wlan_power_num (-1) [ 1.524632] sunxi-wlan soc@03000000:wlan@0: Missing wlan_io_regulator. [ 1.532035] sunxi-wlan soc@03000000:wlan@0: io_regulator_name ((null)) [ 1.539421] sunxi-wlan soc@03000000:wlan@0: request pincrtl handle for device [soc@03000000:wlan@0] failed [ 1.550411] sunxi-wlan soc@03000000:wlan@0: wlan_regon gpio=134 mul-sel=1 pull=1 drv_level=2 data=0 [ 1.561055] sunxi-wlan soc@03000000:wlan@0: get gpio chip_en failed [ 1.568163] sunxi-wlan soc@03000000:wlan@0: wlan_hostwake gpio=135 mul-sel=14 pull=1 drv_level=2 data=0 [ 1.579249] sunxi-wlan soc@03000000:wlan@0: clk_name () [ 1.586775] sunxi-spinand: AW SPINand MTD Layer Version: 2.4 20220106 [ 1.594027] sunxi-spinand-phy: AW SPINand Phy Layer Version: 1.11 20211125 [ 1.602386] sunxi-spinand-phy: detect munufacture from id table: Winbond [ 1.609991] sunxi-spinand-phy: detect spinand id: ff21aaef ffffffff [ 1.617067] sunxi-spinand-phy: ========== arch info ========== [ 1.623618] sunxi-spinand-phy: Model: W25N01GVZEIG [ 1.630479] sunxi-spinand-phy: Munufacture: Winbond [ 1.636776] sunxi-spinand-phy: DieCntPerChip: 1 [ 1.642449] sunxi-spinand-phy: BlkCntPerDie: 1024 [ 1.648440] sunxi-spinand-phy: PageCntPerBlk: 64 [ 1.654209] sunxi-spinand-phy: SectCntPerPage: 4 [ 1.659892] sunxi-spinand-phy: OobSizePerPage: 64 [ 1.665661] sunxi-spinand-phy: BadBlockFlag: 0x0 [ 1.671537] sunxi-spinand-phy: OperationOpt: 0x7 [ 1.677412] sunxi-spinand-phy: MaxEraseTimes: 65000 [ 1.683474] sunxi-spinand-phy: EccFlag: 0x0 [ 1.689350] sunxi-spinand-phy: EccType: 2 [ 1.695022] sunxi-spinand-phy: EccProtectedType: 3 [ 1.700702] sunxi-spinand-phy: ======================================== [ 1.708140] sunxi-spinand-phy: [ 1.711663] sunxi-spinand-phy: ========== physical info ========== [ 1.718615] sunxi-spinand-phy: TotalSize: 128 M [ 1.723993] sunxi-spinand-phy: SectorSize: 512 B [ 1.729381] sunxi-spinand-phy: PageSize: 2 K [ 1.734564] sunxi-spinand-phy: BlockSize: 128 K [ 1.739952] sunxi-spinand-phy: OOBSize: 64 B [ 1.745232] sunxi-spinand-phy: ======================================== [ 1.752669] sunxi-spinand-phy: [ 1.756202] sunxi-spinand-phy: ========== logical info ========== [ 1.763045] sunxi-spinand-phy: TotalSize: 128 M [ 1.768433] sunxi-spinand-phy: SectorSize: 512 B [ 1.773811] sunxi-spinand-phy: PageSize: 4 K [ 1.779004] sunxi-spinand-phy: BlockSize: 256 K [ 1.784383] sunxi-spinand-phy: OOBSize: 128 B [ 1.789770] sunxi-spinand-phy: ======================================== [ 1.797296] sunxi-spinand-phy: block lock register: 0x00 [ 1.803353] sunxi-spinand-phy: feature register: 0x19 [ 1.809051] sunxi-spinand-phy: sunxi physic nand init end [ 1.817339] sunxipart: failed to parse sunxi_gpt! [ 1.822650] Creating 4 MTD partitions on "sunxi_mtd_nand": [ 1.828877] 0x000000000000-0x000000100000 : "boot0" [ 1.837295] 0x000000100000-0x000000400000 : "uboot" [ 1.847207] 0x000000400000-0x000000500000 : "secure_storage" [ 1.856820] 0x000000500000-0x000008000000 : "sys" [ 1.862741] random: fast init done [ 1.962810] sunxi-spinand-phy: phy blk 684 is bad [ 1.968397] sunxi-spinand-phy: phy blk 687 is bad [ 1.985167] sunxi-spinand-phy: phy blk 764 is bad [ 1.990769] sunxi-spinand-phy: phy blk 767 is bad [ 2.014825] sunxi-spinand-phy: phy blk 893 is bad [ 2.020579] sunxi-spinand-phy: phy blk 896 is bad [ 2.047536] libphy: Fixed MDIO Bus: probed [ 2.053183] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 2.061040] get ehci0-controller, regulator_io is no nocare [ 2.067392] get ehci0-controller wakeup-source is fail. [ 2.073449] sunxi ehci0-controller don't init wakeup source [ 2.079909] [sunxi-ehci0]: probe, pdev->name: 4101000.ehci0-controller, sunxi_ehci: 0xc0a6ff38, 0x:c4873000, irq_no:12e [ 2.092076] [sunxi-ehci0]: Not init ehci0 [ 2.097091] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 2.104495] get ohci0-controller, regulator_io is no nocare [ 2.110976] get ohci0-controller wakeup-source is fail. [ 2.117110] sunxi ohci0-controller don't init wakeup source [ 2.123465] [sunxi-ohci0]: probe, pdev->name: 4101000.ohci0-controller, sunxi_ohci: 0xc0a7015c [ 2.133225] [sunxi-ohci0]: Not init ohci0 [ 2.138449] usbcore: registered new interface driver uas [ 2.144846] usbcore: registered new interface driver usb-storage [ 2.151890] usbcore: registered new interface driver ums-alauda [ 2.158898] usbcore: registered new interface driver ums-cypress [ 2.166069] usbcore: registered new interface driver ums-datafab [ 2.173001] usbcore: registered new interface driver ums_eneub6250 [ 2.180289] usbcore: registered new interface driver ums-freecom [ 2.187392] usbcore: registered new interface driver ums-isd200 [ 2.194343] usbcore: registered new interface driver ums-jumpshot [ 2.201546] usbcore: registered new interface driver ums-karma [ 2.208513] usbcore: registered new interface driver ums-onetouch [ 2.215683] usbcore: registered new interface driver ums-realtek [ 2.222700] usbcore: registered new interface driver ums-sddr09 [ 2.229688] usbcore: registered new interface driver ums-sddr55 [ 2.236762] usbcore: registered new interface driver ums-usbat [ 2.243441] usb_serial_number:20080411 [ 2.248774] sunxi_gpadc_init,1949, success [ 2.253816] sunxi_gpadc_setup: get channel scan data failed [ 2.261726] input: sunxi-gpadc0 as /devices/virtual/input/input0 [ 2.271084] sunxi-rtc rtc: rtc core: registered sunxi-rtc as rtc0 [ 2.278402] sunxi-rtc rtc: RTC enabled [ 2.282694] fix to hot reboot, save boot reason [ 2.288381] i2c /dev entries driver [ 2.293072] sunxi cedar version 0.1 [ 2.297535] VE: install start!!! [ 2.297535] [ 2.303010] VE: cedar-ve the get irq is 291 [ 2.307985] VE: regs_csi = c48ad000 [ 2.312620] VE: ve_proc_mgr: flag = 1 [ 2.312620] [ 2.318707] VE: install end!!! [ 2.318707] [ 2.324295] google_vp9: sunxi google vp9 version 0.1 [ 2.333482] sunxi-wdt 20500a0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0) [ 2.343306] Bluetooth: HCI UART driver ver 2.2.d448471.20181218-163903 [ 2.350942] Bluetooth: HCI UART protocol H4 registered [ 2.356853] Bluetooth: HCI H4 protocol initialized [ 2.362497] Bluetooth: XRadio Bluetooth LPM Mode Driver Ver 01.00.07 [ 2.370400] bt_fdi debugfs_init [ 2.378663] cpuidle: enable-method property 'psci' found operations [ 2.389927] usbcore: registered new interface driver usbhid [ 2.396681] usbhid: USB HID core driver [ 2.404921] [sound 1158][DAUDIO snd_sunxi_regulator_init] regulator missing or invalid [ 2.416374] sunxi-snd-mach soc@03000000:codec_mach: sunxi-snd-codec <-> soc@03000000:codec_plat mapping ok [ 2.430628] sunxi-snd-mach soc@03000000:daudio0_mach: snd-soc-dummy-dai <-> 2032000.daudio0_plat mapping ok [ 2.445622] NET: Registered protocol family 10 [ 2.452908] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver [ 2.461150] NET: Registered protocol family 17 [ 2.466684] NET: Registered protocol family 15 [ 2.471847] Bluetooth: RFCOMM TTY layer initialized [ 2.477531] Bluetooth: RFCOMM socket layer initialized [ 2.483343] Bluetooth: RFCOMM ver 1.11 [ 2.489026] Registering SWP/SWPB emulation handler [ 2.504110] ubi0: attaching mtd3 [ 2.604128] random: crng init done [ 2.737414] ubi0: scanning is finished [ 2.752614] ubi0: attached mtd3 (name "sys", size 123 MiB) [ 2.758905] ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 258048 bytes [ 2.766679] ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 2048 [ 2.774312] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096 [ 2.782277] ubi0: good PEBs: 486, bad PEBs: 6, corrupted PEBs: 0 [ 2.789079] ubi0: user volume: 7, internal volumes: 1, max. volumes count: 128 [ 2.797308] ubi0: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0 [ 2.806725] ubi0: available PEBs: 10, total reserved PEBs: 476, PEBs reserved for bad PEB handling: 4 [ 2.817110] ubi0: background thread "ubi_bgt0d" started, PID 686 [ 2.824452] get det_vbus is fail, 84 [ 2.828683] get id is fail, 84 [ 2.833245] sunxi-rtc rtc: setting system clock to 1970-01-01 00:51:37 UTC (3097) [ 2.842846] clk: Not disabling unused clocks [ 2.847865] ALSA device list: [ 2.851213] #0: audiocodec [ 2.854450] #1: snddaudio0 [ 2.858250] VFS: Cannot open root device "ubiblock0_4" or unknown-block(0,0): error -6 [ 2.867287] Please append a correct "root=" boot option; here are the available partitions: [ 2.876744] 1f00 1024 mtdblock0 (driver?) [ 2.882436] 1f01 3072 mtdblock1 (driver?) [ 2.888162] 1f02 1024 mtdblock2 (driver?) [ 2.893848] 1f03 125952 mtdblock3 (driver?) [ 2.899630] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [ 2.908920] CPU: 0 PID: 1 Comm: swapper Not tainted 4.9.191 #94 [ 2.915567] Hardware name: sun8iw21 [ 2.919516] [<c010d3cc>] (unwind_backtrace) from [<c010a51c>] (show_stack+0x10/0x14) [ 2.928227] [<c010a51c>] (show_stack) from [<c016ff58>] (panic+0xac/0x2b0) [ 2.935962] [<c016ff58>] (panic) from [<c0901270>] (mount_block_root+0x208/0x2f4) [ 2.944380] [<c0901270>] (mount_block_root) from [<c0901504>] (prepare_namespace+0x138/0x178) [ 2.953967] [<c0901504>] (prepare_namespace) from [<c0900e80>] (kernel_init_freeable+0x11c/0x178) [ 2.963942] [<c0900e80>] (kernel_init_freeable) from [<c06098d0>] (kernel_init+0x8/0x108) [ 2.973138] [<c06098d0>] (kernel_init) from [<c0106ca8>] (ret_from_fork+0x14/0x2c) [ 2.981649] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [ 2.991809] sunxi dump enabled [ 2.995234] dump regs done [ 2.998304] flush cache done [ 3.001555] crashdump enter
-
想了几天,终于想明白了
-
@daming123 你好,我也遇到了一样的问题,能请教一下解决思路么?
-
@steven73
用的是什么存储介质启动?完整打印看下
-
This post is deleted! -
-
-
在T113S3上实测有效
-
-
-
感谢分享,谢谢。。。。
-
大佬你好,我如果t113存储介质切换 由spi namd flash 128M切换到 512M
上面的几种方法 也可以适用吗? -
@chunyangjs你好! 我的T113目前使用spi nand flash 128M 如果将它升级到512M 这个方法也可以吗?
-
-
大佬,可以帮忙解答下吗 -
@nathanliu spi配置没问题,查一下brandy/brandy-2.0/u-boot-2018/drivers/mtd/awnand/spinand/physic/id.c的struct aw_spinand_phy_info gigadevice[],应该没有你现在用的SPI NAND
后续还要检查kernel/linux-5.4/drivers/mtd/awnand/spinand/physic/id.c,两个路径需要同时添加
Copyright © 2023 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号