这两天在ROC-RK3328-CC平台上做了Linux内核移植的实验,即将Firefly官方提供的Linux-SDK更换为Linux官方提供的SDK,版本为Linux 4.17.19。由于Linux44.17版已经对该平台提供了支持,所以除了对两处Makefile文件进行修改、添加了三个工具文件外,没有做其它变动,config使用默认设置。编译过程一切顺利,烧版也很成功,只是在启动的过程中出现了问题,希望大神给予指导。
下面是启动信息:
DDR version 1.13 20180428
ID:0x805 N
In
DDR4
333MHz
Bus Width=32 Col=10 Bank=4 Bank Group=2 Row=15/15 CS=2 Die Bus-Width=16 Size=2048MB
ddrconfig:19
OUT
Boot1 Release Time: Sep 7 2018 15:49:55, version: 2.49
ChipType = 0x11, 207
mmc2:cmd19,100
SdmmcInit=2 0
BootCapSize=2000
UserCapSize=14910MB
FwPartOffset=2000 , 2000
SdmmcInit=0 NOT PRESENT
StorageInit ok = 19266
Raw SecureMode = 0
SecureInit read PBA: 0x4
SecureInit read PBA: 0x404
SecureInit read PBA: 0x804
SecureInit read PBA: 0xc04
SecureInit read PBA: 0x1004
SecureInit ret = 0, SecureMode = 0
GPT part: 0, name: uboot, start:0x4000, size:0x2000
GPT part: 1, name: trust, start:0x6000, size:0x2000
GPT part: 2, name: boot, start:0xa000, size:0x10000
GPT part: 3, name: backup, start:0x2a000, size:0x10000
GPT part: 4, name: rootfs, start:0x5a000, size:0x1cc4fdf
find partition:uboot OK. first_lba:0x4000.
find partition:trust OK. first_lba:0x6000.
LoadTrust Addr:0x6000
No find bl30.bin
Load uboot, ReadLba = 4000
Load OK, addr=0x200000, size=0xce990
RunBL31 0x10000
INF [0x0] TEE-CORE:init_primary_helper:337: Initializing (1.1.0-194-g646eecc5 #61 Wed Dec 5 06:31:51 UTC 2018 aarch64)
INF [0x0] TEE-CORE:init_primary_helper:338: Release version: 1.4
INF [0x0] TEE-CORE:init_teecore:83: teecore inits done
U-Boot 2017.09-g0b1f585323-dirty (Feb 20 2020 - 21:38:50 +0800)
Model: Firefly ROC-RK3328-CC
DRAM: 2 GiB
Relocation Offset is: 7dbf5000
Sysmem: init
Using default environment
rksdmmc@ff500000: 1, rksdmmc@ff520000: 0
Card did not respond to voltage select!
mmc_init: -95, time 9
switch to partitions #0, OK
mmc0(part 0) is current device
Bootdev: mmc 0
PartType: EFI
get part misc fail -1
boot mode: None
Load FDT from boot part
DTB: rk-kernel.dtb
In: serial
Out: serial
Err: serial
Model: Firefly roc-rk3328-cc
rockchip_dnl_key_pressed adc_channel_single_shot fail! ret=-22
CLK: (sync kernel. arm: enter 600000 KHz, init 600000 KHz, kernel 0N/A)
apll 400000 KHz
dpll 664000 KHz
cpll 1200000 KHz
gpll 491009 KHz
npll 600000 KHz
armclk 600000 KHz
aclk_bus 150000 KHz
hclk_bus 75000 KHz
pclk_bus 75000 KHz
aclk_peri 150000 KHz
hclk_peri 75000 KHz
pclk_peri 75000 KHz
Net:
Warning: ethernet@ff540000 (eth0) using random MAC address - 9e:92:8e:94:df:04
eth0: ethernet@ff540000
Hit key to stop autoboot('CTRL+C'): 0
android_bootloader_boot_flow Could not find misc partition
ANDROID: reboot reason: "(none)"
Fdt Ramdisk skip relocation
FDT load addr 0x10f00000 size 157 KiB
Booting kernel at 0x00280000 with fdt at 0x8300000...
## Booting Android Image at 0x0027f800 ...
Kernel load addr 0x00280000 size 17643 KiB
## Flattened Device Tree blob at 08300000
Booting using the fdt blob at 0x8300000
XIP Kernel Image ... OK
Using Device Tree in place at 0000000008300000, end 000000000830a8ac
Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)
Adding bank: 0x0a200000 - 0x80000000 (size: 0x75e00000)
Total: 3832.498 ms
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 4.17.19-g17982fadb9b5-dirty (msw@msw-Z97M-D3H) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05)) #2 SMP PREEMPT Thu Feb 20 21:41:51 CST 2020
[ 0.000000] Machine model: Firefly roc-rk3328-cc
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] cma: Reserved 16 MiB at 0x000000007f000000
[ 0.000000] NUMA: No NUMA configuration found
[ 0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000007fffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0x7efc8680-0x7efca17f]
[ 0.000000] Zone ranges:
[ 0.000000] DMA32 [mem 0x0000000000200000-0x000000007fffffff]
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000200000-0x00000000083fffff]
[ 0.000000] node 0: [mem 0x000000000a200000-0x000000007fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x000000007fffffff]
[ 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] random: get_random_bytes called from start_kernel+0xa4/0x414 with crng_init=0
[ 0.000000] percpu: Embedded 24 pages/cpu @ (ptrval) s57880 r8192 d32232 u98304
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[ 0.000000] CPU features: enabling workaround for ARM erratum 845719
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 507912
[ 0.000000] Policy zone: DMA32
[ 0.000000] Kernel command line: storagemedia=emmc androidboot.mode=emmc androidboot.slot_suffix= androidboot.serialno=1cb27b34a6de9e11
[ 0.000000] Memory: 1996516K/2064384K available (10236K kernel code, 1322K rwdata, 4808K rodata, 1216K init, 387K bss, 51484K reserved, 16384K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=4.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] rockchip_mmc_get_phase: invalid clk rate
[ 0.000000] rockchip_mmc_get_phase: invalid clk rate
[ 0.000000] rockchip_mmc_get_phase: invalid clk rate
[ 0.000000] rockchip_mmc_get_phase: invalid clk rate
[ 0.000000] rockchip_mmc_get_phase: invalid clk rate
[ 0.000000] rockchip_mmc_get_phase: invalid clk rate
[ 0.000000] rockchip_mmc_get_phase: invalid clk rate
[ 0.000000] rockchip_mmc_get_phase: invalid clk rate
[ 0.000000] arch_timer: 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.000008] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000981] Console: colour dummy device 80x25
[ 0.001799] console [tty0] enabled
[ 0.001918] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)
[ 0.001961] pid_max: default: 32768 minimum: 301
[ 0.002096] Security Framework initialized
[ 0.003422] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
[ 0.004157] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[ 0.004240] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.004288] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.023937] ASID allocator initialised with 32768 entries
[ 0.031924] Hierarchical SRCU implementation.
[ 0.043241] EFI services will not be available.
[ 0.048025] smp: Bringing up secondary CPUs ...
[ 0.080306] Detected VIPT I-cache on CPU1
[ 0.080387] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.112397] Detected VIPT I-cache on CPU2
[ 0.112463] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 0.144512] Detected VIPT I-cache on CPU3
[ 0.144577] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 0.144706] smp: Brought up 1 node, 4 CPUs
[ 0.144842] SMP: Total of 4 processors activated.
[ 0.144865] CPU features: detected: 32-bit EL0 Support
[ 0.150221] CPU: All CPU(s) started at EL2
[ 0.150269] alternatives: patching kernel code
[ 0.151512] devtmpfs: initialized
[ 0.161139] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.161254] futex hash table entries: 1024 (order: 5, 131072 bytes)
[ 0.162283] pinctrl core: initialized pinctrl subsystem
[ 0.165449] DMI not present or invalid.
[ 0.166109] NET: Registered protocol family 16
[ 0.166738] audit: initializing netlink subsys (disabled)
[ 0.166979] audit: type=2000 audit(0.164:1): state=initialized audit_enabled=0 res=1
[ 0.177050] cpuidle: using governor menu
[ 0.177689] vdso: 2 pages (1 code @ (ptrval), 1 data @ (ptrval))
[ 0.177750] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.179451] DMA: preallocated 256 KiB pool for atomic allocations
[ 0.181808] Serial: AMBA PL011 UART driver
[ 0.226498] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.227217] cryptd: max_cpu_qlen set to 1000
[ 0.228329] ACPI: Interpreter disabled.
[ 0.231068] vcc_sys: supplied by dc_12v
[ 0.231781] vcc_host1_5v: supplied by vcc_sys
[ 0.232853] vgaarb: loaded
[ 0.233400] SCSI subsystem initialized
[ 0.234638] usbcore: registered new interface driver usbfs
[ 0.234770] usbcore: registered new interface driver hub
[ 0.234950] usbcore: registered new device driver usb
[ 0.236379] pps_core: LinuxPPS API ver. 1 registered
[ 0.236428] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.236495] PTP clock support registered
[ 0.236807] EDAC MC: Ver: 3.0.0
[ 0.238904] Advanced Linux Sound Architecture Driver Initialized.
[ 0.240326] clocksource: Switched to clocksource arch_sys_counter
[ 0.240639] VFS: Disk quotas dquot_6.6.0
[ 0.240744] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.241009] pnp: PnP ACPI: disabled
[ 0.255268] NET: Registered protocol family 2
[ 0.256143] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes)
[ 0.256274] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[ 0.256639] TCP bind hash table entries: 16384 (order: 6, 262144 bytes)
[ 0.257095] TCP: Hash tables configured (established 16384 bind 16384)
[ 0.257363] UDP hash table entries: 1024 (order: 3, 32768 bytes)
[ 0.257478] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
[ 0.257802] NET: Registered protocol family 1
[ 0.258456] RPC: Registered named UNIX socket transport module.
[ 0.258492] RPC: Registered udp transport module.
[ 0.258512] RPC: Registered tcp transport module.
[ 0.258531] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.259837] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[ 0.260211] kvm [1]: 8-bit VMID
[ 0.261802] kvm [1]: vgic interrupt IRQ1
[ 0.261988] kvm [1]: Hyp mode initialized successfully
[ 0.267672] Initialise system trusted keyrings
[ 0.267942] workingset: timestamp_bits=44 max_order=19 bucket_order=0
[ 0.280283] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.281775] NFS: Registering the id_resolver key type
[ 0.281853] Key type id_resolver registered
[ 0.281874] Key type id_legacy registered
[ 0.281908] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.282221] 9p: Installing v9fs 9p2000 file system support
[ 0.282461] pstore: using deflate compression
[ 0.286786] Key type asymmetric registered
[ 0.286830] Asymmetric key parser 'x509' registered
[ 0.287202] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.287256] io scheduler noop registered
[ 0.287276] io scheduler deadline registered
[ 0.287690] io scheduler cfq registered (default)
[ 0.287734] io scheduler mq-deadline registered
[ 0.287755] io scheduler kyber registered
[ 0.301739] EINJ: ACPI disabled.
[ 0.309296] dma-pl330 ff1f0000.dmac: Loaded driver for PL330 DMAC-241330
[ 0.309352] dma-pl330 ff1f0000.dmac: DBUFF-128x8bytes Num_Chans-8 Num_Peri-20 Num_Events-16
[ 0.320257] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.324484] ff130000.serial: ttyS2 at MMIO 0xff130000 (irq = 12, base_baud = 1500000) is a 16550A
[ 0.394780] console [ttyS2] enabled
[ 0.396965] SuperH (H)SCI(F) driver initialized
[ 0.398012] msm_serial: driver initialized
[ 0.412526] loop: module loaded
[ 0.419754] libphy: Fixed MDIO Bus: probed
[ 0.420997] tun: Universal TUN/TAP device driver, 1.6
[ 0.423085] thunder_xcv, ver 1.0
[ 0.423492] thunder_bgx, ver 1.0
[ 0.423868] nicpf, ver 1.0
[ 0.424868] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[ 0.425422] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 0.426051] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
[ 0.426685] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 0.427275] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
[ 0.427989] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[ 0.429242] sky2: driver version 1.30
[ 0.430903] VFIO - User Level meta-driver version: 0.3
[ 0.432950] dwc2 ff580000.usb: ff580000.usb supply vusb_d not found, using dummy regulator
[ 0.433812] dwc2 ff580000.usb: ff580000.usb supply vusb_a not found, using dummy regulator
[ 0.568424] dwc2 ff580000.usb: EPs: 10, dedicated fifos, 972 entries in SPRAM
[ 0.570550] dwc2 ff580000.usb: DWC OTG Controller
[ 0.571042] dwc2 ff580000.usb: new USB bus registered, assigned bus number 1
[ 0.571738] dwc2 ff580000.usb: irq 26, io mem 0xff580000
[ 0.573306] hub 1-0:1.0: USB hub found
[ 0.573719] hub 1-0:1.0: 1 port detected
[ 0.575825] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.576485] ehci-pci: EHCI PCI platform driver
[ 0.576993] ehci-platform: EHCI generic platform driver
[ 0.579977] ehci-platform ff5c0000.usb: EHCI Host Controller
[ 0.580569] ehci-platform ff5c0000.usb: new USB bus registered, assigned bus number 2
[ 0.581764] ehci-platform ff5c0000.usb: irq 27, io mem 0xff5c0000
[ 0.596349] ehci-platform ff5c0000.usb: USB 2.0 started, EHCI 1.00
[ 0.597926] hub 2-0:1.0: USB hub found
[ 0.598348] hub 2-0:1.0: 1 port detected
[ 0.599360] ehci-orion: EHCI orion driver
[ 0.600014] ehci-exynos: EHCI EXYNOS driver
[ 0.600697] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.601309] ohci-pci: OHCI PCI platform driver
[ 0.601831] ohci-platform: OHCI generic platform driver
[ 0.602698] ohci-platform ff5d0000.usb: Generic Platform OHCI controller
[ 0.603342] ohci-platform ff5d0000.usb: new USB bus registered, assigned bus number 3
[ 0.604524] ohci-platform ff5d0000.usb: irq 28, io mem 0xff5d0000
[ 0.669476] hub 3-0:1.0: USB hub found
[ 0.669896] hub 3-0:1.0: 1 port detected
[ 0.670899] ohci-exynos: OHCI EXYNOS driver
[ 0.672515] usbcore: registered new interface driver usb-storage
[ 0.678400] i2c /dev entries driver
[ 0.682350] rk808 1-0018: chip id: 0x8050
[ 0.691251] rk808-regulator rk808-regulator: there is no dvs0 gpio
[ 0.691862] rk808-regulator rk808-regulator: there is no dvs1 gpio
[ 0.692544] DCDC_REG1: supplied by vcc_sys
[ 0.695650] DCDC_REG2: supplied by vcc_sys
[ 0.697695] DCDC_REG3: supplied by vcc_sys
[ 0.698431] DCDC_REG4: supplied by vcc_sys
[ 0.700162] LDO_REG1: supplied by vcc_io
[ 0.704152] LDO_REG2: supplied by vcc_io
[ 0.708133] LDO_REG3: supplied by vcc_io
[ 0.714023] rk3x-i2c ff160000.i2c: Initialized RK3xxx I2C bus at (ptrval)
[ 0.724063] sdhci: Secure Digital Host Controller Interface driver
[ 0.724672] sdhci: Copyright(c) Pierre Ossman
[ 0.725587] Synopsys Designware Multimedia Card Interface Driver
[ 0.727330] dwmmc_rockchip ff500000.dwmmc: IDMAC supports 32-bit address mode.
[ 0.728255] dwmmc_rockchip ff500000.dwmmc: Using internal DMA controller.
[ 0.728894] dwmmc_rockchip ff500000.dwmmc: Version ID is 270a
[ 0.729481] dwmmc_rockchip ff500000.dwmmc: DW MMC controller at irq 23,32 bit host data width,256 deep fifo
[ 0.730389] vcc_sd: supplied by vcc_io
[ 0.743712] mmc_host mmc0: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[ 0.758104] dwmmc_rockchip ff520000.dwmmc: IDMAC supports 32-bit address mode.
[ 0.758962] dwmmc_rockchip ff520000.dwmmc: Using internal DMA controller.
[ 0.759572] dwmmc_rockchip ff520000.dwmmc: Version ID is 270a
[ 0.760149] dwmmc_rockchip ff520000.dwmmc: DW MMC controller at irq 24,32 bit host data width,256 deep fifo
[ 0.761134] mmc_host mmc1: card is non-removable.
[ 0.772451] mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[ 0.786685] sdhci-pltfm: SDHCI platform and OF driver helper
[ 0.788909] ledtrig-cpu: registered to indicate activity on CPUs
[ 0.790940] usbcore: registered new interface driver usbhid
[ 0.791546] usbhid: USB HID core driver
[ 0.795877] NET: Registered protocol family 17
[ 0.796440] 9pnet: Installing 9P2000 support
[ 0.796951] Key type dns_resolver registered
[ 0.798201] registered taskstats version 1
[ 0.798615] Loading compiled-in X.509 certificates
[ 0.810842] hctosys: unable to open rtc device (rtc0)
[ 0.812778] vcc_sd: disabling
[ 0.813080] ALSA device list:
[ 0.813344] No soundcards found.
[ 0.814024] ttyS2 - failed to request DMA
[ 0.814646] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[ 0.815312] Please append a correct "root=" boot option; here are the available partitions:
[ 0.816058] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 0.816795] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.17.19-g17982fadb9b5-dirty #2
[ 0.817477] Hardware name: Firefly roc-rk3328-cc (DT)
[ 0.817928] Call trace:
[ 0.818165] dump_backtrace+0x0/0x198
[ 0.818494] show_stack+0x14/0x20
[ 0.818793] dump_stack+0x98/0xbc
[ 0.819096] panic+0x12c/0x29c
[ 0.819375] mount_block_root+0x188/0x274
[ 0.819732] mount_root+0x144/0x178
[ 0.820046] prepare_namespace+0x138/0x180
[ 0.820413] kernel_init_freeable+0x208/0x22c
[ 0.820805] kernel_init+0x10/0x108
[ 0.821118] ret_from_fork+0x10/0x18
[ 0.821445] SMP: stopping secondary CPUs
[ 0.821798] Kernel Offset: disabled
[ 0.822112] CPU features: 0x20802004
[ 0.822432] Memory Limit: none
[ 0.822714] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---