Firefly RK3399 – 移植linux 6.3 (启动失败)

目录

0.前言

 1.源码下载

2.内核defconfig配置

 3.内核裁切

 4.编译内核

5.创建its文件

6.生成kernel.itb

7.烧录

0.前言

作为一个刚刚接触Linux的小白,我手中恰好有一块Firefly RK3399开发板。之前,我成功移植uboot、inux 5.2.8以及根文件系统,现在移植linux 6.3来更深入地了解嵌入式系统的制作流程。

  移植linux 6.3,我主要参考了 @大奥特曼打小怪兽博主所撰写的精彩帖子。对于RK3399芯片的相关原理,我也会在这些博主的文章中深入学习。他们的文章不仅内容丰富,而且具有很高的参考价值。

  在此,我主要是想记录下自己的学习过程,以便日后回顾,同时也希望这些记录能对其他学习者提供一定的参考和帮助。

 1.源码下载

下载linux-6.3版本并解压,执行如下命令:

wget http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/v6.x/linux-6.3.tar.gz

tar -xvf linux-6.3.tar.gz

配置Makefile,修改顶层的Makefile,打开Makefile文件,找到下面语句:

ARCH        ?= $(SUBARCH)

修改为:

ARCH        ?= arm64

CROSS_COMPILE    ?= aarch64-none-linux-gnu-

其中,ARCH是指定目标平台为 arm64 , CROSS_COMPILE 是指定交叉编译器,这里指定的是系统默认的交叉编译器,如要使用其它的,则要把编译器的全路径在这里写出。

2.内核defconfig配置

单板的默认配置文件在arch/arm64/configs目录下:

make defconfig

 3.内核裁切

通过make menuconfig配置内核支持的功能:

make menuconfig

关于内核裁切内容比较多,参考Firefly RK3399 - 移植linux 5.2.8-CSDN博客即可。其中有一些步骤略有不同:

(1) 由于我们不使用ramdisk根文件系统,所以不用配置支持RAM块设备;

(2) 在配置有限网卡驱动的时候发生一些变化:

Device Drivers  ---> 
  [*] Network device support  --->
     [*] Ethernet driver support  --->    
        [*] STMicroelectronics devices 
            [*] STMicroelectronics Multi-Gigabit Ethernet driver
                 [*] STMMAC Platform bus support
                       [*] Rockchip dwmac support

 4.编译内核

在linux内核根目录下执行如下命令:

make -j8

5.创建its文件

因为mkimage是根据its文件中的描述来打包镜像生成itb文件(FIT uImage),所以首先需要制作一个its文件,在its文件中描述需要被打包的镜像,主要是kernel镜像,dtb文件。

我们创建一个kernel.its文件,内容如下:

/*
 * Simple U-Boot uImage source file containing a single kernel and FDT blob
 */
/dts-v1/;

/ {
        description = "Simple image with single Linux kernel and FDT blob";
        #address-cells = <1>;

        images {

                kernel {
                        description = "Vanilla Linux kernel";
                        data = /incbin/("arch/arm64/boot/Image.gz");
                        type = "kernel";
                        arch = "arm64";
                        os = "linux";
                        compression = "gzip";
                        load = <0x280000>;
                        entry = <0x280000>;
                        hash-1 {
                                algo = "crc32";
                        };
                        hash-2 {
                                algo = "sha1";
                        };
                };

               fdt {
                        description = "Flattened Device Tree blob";
                        data = /incbin/("arch/arm64/boot/dts/rockchip/rk3399-firefly.dtb");
                        type = "flat_dt";
                        arch = "arm64";
                        compression = "none";
                        load = <0x8300000>;
                        entry = <0x8300000>;
                        hash-1 {
                                algo = "crc32";
                        };
                        hash-2 {
                                algo = "sha1";
                        };
                };

        };

        configurations {
                default = "conf-1";
                conf-1 {
                        description = "Boot Linux kernel with FDT blob";
                        kernel = "kernel";
                        fdt = "fdt";
                };
        };
};

6.生成kernel.itb

需要将u-boot-2023.07路径下的mkimage工具拷贝过来,然后在命令行使用mkimage工具编译即可:

./mkimage -f kernel.its kernel.itb

需要注意的是这里一定不能指定-E参数,不然uboot在进行kernel镜像hash校验的时候就会失败。

7.烧录

我们按照之前的流程得到了如下文件

idbloader.img
 
u-boot.itb
 
kernel.itb
 
busybox_ext4_rootfs.img
 
rk3399_loader_v1.27.126.bin

我手中这块开发板基于emmc启动,按照RK官方要求将

rk3399_loader_v1.27.126.bin烧录到0x0扇区
 
idbloader.img烧录到emmc的0x40扇区
 
u-boot.itb烧录到0x4000扇区
 
kernel.itb烧录到0x8000扇区
 
busybox_ext4_rootfs.img烧录到0x40000扇区

 烧录方法有两种,一种是基于RK的官方烧录工具AndroidTool.exe,另外一种是在开发板上直接烧写emmc。官方AndroidTool.exe是基于recovery模式实现的,板子带有recovery按键,可以使用这种方式。我用基于AndroidTool.exe烧录:

按住recovery按键上电,板子会进入recovery模式,点击执行,开始烧录。

uboot命令行设置:

setenv bootargs earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,115200n8 root=PARTUUID=B921B045-1D rw rootwait rootfstype=ext4 init=/sbin/init

saveenv

print bootargs

通过uboot命令行将kernel.itb下到内存地址0x10000000处,

mmc read 0x10000000 0x8000 0xA000

bootm启动内核,在uboot命令行运行bootm 0x10000000命令启动内核:

=> setenv bootargs earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 root=PARTUUID=B921B045-1D rw rootwait rootfstype=ext4 init=/sbin/init  
=> saveenv
Saving Environment to MMC... Writing to MMC(0)... OK
=> mmc read 0x10000000 0x8000 0xA000

MMC read: dev # 0, block # 32768, count 40960 ... 40960 blocks read: OK
=> bootm 0x10000000
## Loading kernel from FIT Image at 10000000 ...
   Using 'conf-1' configuration
   Trying 'kernel' kernel subimage
     Description:  Vanilla Linux kernel
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x100000e8
     Data Size:    13556760 Bytes = 12.9 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x00280000
     Entry Point:  0x00280000
     Hash algo:    crc32
     Hash value:   28f4a623
     Hash algo:    sha1
     Hash value:   44d11154120d00820f02d8c384c21a3802b8daa2
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 10000000 ...
   Using 'conf-1' configuration
   Trying 'fdt' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x10cede28
     Data Size:    63000 Bytes = 61.5 KiB
     Architecture: AArch64
     Load Address: 0x08300000
     Hash algo:    crc32
     Hash value:   aede2c03
     Hash algo:    sha1
     Hash value:   edc14cf26516fe34594877086f322eb468becf51
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Loading fdt from 0x10cede28 to 0x08300000
   Booting using the fdt blob at 0x8300000
Working FDT set to 8300000
   Uncompressing Kernel Image
   Loading Device Tree to 000000007ceef000, end 000000007cf01617 ... OK
Working FDT set to 7ceef000

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.3.0 (root@lyx-virtual-machine) (aarch64-none-linux-gnu-gcc (Arm GNU Toolchain 13.2.rel1 (Build arm-13.7)) 13.2.1 20231009, GNU ld (Arm GNU Toolchain 13.2.rel1 (Build arm-13.7)) 2.41.0.20231009) #2 SMP PREEMPT Wed Apr 17 21:27:19 CST 2024
[    0.000000] Machine model: Firefly-RK3399 Board
[    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] [Firmware Bug]: Kernel image misaligned at boot, please fix your bootloader!
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x000000007fffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x7fba09c0-0x7fba2fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000200000-0x000000007fffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000200000-0x000000007fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x000000007fffffff]
[    0.000000] On node 0, zone DMA: 512 pages in unavailable ranges
[    0.000000] cma: Reserved 32 MiB at 0x000000007ae00000
[    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] percpu: Embedded 22 pages/cpu s50472 r8192 d31448 u90112
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Fallback order for Node 0: 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 515592
[    0.000000] Policy zone: DMA
[    0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,1500000n8 root=PARTUUID=B921B045-1D rw rootwait rootfstype=ext4 init=/sbin/init
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] Memory: 1981300K/2095104K available (16704K kernel code, 4192K rwdata, 10108K rodata, 8320K init, 607K bss, 81036K reserved, 32768K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=6.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=6
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 256 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fef00000
[    0.000000] ITS [mem 0xfee20000-0xfee3ffff]
[    0.000000] ITS@0x00000000fee20000: allocated 65536 Devices @2c80000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x0000000002c40000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000002c50000
[    0.000000] GICv3: GIC: PPI partition interrupt-partition-0[0] { /cpus/cpu@0[0] /cpus/cpu@1[1] /cpus/cpu@2[2] /cpus/cpu@3[3] }
[    0.000000] GICv3: GIC: PPI partition interrupt-partition-1[1] { /cpus/cpu@100[4] /cpus/cpu@101[5] }
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    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.000001] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.013408] Console: colour dummy device 80x25
[    0.018410] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)
[    0.029712] pid_max: default: 32768 minimum: 301
[    0.034889] LSM: initializing lsm=capability,integrity
[    0.040701] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.048858] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.060106] cblist_init_generic: Setting adjustable number of callback queues.
[    0.068105] cblist_init_generic: Setting shift to 3 and lim to 1.
[    0.074930] cblist_init_generic: Setting shift to 3 and lim to 1.
[    0.081950] rcu: Hierarchical SRCU implementation.
[    0.087239] rcu:     Max phase no-delay instances is 1000.
[    0.093369] Platform MSI: msi-controller@fee20000 domain created
[    0.100436] PCI/MSI: /interrupt-controller@fee00000/msi-controller@fee20000 domain created
[    0.109836] fsl-mc MSI: msi-controller@fee20000 domain created
[    0.123081] EFI services will not be available.
[    0.128618] smp: Bringing up secondary CPUs ...
[    0.134395] Detected VIPT I-cache on CPU1
[    0.134478] GICv3: CPU1: found redistributor 1 region 0:0x00000000fef20000
[    0.134500] GICv3: CPU1: using allocated LPI pending table @0x0000000002c60000
[    0.134558] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.135423] Detected VIPT I-cache on CPU2
[    0.135487] GICv3: CPU2: found redistributor 2 region 0:0x00000000fef40000
[    0.135505] GICv3: CPU2: using allocated LPI pending table @0x0000000002c70000
[    0.135545] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.136305] Detected VIPT I-cache on CPU3
[    0.136367] GICv3: CPU3: found redistributor 3 region 0:0x00000000fef60000
[    0.136385] GICv3: CPU3: using allocated LPI pending table @0x0000000002d00000
[    0.136422] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    5.157395] CPU4: failed to come online
[    5.242803] CPU4: failed in unknown state : 0x0
[   10.319361] CPU5: failed to come online
[   10.323589] CPU5: failed in unknown state : 0x0
[   10.328668] smp: Brought up 1 node, 4 CPUs
[   10.333205] SMP: Total of 4 processors activated.
[   10.338388] CPU features: detected: 32-bit EL0 Support
[   10.344062] CPU features: detected: 32-bit EL1 Support
[   10.349719] CPU features: detected: CRC32 instructions
[   10.355500] CPU: All CPU(s) started at EL2
[   10.360044] alternatives: applying system-wide alternatives
[   10.369118] devtmpfs: initialized
[   10.391861] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[   10.402624] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
[   10.411746] pinctrl core: initialized pinctrl subsystem
[   10.422772] DMI not present or invalid.
[   10.428177] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[   10.436370] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[   10.444321] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[   10.453070] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[   10.461852] audit: initializing netlink subsys (disabled)
[   10.468058] audit: type=2000 audit(10.304:1): state=initialized audit_enabled=0 res=1
[   10.470643] thermal_sys: Registered thermal governor 'step_wise'
[   10.476689] thermal_sys: Registered thermal governor 'power_allocator'
[   10.483416] cpuidle: using governor menu
[   10.495311] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[   10.502917] ASID allocator initialised with 65536 entries
[   10.513287] Serial: AMBA PL011 UART driver
卡死

继续研究,各种各样的在某个位置上卡死

=> bootm 0x10000000
## Loading kernel from FIT Image at 10000000 ...
   Using 'conf-1' configuration
   Trying 'kernel' kernel subimage
     Description:  Vanilla Linux kernel
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x100000e8
     Data Size:    13196492 Bytes = 12.6 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x00280000
     Entry Point:  0x00280000
     Hash algo:    crc32
     Hash value:   82c11ac8
     Hash algo:    sha1
     Hash value:   5d25566212db05c85af618c5d3ce60370558baef
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 10000000 ...
   Using 'conf-1' configuration
   Trying 'fdt' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x10c95edc
     Data Size:    62984 Bytes = 61.5 KiB
     Architecture: AArch64
     Load Address: 0x08300000
     Hash algo:    crc32
     Hash value:   9cd30c0a
     Hash algo:    sha1
     Hash value:   cae6f6006c383537ef614ce05261a0e51e853612
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Loading fdt from 0x10c95edc to 0x08300000
   Booting using the fdt blob at 0x8300000
Working FDT set to 8300000
   Uncompressing Kernel Image
   Loading Device Tree to 000000007ceef000, end 000000007cf01607 ... OK
Working FDT set to 7ceef000

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.3.0 (root@lyx-virtual-machine) (aarch64-none-linux-gnu-gcc (Arm GNU Toolchain 13.2.rel1 (Build arm-13.7)) 13.2.1 20231009, GNU ld (Arm GNU Toolchain 13.2.rel1 (Build arm-13.7)) 2.41.0.20231009) #1 SMP PREEMPT Tue Apr 23 20:58:59 CST 2024
[    0.000000] Machine model: Firefly-RK3399 Board
[    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] [Firmware Bug]: Kernel image misaligned at boot, please fix your bootloader!
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x000000007fffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x7fba09c0-0x7fba2fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000200000-0x000000007fffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000200000-0x000000007fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x000000007fffffff]
[    0.000000] On node 0, zone DMA: 512 pages in unavailable ranges
[    0.000000] cma: Reserved 32 MiB at 0x000000007ae00000
[    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] percpu: Embedded 22 pages/cpu s50088 r8192 d31832 u90112
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Fallback order for Node 0: 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 515592
[    0.000000] Policy zone: DMA
[    0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff1a0000 console=ttyS2,115200n8 root=PARTUUID=B921B045-1D rw rootwait rootfstype=ext4 init=/sbin/init
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] Memory: 1982132K/2095104K available (16192K kernel code, 4182K rwdata, 9848K rodata, 8256K init, 607K bss, 80204K reserved, 32768K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=6, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=6.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=6
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 256 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fef00000
[    0.000000] ITS [mem 0xfee20000-0xfee3ffff]
[    0.000000] ITS@0x00000000fee20000: allocated 65536 Devices @2c80000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x0000000002c40000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000002c50000
[    0.000000] GICv3: GIC: PPI partition interrupt-partition-0[0] { /cpus/cpu@0[0] /cpus/cpu@1[1] /cpus/cpu@2[2] /cpus/cpu@3[3] }
[    0.000000] GICv3: GIC: PPI partition interrupt-partition-1[1] { /cpus/cpu@100[4] /cpus/cpu@101[5] }
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    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.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.013398] Console: colour dummy device 80x25
[    0.018395] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)
[    0.029697] pid_max: default: 32768 minimum: 301
[    0.034878] LSM: initializing lsm=capability,integrity
[    0.040692] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.048848] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.060081] cblist_init_generic: Setting adjustable number of callback queues.
[    0.068081] cblist_init_generic: Setting shift to 3 and lim to 1.
[    0.074903] cblist_init_generic: Setting shift to 3 and lim to 1.
[    0.081914] rcu: Hierarchical SRCU implementation.
[    0.087201] rcu:     Max phase no-delay instances is 1000.
[    0.093330] Platform MSI: msi-controller@fee20000 domain created
[    0.100395] PCI/MSI: /interrupt-controller@fee00000/msi-controller@fee20000 domain created
[    0.109792] fsl-mc MSI: msi-controller@fee20000 domain created
[    0.123033] EFI services will not be available.
[    0.128563] smp: Bringing up secondary CPUs ...
[    0.134332] Detected VIPT I-cache on CPU1
[    0.134412] GICv3: CPU1: found redistributor 1 region 0:0x00000000fef20000
[    0.134434] GICv3: CPU1: using allocated LPI pending table @0x0000000002c60000
[    0.134490] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.135349] Detected VIPT I-cache on CPU2
[    0.135413] GICv3: CPU2: found redistributor 2 region 0:0x00000000fef40000
[    0.135432] GICv3: CPU2: using allocated LPI pending table @0x0000000002c70000
[    0.135472] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.136226] Detected VIPT I-cache on CPU3
[    0.136288] GICv3: CPU3: found redistributor 3 region 0:0x00000000fef60000
[    0.136307] GICv3: CPU3: using allocated LPI pending table @0x0000000002d00000
[    0.136343] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.137115] CPU features: detected: Spectre-v2
[    0.137128] CPU features: detected: Spectre-v3a
[    0.137135] CPU features: detected: Spectre-v4
[    0.137141] CPU features: detected: Spectre-BHB
[    0.137150] CPU features: detected: ARM erratum 1742098
[    0.137157] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[    0.137164] Detected PIPT I-cache on CPU4
[    0.137234] GICv3: CPU4: found redistributor 100 region 0:0x00000000fef80000
[    0.137254] GICv3: CPU4: using allocated LPI pending table @0x0000000002d10000
[    0.137295] CPU4: Booted secondary processor 0x0000000100 [0x410fd082]
[    0.138153] Detected PIPT I-cache on CPU5
[    0.138214] GICv3: CPU5: found redistributor 101 region 0:0x00000000fefa0000
[    0.138232] GICv3: CPU5: using allocated LPI pending table @0x0000000002d20000
[    0.138265] CPU5: Booted secondary processor 0x0000000101 [0x410fd082]
[    0.138380] smp: Brought up 1 node, 6 CPUs
[    0.311692] SMP: Total of 6 processors activated.
[    0.316877] CPU features: detected: 32-bit EL0 Support
[    0.322551] CPU features: detected: 32-bit EL1 Support
[    0.328209] CPU features: detected: CRC32 instructions
[    0.334005] CPU: All CPU(s) started at EL2
[    0.338546] alternatives: applying system-wide alternatives
[    0.347872] devtmpfs: initialized
[    0.363613] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.374350] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
[    0.382792] pinctrl core: initialized pinctrl subsystem
[    0.391500] DMI not present or invalid.
[    0.396589] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.404583] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[    0.412701] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.421445] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.430212] audit: initializing netlink subsys (disabled)
[    0.436363] audit: type=2000 audit(0.296:1): state=initialized audit_enabled=0 res=1
[    0.437988] thermal_sys: Registered thermal governor 'step_wise'
[    0.444903] thermal_sys: Registered thermal governor 'power_allocator'
[    0.451583] cpuidle: using governor menu
[    0.463322] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.470986] ASID allocator initialised with 65536 entries
[    0.479611] Serial: AMBA PL011 UART driver
[    0.517909] platform fe330000.mmc: Fixed dependency cycle(s) with /syscon@ff770000/phy@f780
[    0.535083] platform ff940000.hdmi: Fixed dependency cycle(s) with /vop@ff8f0000/port/endpoint@2
[    0.544768] platform ff940000.hdmi: Fixed dependency cycle(s) with /vop@ff900000/port/endpoint@2
[    0.561343] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.571414] rockchip-gpio ff720000.gpio: probed /pinctrl/gpio@ff720000
[    0.579144] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.589112] rockchip-gpio ff730000.gpio: probed /pinctrl/gpio@ff730000
[    0.596704] gpio gpiochip2: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.606654] rockchip-gpio ff780000.gpio: probed /pinctrl/gpio@ff780000
[    0.614298] gpio gpiochip3: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.624247] rockchip-gpio ff788000.gpio: probed /pinctrl/gpio@ff788000
[    0.631888] gpio gpiochip4: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    0.641836] rockchip-gpio ff790000.gpio: probed /pinctrl/gpio@ff790000
[    0.653918] platform spdif-dit: Fixed dependency cycle(s) with /spdif@ff870000/port/endpoint
[    0.667501] KASLR disabled due to lack of seed
[    0.673217] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.680685] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.687586] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.695047] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.701944] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.709403] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.716298] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.723758] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.732885] ACPI: Interpreter disabled.
[    0.743400] iommu: Default domain type: Translated
[    0.748773] iommu: DMA domain TLB invalidation policy: strict mode
[    0.755944] SCSI subsystem initialized
[    0.760472] usbcore: registered new interface driver usbfs
[    0.766541] usbcore: registered new interface driver hub
[    0.772418] usbcore: registered new device driver usb
[    0.779910] pps_core: LinuxPPS API ver. 1 registered
[    0.785371] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.795430] PTP clock support registered
[    0.800011] EDAC MC: Ver: 3.0.0
[    0.804616] scmi_core: SCMI protocol bus registered
[    0.811412] FPGA manager framework
[    0.815258] Advanced Linux Sound Architecture Driver Initialized.
[    0.823018] vgaarb: loaded
[    0.826332] clocksource: Switched to clocksource arch_sys_counter
[    0.833259] VFS: Disk quotas dquot_6.6.0
[    0.837628] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.845394] pnp: PnP ACPI: disabled
[    0.858677] NET: Registered PF_INET protocol family
[    0.864261] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.874749] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.884214] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.892758] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.901643] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear)
[    0.910333] TCP: Hash tables configured (established 16384 bind 16384)
[    0.917605] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.925059] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.933085] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.939761] RPC: Registered named UNIX socket transport module.
[    0.946288] RPC: Registered udp transport module.
[    0.951467] RPC: Registered tcp transport module.
[    0.956638] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.963738] PCI: CLS 0 bytes, default 64
[    0.969049] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    0.978893] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
[    0.988612] kvm [1]: IPA Size Limit: 40 bits
[    0.995618] kvm [1]: vgic-v2@fff20000
[    0.999682] kvm [1]: GIC system register CPU interface enabled
[    1.006116] kvm [1]: vgic interrupt IRQ18
[    1.010553] kvm [1]: Hyp mode initialized successfully
[    1.017922] Initialise system trusted keyrings
[    1.023024] workingset: timestamp_bits=42 max_order=19 bucket_order=0
[    1.030558] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.037300] NFS: Registering the id_resolver key type
[    1.042894] Key type id_resolver registered
[    1.047503] Key type id_legacy registered
[    1.051934] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.059314] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.067604] 9p: Installing v9fs 9p2000 file system support
[    1.139710] Key type asymmetric registered
[    1.144217] Asymmetric key parser 'x509' registered
[    1.149636] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    1.157769] io scheduler mq-deadline registered
[    1.162755] io scheduler kyber registered
[    1.167205] io scheduler bfq registered
[    1.202421] EINJ: ACPI disabled.
[    1.234875] dma-pl330 ff6d0000.dma-controller: Loaded driver for PL330 DMAC-241330
[    1.243214] dma-pl330 ff6d0000.dma-controller:       DBUFF-32x8bytes Num_Chans-6 Num_Peri-12 Num_Events-12
[    1.254634] dma-pl330 ff6e0000.dma-controller: Loaded driver for PL330 DMAC-241330
[    1.262967] dma-pl330 ff6e0000.dma-controller:       DBUFF-128x8bytes Num_Chans-8 Num_Peri-20 Num_Events-16
[    1.296619] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.306482] ff180000.serial: ttyS0 at MMIO 0xff180000 (irq = 37, base_baud = 1500000) is a 16550A
[    1.317182] ff1a0000.serial: ttyS2 at MMIO 0xff1a0000 (irq = 38, base_baud = 1500000) is a 16550A
[    1.327146] printk: console [ttyS2] enabled
[    1.327146] printk: console [ttyS2] enabled
[    1.336530] printk: bootconsole [uart8250] disabled
[    1.336530] printk: bootconsole [uart8250] disabled
[    1.353121] SuperH (H)SCI(F) driver initialized
[    1.359344] msm_serial: driver initialized
[    1.377793] loop: module loaded
[    1.383001] megasas: 07.725.01.00-rc1
[    1.398406] tun: Universal TUN/TAP device driver, 1.6
[    1.405742] thunder_xcv, ver 1.0
[    1.409409] thunder_bgx, ver 1.0
[    1.413059] nicpf, ver 1.0
[    1.418599] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
[    1.426686] hns3: Copyright (c) 2017 Huawei Corporation.
[    1.432667] hclge is initializing
[    1.436400] e1000: Intel(R) PRO/1000 Network Driver
[    1.441859] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    1.448329] e1000e: Intel(R) PRO/1000 Network Driver
[    1.453877] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    1.460531] igb: Intel(R) Gigabit Ethernet Network Driver
[    1.466573] igb: Copyright (c) 2007-2014 Intel Corporation.
[    1.472834] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[    1.479847] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    1.487136] sky2: driver version 1.30
[    1.493813] VFIO - User Level meta-driver version: 0.3
[    1.509222] usbcore: registered new interface driver usb-storage
[    1.521704] i2c_dev: i2c /dev entries driver
[    1.531305] i2c 0-001b: Fixed dependency cycle(s) with /i2c@ff3c0000/pmic@1b/regulators/LDO_REG3
[    1.542086] fan53555-regulator 0-0040: FAN53555 Option[8] Rev[1] Detected!
卡死

希望有大佬可以指导下!

参考文章

Rockchip RK3399 - 移植uboot 2023.04 & linux 6.3 - 大奥特曼打小怪兽 - 博客园 (cnblogs.com)

  • 17
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值