​这篇文章主要讲三个方面内容:

编译最新的linux内核

使用busybox构建根文件系统

平台:orangepi4 rockchip rk3399 LPDDR4 4G eMMC 16G

系统:ubuntu 20.04

1. 编译linux内核

安装arm64交叉编译器

sudo apt-get install gcc-aarch64-linux-gnu

下载内核源码

wget -c https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.6.tar.xz

解压源码

tar -xJf linux-5.15.6.tar.xz

配置内核

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig

按照默认的配置就行了,我们采用的是Image + dtb的内核格式,所以不用指定某一个CPU

编译内核

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8

编译成功后会得到arch/arm64/boot/Image文件及boot/dst/rockchip/xxx.dtb文件

2. 编译busybox

下载busybox源码:

wget -c https://busybox.net/downloads/busybox-1.34.1.tar.bz2

解压busybox源码:

tar -jxf busybox-1.34.1.tar.bz2

配置busybox源码:

make CROSS_COMPILE=aarch64-linux-gnu- menuconfig
Settings->
    [*]Build static binary (no shared libs)

编译并安装busybox:

make CROSS_COMPILE=aarch64-linux-gnu- install

默认被安装到_install目录下面

 构建根文件系统目录:

执行以下脚本补充一些必要的文件或目录:

#!/bin/sh
cd _install
mkdir etc dev mnt
mkdir -p proc sys tmp mnt
mkdir -p etc/init.d/
cat>etc/fstab<<EOF
proc        /proc           proc         defaults        0        0
tmpfs       /tmp            tmpfs      defaults        0        0
sysfs       /sys            sysfs        defaults        0        0
EOF
cat>etc/init.d/rcS<<EOF
echo -e "Welcome to tinyLinux"
/bin/mount -a
echo -e "Remounting the root filesystem"
mount  -o  remount,rw  /
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
EOF
chmod 755 etc/init.d/rcS
cat>etc/inittab<<EOF
::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::askfirst:-/bin/sh
::cttlaltdel:/bin/umount -a -r
EOF
chmod 755 etc/inittab
cd dev
mknod console c 5 1
mknod null c 1 3
mknod tty1 c 4 1

此时文件系统目录构建完成

制作根文件系统镜像:

执行以下脚本:

#!/bin/bash
dd if=/dev/zero of=./rootfs.ext3 bs=1M count=32
mkfs.ext3 rootfs.ext3
mkdir fs
sudo mount -o loop rootfs.ext3 ./fs
sudo cp -rf ./_install/* ./fs
sudo umount ./fs
gzip --best -c rootfs.ext3 > rootfs.img.gz 

执行成功后得到rootfs.ext3文件

3. 运行系统

通过瑞芯微官方说明我们需要制作一个Distro的boot/kernel镜像才可以运行内核,首先要找到一个dtb的配置文件,因为我的板子的内存是LPDDR4的,所以这里选用了一个支持LPDDR4的单板的配置rk3399-khadas-edge.dtb,然后就是构建一个extlinux.conf文件,进入内核源码目录执行:

#!/bin/sh
mkdir boot
cp arch/arm64/boot/dts/rockchip/rk3399-khadas-edge.dtb boot/rk3399.dtb
cp arch/arm64/boot/Image boot/
mkdir boot/extlinux
cat>boot/extlinux/extlinux.conf<<EOF
label rockchip-kernel-5.15
    kernel /Image
    fdt /rk3399.dtb
    append earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init
EOF

得到下面的文件

使用以下脚本创建内核镜像:

创建fat格式镜像:

#!/bin/sh
dd if=/dev/zero of=boot.img bs=1M count=32
sudo mkfs.fat boot.img
mkdir tmp
sudo mount boot.img tmp/
sudo cp -r boot/* tmp/
sudo umount tmp

创建ext2格式镜像:

genext2fs -b 32768 -B $((32*1024*1024/32768)) -d boot/ -i 8192 -U boot.img

执行成功后得到boot.img文件

完成后需要在uboot命令下面执行以下命令更新gpt:

gpt write mmc 0 $partitions

启动开发板连接usb然后是开发板进入maskrom模式(具体步骤及uboot参考uboot移植(基于原生u-boot代码RK3399平台)_anqi8955的专栏-CSDN博客)

运行以下脚步进行烧录:

sudo rkdeveloptool db rk3399_loader_v1.25.126.bin
sudo rkdeveloptool ul rk3399_loader_v1.25.126.bin
sudo rkdeveloptool wl 0x4000 uboot.img
sudo rkdeveloptool wl 0x6000 trust.img
sudo rkdeveloptool wl 0x8000 boot.img
sudo rkdeveloptool wl 0x40000 rootfs.ext3
sudo rkdeveloptool rd

烧录完成后启动开发板:


U-Boot TPL 2021.04 (Dec 07 2021 - 00:28:19)
Channel 0: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: LPDDR4, 50MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256B stride
lpddr4_set_rate: change freq to 400000000 mhz 0, 1
lpddr4_set_rate: change freq to 800000000 mhz 1, 0
Trying to boot from BOOTROM
Returning to boot ROM...

U-Boot SPL 2021.04 (Dec 07 2021 - 00:28:19 -0800)
Trying to boot from MMC2


U-Boot 2021.04 (Dec 07 2021 - 00:28:19 -0800)

SoC: Rockchip rk3399
Reset cause: RST
Model: Khadas Edge
DRAM:  3.9 GiB
MMC:   mmc@fe310000: 2, mmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial@ff1a0000
Out:   serial@ff1a0000
Err:   serial@ff1a0000
Model: Khadas Edge
Net:   
Warning: ethernet@fe300000 (eth0) using random MAC address - 86:31:84:ef:10:2d
eth0: ethernet@fe300000
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:4...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
181 bytes read in 15 ms (11.7 KiB/s)
1:      rockchip-kernel-5.15.6
Retrieving file: /Image
33288704 bytes read in 4012 ms (7.9 MiB/s)
append: earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init
Retrieving file: /rk3399.dtb
57862 bytes read in 25 ms (2.2 MiB/s)
Moving Image from 0x2080000 to 0x2200000, end=4250000
## Flattened Device Tree blob at 01f00000
   Booting using the fdt blob at 0x1f00000
   Loading Device Tree to 00000000f5f1a000, end 00000000f5f2b205 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.15.6 (work@work-B85M-D3V) (aarch64-linux-gnu-gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #3 SMP PREEMPT Tue Dec 7 18:45:12 CST 2021
[    0.000000] Machine model: Khadas Edge
[    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x00000000f7ffffff]
[    0.000000] NUMA: NODE_DATA [mem 0xf77e1c00-0xf77e3fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000200000-0x00000000f7ffffff]
[    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-0x00000000f7ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x00000000f7ffffff]
[    0.000000] cma: Reserved 32 MiB at 0x00000000f0000000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 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.2
[    0.000000] percpu: Embedded 20 pages/cpu s41112 r8192 d32616 u81920
[    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] Built 1 zonelists, mobility grouping on.  Total pages: 999432
[    0.000000] Policy zone: DMA
[    0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 3916844K/4061184K available (14848K kernel code, 3068K rwdata, 8244K rodata, 6208K init, 496K bss, 111572K 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] 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] GICv3: Distributor has no Range Selector support
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: 16 PPIs implemented
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fef00000
[    0.000000] ITS [mem 0xfee20000-0xfee3ffff]
[    0.000000] ITS@0x00000000fee20000: allocated 65536 Devices @480000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x0000000000440000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000000450000
[    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] random: get_random_bytes called from start_kernel+0x478/0x660 with crng_init=0
[    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.004712] Console: colour dummy device 80x25
[    0.005154] printk: console [tty0] enabled
[    0.005559] printk: bootconsole [uart8250] disabled
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.15.6 (work@work-B85M-D3V) (aarch64-linux-gnu-gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #3 SMP PREEMPT Tue Dec 7 18:45:12 CST 2021
[    0.000000] Machine model: Khadas Edge
[    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x00000000f7ffffff]
[    0.000000] NUMA: NODE_DATA [mem 0xf77e1c00-0xf77e3fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000200000-0x00000000f7ffffff]
[    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-0x00000000f7ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x00000000f7ffffff]
[    0.000000] cma: Reserved 32 MiB at 0x00000000f0000000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 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.2
[    0.000000] percpu: Embedded 20 pages/cpu s41112 r8192 d32616 u81920
[    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] Built 1 zonelists, mobility grouping on.  Total pages: 999432
[    0.000000] Policy zone: DMA
[    0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=B921B045-1D rootwait rootfstype=ext4 init=/sbin/init
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 3916844K/4061184K available (14848K kernel code, 3068K rwdata, 8244K rodata, 6208K init, 496K bss, 111572K 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] 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] GICv3: Distributor has no Range Selector support
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: 16 PPIs implemented
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fef00000
[    0.000000] ITS [mem 0xfee20000-0xfee3ffff]
[    0.000000] ITS@0x00000000fee20000: allocated 65536 Devices @480000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x0000000000440000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000000450000
[    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] random: get_random_bytes called from start_kernel+0x478/0x660 with crng_init=0
[    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.004712] Console: colour dummy device 80x25
[    0.005154] printk: console [tty0] enabled
[    0.005559] printk: bootconsole [uart8250] disabled
[    0.006149] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)
[    0.006190] pid_max: default: 32768 minimum: 301
[    0.006311] LSM: Security Framework initializing
[    0.006428] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.006481] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.008974] rcu: Hierarchical SRCU implementation.
[    0.009342] Platform MSI: interrupt-controller@fee20000 domain created
[    0.009812] PCI/MSI: /interrupt-controller@fee00000/interrupt-controller@fee20000 domain created
[    0.010153] fsl-mc MSI: interrupt-controller@fee20000 domain created
[    0.016602] EFI services will not be available.
[    0.017086] smp: Bringing up secondary CPUs ...
[    0.017778] Detected VIPT I-cache on CPU1
[    0.017824] GICv3: CPU1: found redistributor 1 region 0:0x00000000fef20000
[    0.017849] GICv3: CPU1: using allocated LPI pending table @0x0000000000460000
[    0.017919] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.018694] Detected VIPT I-cache on CPU2
[    0.018731] GICv3: CPU2: found redistributor 2 region 0:0x00000000fef40000
[    0.018751] GICv3: CPU2: using allocated LPI pending table @0x0000000000470000
[    0.018797] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.019490] Detected VIPT I-cache on CPU3
[    0.019524] GICv3: CPU3: found redistributor 3 region 0:0x00000000fef60000
[    0.019543] GICv3: CPU3: using allocated LPI pending table @0x0000000000500000
[    0.019586] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.020280] CPU features: detected: Spectre-v2
[    0.020293] CPU features: detected: Spectre-v3a
[    0.020307] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[    0.020314] Detected PIPT I-cache on CPU4
[    0.020346] GICv3: CPU4: found redistributor 100 region 0:0x00000000fef80000
[    0.020365] GICv3: CPU4: using allocated LPI pending table @0x0000000000510000
[    0.020410] CPU4: Booted secondary processor 0x0000000100 [0x410fd082]
[    0.021140] Detected PIPT I-cache on CPU5
[    0.021171] GICv3: CPU5: found redistributor 101 region 0:0x00000000fefa0000
[    0.021189] GICv3: CPU5: using allocated LPI pending table @0x0000000000520000
[    0.021226] CPU5: Booted secondary processor 0x0000000101 [0x410fd082]
[    0.021349] smp: Brought up 1 node, 6 CPUs
[    0.021713] SMP: Total of 6 processors activated.
[    0.021735] CPU features: detected: 32-bit EL0 Support
[    0.021755] CPU features: detected: 32-bit EL1 Support
[    0.021778] CPU features: detected: CRC32 instructions
[    0.039136] CPU: All CPU(s) started at EL2
[    0.039213] alternatives: patching kernel code
[    0.042607] devtmpfs: initialized
[    0.052736] KASLR disabled due to lack of seed
[    0.052942] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.052978] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
[    0.053991] pinctrl core: initialized pinctrl subsystem
[    0.055032] DMI not present or invalid.
[    0.055594] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.057817] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[    0.058118] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.058473] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.058543] audit: initializing netlink subsys (disabled)
[    0.058729] audit: type=2000 audit(0.056:1): state=initialized audit_enabled=0 res=1
[    0.060063] thermal_sys: Registered thermal governor 'step_wise'
[    0.060073] thermal_sys: Registered thermal governor 'power_allocator'
[    0.060586] cpuidle: using governor menu
[    0.060848] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.061040] ASID allocator initialised with 65536 entries
[    0.063073] Serial: AMBA PL011 UART driver
[    0.090354] OF: amba_device_add() failed (-19) for /dma-controller@ff6d0000
[    0.090553] OF: amba_device_add() failed (-19) for /dma-controller@ff6e0000
[    0.092857] platform ff770000.syscon:phy@f780: Fixing up cyclic dependency with fe330000.mmc
[    0.100760] platform ff940000.hdmi: Fixing up cyclic dependency with ff8f0000.vop
[    0.100844] platform ff940000.hdmi: Fixing up cyclic dependency with ff900000.vop
[    0.108809] rockchip-gpio ff720000.gpio0: probed /pinctrl/gpio0@ff720000
[    0.109561] rockchip-gpio ff730000.gpio1: probed /pinctrl/gpio1@ff730000
[    0.110218] rockchip-gpio ff780000.gpio2: probed /pinctrl/gpio2@ff780000
[    0.110814] rockchip-gpio ff788000.gpio3: probed /pinctrl/gpio3@ff788000
[    0.111395] rockchip-gpio ff790000.gpio4: probed /pinctrl/gpio4@ff790000
[    0.129112] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.129144] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.129162] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.129180] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    0.130871] cryptd: max_cpu_qlen set to 1000
[    0.134321] ACPI: Interpreter disabled.
[    0.138020] vsys_3v3: supplied by vsys
[    0.138316] vsys_5v0: supplied by vsys
[    0.139313] iommu: Default domain type: Translated 
[    0.139334] iommu: DMA domain TLB invalidation policy: strict mode 
[    0.141785] vgaarb: loaded
[    0.142084] SCSI subsystem initialized
[    0.142503] usbcore: registered new interface driver usbfs
[    0.142562] usbcore: registered new interface driver hub
[    0.142611] usbcore: registered new device driver usb
[    0.144212] pps_core: LinuxPPS API ver. 1 registered
[    0.144229] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.144258] PTP clock support registered
[    0.144495] EDAC MC: Ver: 3.0.0
[    0.147305] FPGA manager framework
[    0.147414] Advanced Linux Sound Architecture Driver Initialized.
[    0.148363] clocksource: Switched to clocksource arch_sys_counter
[    0.148542] VFS: Disk quotas dquot_6.6.0
[    0.148613] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.148902] pnp: PnP ACPI: disabled
[    0.157115] NET: Registered PF_INET protocol family
[    0.157434] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.160220] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    0.160393] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.160757] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[    0.161436] TCP: Hash tables configured (established 32768 bind 32768)
[    0.161585] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.161737] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.162019] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.162586] RPC: Registered named UNIX socket transport module.
[    0.162607] RPC: Registered udp transport module.
[    0.162621] RPC: Registered tcp transport module.
[    0.162633] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.162653] PCI: CLS 0 bytes, default 64
[    0.163857] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    0.164286] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
[    0.164921] kvm [1]: IPA Size Limit: 40 bits
[    0.166442] kvm [1]: vgic-v2@fff20000
[    0.166484] kvm [1]: GIC system register CPU interface enabled
[    0.166717] kvm [1]: vgic interrupt IRQ18
[    0.166978] kvm [1]: Hyp mode initialized successfully
[    0.172475] Initialise system trusted keyrings
[    0.172661] workingset: timestamp_bits=42 max_order=20 bucket_order=0
[    0.179353] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.180062] NFS: Registering the id_resolver key type
[    0.180103] Key type id_resolver registered
[    0.180119] Key type id_legacy registered
[    0.180215] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.180235] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.180456] 9p: Installing v9fs 9p2000 file system support
[    0.245797] Key type asymmetric registered
[    0.245817] Asymmetric key parser 'x509' registered
[    0.245896] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    0.245918] io scheduler mq-deadline registered
[    0.245932] io scheduler kyber registered
[    0.257277] rockchip-usb2phy ff770000.syscon:usb2phy@e450: failed to create phy
[    0.258210] rockchip-usb2phy ff770000.syscon:usb2phy@e460: failed to create phy
[    0.275676] EINJ: ACPI disabled.
[    0.303092] vdd_log: supplied by regulator-dummy
[    0.309847] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.312614] ff180000.serial: ttyS0 at MMIO 0xff180000 (irq = 37, base_baud = 1500000) is a 16550A
[    0.312796] serial serial0: tty port ttyS0 registered
[    0.313665] ff1a0000.serial: ttyS2 at MMIO 0xff1a0000 (irq = 38, base_baud = 1500000) is a 16550A
[    0.417842] printk: console [ttyS2] enabled
[    0.420781] SuperH (H)SCI(F) driver initialized
[    0.422309] msm_serial: driver initialized
[    0.426005] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.433967] brd: module loaded
[    0.441037] loop: module loaded
[    0.443075] megasas: 07.717.02.00-rc1
[    0.446610] SPI driver mtd_dataflash has no spi_device_id for atmel,at45
[    0.447214] SPI driver mtd_dataflash has no spi_device_id for atmel,dataflash
[    0.453833] libphy: Fixed MDIO Bus: probed
[    0.456283] tun: Universal TUN/TAP device driver, 1.6
[    0.458370] thunder_xcv, ver 1.0
[    0.458703] thunder_bgx, ver 1.0
[    0.459029] nicpf, ver 1.0
[    0.461813] hclge is initializing
[    0.462133] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
[    0.462778] hns3: Copyright (c) 2017 Huawei Corporation.
[    0.463306] e1000: Intel(R) PRO/1000 Network Driver
[    0.463745] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    0.464294] e1000e: Intel(R) PRO/1000 Network Driver
[    0.464757] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    0.465332] igb: Intel(R) Gigabit Ethernet Network Driver
[    0.465816] igb: Copyright (c) 2007-2014 Intel Corporation.
[    0.466344] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[    0.466902] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    0.468087] sky2: driver version 1.30
[    0.470567] VFIO - User Level meta-driver version: 0.3
[    0.478849] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.479443] ehci-pci: EHCI PCI platform driver
[    0.479882] ehci-platform: EHCI generic platform driver
[    0.480662] ehci-orion: EHCI orion driver
[    0.481235] ehci-exynos: EHCI Exynos driver
[    0.481793] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.482364] ohci-pci: OHCI PCI platform driver
[    0.482806] ohci-platform: OHCI generic platform driver
[    0.483519] ohci-exynos: OHCI Exynos driver
[    0.485079] usbcore: registered new interface driver usb-storage
[    0.490891] i2c_dev: i2c /dev entries driver
[    0.495803] rk808 4-001b: failed to read the chip id at 0x17
[    0.501342] fan53555-regulator 4-0040: Failed to get chip ID!
[    0.502766] fan53555-regulator 4-0041: Failed to get chip ID!
[    0.511568] dw_wdt ff848000.watchdog: No valid TOPs array specified
[    0.516952] sdhci: Secure Digital Host Controller Interface driver
[    0.517516] sdhci: Copyright(c) Pierre Ossman
[    0.518820] SPI driver mmc_spi has no spi_device_id for mmc-spi-slot
[    0.519997] Synopsys Designware Multimedia Card Interface Driver
[    0.522621] dwmmc_rockchip fe320000.mmc: IDMAC supports 32-bit address mode.
[    0.522925] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.523303] dwmmc_rockchip fe320000.mmc: Using internal DMA controller.
[    0.524416] dwmmc_rockchip fe320000.mmc: Version ID is 270a
[    0.524997] dwmmc_rockchip fe320000.mmc: DW MMC controller at irq 29,32 bit host data width,256 deep fifo
[    0.526076] dwmmc_rockchip fe320000.mmc: Got CD GPIO
[    0.526973] mmc2: CQHCI version 5.10
[    0.528306] ledtrig-cpu: registered to indicate activity on CPUs
[    0.531043] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    0.532658] usbcore: registered new interface driver usbhid
[    0.533163] usbhid: USB HID core driver
[    0.539872] mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[    0.544189] NET: Registered PF_PACKET protocol family
[    0.544873] 9pnet: Installing 9P2000 support
[    0.545309] Key type dns_resolver registered
[    0.546193] Loading compiled-in X.509 certificates
[    0.553864] mmc2: SDHCI controller on fe330000.mmc [fe330000.mmc] using ADMA
[    0.583629] vcc3v3_pcie: supplied by vsys_3v3
[    0.585086] vcc5v0_host: supplied by vsys_5v0
[    0.606863] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    0.607420] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[    0.608276] xhci-hcd xhci-hcd.0.auto: hcc params 0x0220fe64 hci version 0x110 quirks 0x0000000002010010
[    0.609199] xhci-hcd xhci-hcd.0.auto: irq 70, io mem 0xfe800000
[    0.610981] hub 1-0:1.0: USB hub found
[    0.611383] hub 1-0:1.0: 1 port detected
[    0.612144] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    0.612692] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[    0.613405] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
[    0.614099] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    0.615655] hub 2-0:1.0: USB hub found
[    0.616046] hub 2-0:1.0: 1 port detected
[    0.620462] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    0.621011] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3
[    0.621882] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220fe64 hci version 0x110 quirks 0x0000000002010010
[    0.622807] xhci-hcd xhci-hcd.1.auto: irq 71, io mem 0xfe900000
[    0.624617] hub 3-0:1.0: USB hub found
[    0.625010] hub 3-0:1.0: 1 port detected
[    0.625804] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    0.626323] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4
[    0.627039] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[    0.627714] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[    0.628973] mmc2: Command Queue Engine enabled
[    0.629401] mmc2: new HS400 Enhanced strobe MMC card at address 0001
[    0.629487] hub 4-0:1.0: USB hub found
[    0.630359] hub 4-0:1.0: 1 port detected
[    0.630826] mmcblk2: mmc2:0001 AJTD4R 14.6 GiB 
[    0.635681] ehci-platform fe380000.usb: EHCI Host Controller
[    0.636034]  mmcblk2: p1 p2 p3 p4 p5
[    0.636249] ehci-platform fe380000.usb: new USB bus registered, assigned bus number 5
[    0.637441] ehci-platform fe380000.usb: irq 31, io mem 0xfe380000
[    0.638137] mmcblk2boot0: mmc2:0001 AJTD4R 4.00 MiB 
[    0.640115] mmcblk2boot1: mmc2:0001 AJTD4R 4.00 MiB 
[    0.642173] mmcblk2rpmb: mmc2:0001 AJTD4R 4.00 MiB, chardev (234:0)
[    0.652541] ehci-platform fe380000.usb: USB 2.0 started, EHCI 1.00
[    0.654081] hub 5-0:1.0: USB hub found
[    0.654469] hub 5-0:1.0: 1 port detected
[    0.659767] ehci-platform fe3c0000.usb: EHCI Host Controller
[    0.660335] ehci-platform fe3c0000.usb: new USB bus registered, assigned bus number 6
[    0.661219] ehci-platform fe3c0000.usb: irq 33, io mem 0xfe3c0000
[    0.676643] ehci-platform fe3c0000.usb: USB 2.0 started, EHCI 1.00
[    0.678312] hub 6-0:1.0: USB hub found
[    0.678707] hub 6-0:1.0: 1 port detected
[    0.681762] ohci-platform fe3a0000.usb: Generic Platform OHCI controller
[    0.682417] ohci-platform fe3a0000.usb: new USB bus registered, assigned bus number 7
[    0.683298] ohci-platform fe3a0000.usb: irq 32, io mem 0xfe3a0000
[    0.745746] hub 7-0:1.0: USB hub found
[    0.746159] hub 7-0:1.0: 1 port detected
[    0.749252] ohci-platform fe3e0000.usb: Generic Platform OHCI controller
[    0.749905] ohci-platform fe3e0000.usb: new USB bus registered, assigned bus number 8
[    0.750767] ohci-platform fe3e0000.usb: irq 34, io mem 0xfe3e0000
[    0.813774] hub 8-0:1.0: USB hub found
[    0.814187] hub 8-0:1.0: 1 port detected
[    0.841410] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    0.843985] ALSA device list:
[    0.844279]   No soundcards found.
[    0.844871] dw-apb-uart ff1a0000.serial: forbid DMA for kernel console
[    0.860223] EXT4-fs (mmcblk2p5): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[    0.861235] VFS: Mounted root (ext4 filesystem) readonly on device 179:5.
[    0.862324] devtmpfs: mounted
[    0.866320] Freeing unused kernel memory: 6208K
[    0.896691] Run /sbin/init as init process
Bad inittab entry at line 4
Welcome to tinyLinux
[    0.924682] tmpfs: Unknown parameter '  defaults'
mount: mounting tmpfs on /tmp failed: Invalid argument
Remounting the root filesystem
[    0.930444] EXT4-fs (mmcblk2p5): re-mounted. Opts: (null). Quota mode: none.
/etc/init.d/rcS: line 7: can't create /proc/sys/kernel/hotplug: nonexistent directory

Please press Enter to activate this console. 
/ # 
/ # 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐