zl程序教程

您现在的位置是:首页 >  其他

当前栏目

RK3568 Android固件介绍、固件烧录、开机进系统

2023-04-18 14:28:41 时间

固件介绍

编译生成的固件在rockdev/Image-rk3568_r目录下,包含如下文件:
baseparameter.img:
boot-debug.img://usr固件往往没有root权限,此时可以烧它以进行root权限操作
boot.img   //包含了kernel.img、resource.img、ramdisk,但Android不能直接烧kernel.img和resource.img了,取而代之的是boot.img。需要使用build.sh -K 命令来编译 kernel从而得到boot.img。

config.cfg   //烧写工具的配置文件 ,可以直接导入烧写工具显示需要烧写的选项
dtbo.img  //由dts编译得到,修改了dts将会编到这里
MiniLoaderAll.bin  //很底层的loader程序,包含一级loader
misc.img  //包含recovery-wipe开机标识信息,烧写它后会进行recovery
parameter.txt   //分区表
pcba_small_misc.img //包含pcba开机标识信息,烧写后会进入简易版pcba模式
pcba_whole_misc.img //包含pcba开机标识信息,烧写后会进入完整版pcba模式
recovery.img  //包含了recovery-ramdiskernel、dtb、resource等,是一个精简版的小系统。完整烧录固件后第一次开机或者从未正常进系统时  开机要先跑这个;正常进过系统后 再开机 就不会跑这里了,在某些条件 如进recovery才会跑这里。所以,当遇到烧录后无法正常开机,我们改了kernel,则一定要记得烧recovery.img和boot.img 或者全烧。
resource.img  //开机logo、开机充电logo等资源
super.img  //包含odmproductvendorsystemsystem_ext分区内容 ;所以改了Android系统层 要烧这个
uboot.img   //uboot
update.img  //这是由零散固件打包而成的
vbmeta.img   //包含avb校验信息,用于AVB校验

我们可以烧分散的img:(红色部分)

也可以烧update.img,等同于全烧。

注:(trust.img 包含BL31、BL32 ,RK3566/RK3568没生成这个,所以不需要烧写trust.img了)

安装支持RK3568的USB驱动

安装文件在SDK/RKTools/windows/DriverAssitant_v5.1.1.zip

如果以前已安装过旧版的驱动,则需更新,先卸载再安装即可。

新版驱动支持新型号芯片 也兼容旧芯片的。

烧录固件前,最好先确认一下手上的板子硬件是否正常

烧录固件前,如果板子已烧录过别人的固件,先确认一下板子能否正常开机、常见模块如屏、TP、HDMI等是否正常;接串口打印看能否正常抓log;看ADB功能是否正常。

固件烧录用到的工具及烧录注意事项

SDK/RKTools/windows/AndroidTool/RKDevTool_Release_v2.84.zip

烧录RK3568 Android11的固件,要用v2.84版。新版工具支持新型号芯片 也兼容旧芯片的。

此工具免安装,解压,双击 RKDevTool.exe 直接运行即可。

此工具有三个界面:

烧录分散固件的界面:

一般先选parameter,工具由parameter.txt知道要烧哪些分区 及 分区表是怎样的。

选了不同的parameter.txt,工具界面会变的。

 烧录update.img固件界面:

注:烧分散固件或统一固件 都要在loader模式或maskroom模式下才能烧。

可以由adb模式切换到loader模式;

白片会进maskroom模式;或者短接板子触点 进maskroom;

在loader模式下 可以全烧 也可烧几个需要的分区(一般parameter也是要烧的)。

maskroom模式 一定要全烧,不能烧部分。

 高级功能界面,如固件解包、读取各种信息、从机器中导出某个分区镜像、擦除EMMC中的某一部分等:

上电开机

烧完固件后 PC工具会触发板子自动开机

看log

通过top看有哪些进程,判断系统已经起来。

看PC有没有识别到ADB设备。

第一次烧录会先执行recovery,再跑普通模式的uboot 、kernel。重刷了misc.img 后也会先跑一次recovery 再跑普通模式的uboot 、kernel。

开机log走读

第一次开机

 
烧完固件 自动重启,先执行一次recovery
先初始化DDR,打印DDR相关信息,然后DDR逐步升频 一个个try:

如果容量不对  或者跑到某些频点就失败,则需检查硬件DDR部分。

DDR Version V1.11 20211103
In
ddrconfig:0
LP4 MR14:0x4d
LPDDR4, 324MHz
BW=32 Col=10 Bk=8 CS0 Row=17 CS=1 Die BW=16 Size=4096MB
tdqss: cs0 dqs0: 361ps, dqs1: 265ps, dqs2: 313ps, dqs3: 192ps, 

change to: 324MHz
PHY drv:clk:38,ca:38,DQ:30,odt:0
vrefinner:41%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 528MHz
PHY drv:clk:38,ca:38,DQ:30,odt:0
vrefinner:41%, vrefout:41%
dram drv:40,odt:0
clk skew:0x78

change to: 780MHz
PHY drv:clk:38,ca:38,DQ:30,odt:0
vrefinner:41%, vrefout:41%
dram drv:40,odt:0
clk skew:0x5c

change to: 1560MHz(final freq)
PHY drv:clk:38,ca:38,DQ:30,odt:60
vrefinner:16%, vrefout:29%
dram drv:40,odt:80
vref_ca:00000068
clk skew:0x19
cs 0:
the read training result:
DQS0:0x32, DQS1:0x32, DQS2:0x33, DQS3:0x2b, 
min  : 0xf  0xd 0x12  0xf  0x2  0x6  0x9  0x4 , 0xc  0xb  0x7  0x3 0x10  0xb 0x13  0xb ,
      0x14 0x13  0xc  0xb  0x4  0x1  0x4  0x5 , 0xc  0x8  0x9  0x1  0xf  0xe  0xd  0xe ,
mid  :0x2a 0x28 0x2d 0x2a 0x1d 0x21 0x24 0x1f ,0x27 0x25 0x1e 0x1e 0x2a 0x26 0x2a 0x25 ,
      0x2f 0x2d 0x27 0x26 0x1f 0x1d 0x1f 0x21 ,0x25 0x21 0x21 0x1c 0x29 0x28 0x25 0x29 ,
max  :0x45 0x44 0x48 0x45 0x39 0x3d 0x40 0x3a ,0x42 0x3f 0x35 0x39 0x45 0x42 0x41 0x3f ,
      0x4a 0x47 0x42 0x41 0x3b 0x3a 0x3b 0x3d ,0x3f 0x3a 0x3a 0x37 0x43 0x42 0x3e 0x44 ,
range:0x36 0x37 0x36 0x36 0x37 0x37 0x37 0x36 ,0x36 0x34 0x2e 0x36 0x35 0x37 0x2e 0x34 ,
      0x36 0x34 0x36 0x36 0x37 0x39 0x37 0x38 ,0x33 0x32 0x31 0x36 0x34 0x34 0x31 0x36 ,
the write training result:
DQS0:0x61, DQS1:0x4d, DQS2:0x57, DQS3:0x3f, 
min  :0xab 0xad 0xb2 0xad 0x9f 0xa1 0xa6 0xa5 0xa5 ,0x97 0x98 0x90 0x92 0x9d 0x9c 0x9c 。。。。。。


CA Training result:
cs:0 min  :0x3e 0x36 0x30 0x29 0x33 0x27 0x34 ,0x40 0x36 0x35 0x2f 0x33 0x2c 0x39 ,
cs:0 mid  :0x79 0x77 0x6b 0x68 0x6d 0x67 0x61 ,0x7b 0x77 0x70 0x6c 0x6e 0x6b 0x64 ,
cs:0 max  :0xb5 0xb8 0xa6 0xa8 0xa8 0xa8 0x8e ,0xb7 0xb9 0xac 0xaa 0xaa 0xaa 0x90 ,
cs:0 range:0x77 0x82 0x76 0x7f 0x75 0x81 0x5a ,0x77 0x83 0x77 0x7b 0x77 0x7e 0x57 ,
out

准备执行Uboot:
U-Boot SPL board init
U-Boot SPL 2017.09-gaaca6ffec1-211203 #zzz (Dec 03 2021 - 18:42:16)
unknown raw ID phN
unrecognized JEDEC id bytes: 00, 00, 00
Trying to boot from MMC2
MMC error: The cmd index is 1, ret is -110
Card did not respond to voltage select!
mmc_init: -95, time 10
spl: mmc init failed with error: -95
Trying to boot from MMC1
Magic is incorrect.
Error validating A/B metadata from disk. Resetting and writing new A/B metadata to disk.
SPL: A/B-slot: _a, successful: 0, tries-remain: 7
Trying fit image at 0x4000 sector
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(fe4f274c06...) + OK
## Checking uboot 0x00a00000 ... sha256(232cd51e70...) + OK
## Checking fdt 0x00b2fd30 ... sha256(9679fe2a45...) + OK
## Checking atf-2 0x00068000 ... sha256(8d44036095...) + OK
## Checking atf-3 0xfdcd0000 ... sha256(e410275b51...) + OK
## Checking atf-4 0xfdcc9000 ... sha256(990c53fc01...) + OK
## Checking atf-5 0x00066000 ... sha256(315a4195a9...) + OK
## Checking optee 0x08400000 ... sha256(08e1fd41e1...) + OK
Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)
Total: 246.927 ms

INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-181-gc9a647cae:cl
NOTICE:  BL31: Built : 10:55:41, Oct 18 2021
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    pmu v1 is valid
INFO:    dfs DDR fsp_param[0].freq_mhz= 1560MHz
INFO:    dfs DDR fsp_param[1].freq_mhz= 324MHz
INFO:    dfs DDR fsp_param[2].freq_mhz= 528MHz
INFO:    dfs DDR fsp_param[3].freq_mhz= 780MHz
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 0
INFO:    BL31: Initializing runtime services
INFO:    BL31: Initializing BL32
I/TC: 
I/TC: OP-TEE version: 3.13.0-595-gf5add58be #hisping.lin (gcc version 10.2.1 20201103 (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16))) #26 Tue Dec 21 15:50:44 CST 2021 aarch64
I/TC: Primary CPU initializing
I/TC: Primary CPU switching to normal world boot
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0xa00000
INFO:    SPSR = 0x3c9

//uboot已经运行起来
U-Boot 2017.09 #ubuntu (Apr 10 2022 - 22:25:43 +0800) 

Model: Rockchip RK3568 Evaluation Board
PreSerial: 2, raw, 0xfe660000
DRAM:  4 GiB
Sysmem: init
Relocation Offset: ed349000
Relocation fdt: eb9f8a08 - eb9fecd8
CR: M/C/I
Using default environment

dwmmc@fe2b0000: 1, dwmmc@fe2c0000: 2, sdhci@fe310000: 0
Bootdev(atags): mmc 0
MMC0: HS200, 200Mhz

PartType: EFI
DM: v1
boot mode: recovery (misc)
boot mode: recovery (misc)
Android 11.0, Build 2021.8, v2
Found DTB in recovery part
DTB: rk-kernel.dtb
HASH(c): OK
ANDROID: fdt overlay OK
I2c0 speed: 100000Hz
vsel-gpios- not found! Error: -2
vdd_cpu init 900000 uV
PMIC:  RK8090 (on=0x40, off=0x00)
vdd_logic init 900000 uV
vdd_gpu init 900000 uV
vdd_npu init 900000 uV
io-domain: OK
Model: Rockchip RK3568 EVB1 DDR4 V10 Board
Rockchip UBOOT DRM driver version: v1.0.1
VOP have 2 active VP
vp0 have layer nr:3[1 3 5 ], primary plane: 5
vp1 have layer nr:3[0 2 4 ], primary plane: 4
vp2 have layer nr:0[], primary plane: 0
Using display timing dts
dsi@fe060000:  detailed mode clock 132000 kHz, flags[8000000a]
    H: 1080 1095 1097 1127
    V: 1920 1935 1937 1952
bus_format: 100e
VOP update mode to: 1080x1920p0, type: MIPI0 for VP1
rockchip_vop2_init:No hdmi0_phy_pll_uboot clk found, use system clk
rockchip_vop2_init:No hdmi1_phy_pll_uboot clk found, use system clk
VOP VP1 enable Smart0[654x270->654x270@213x825] fmt[2] addr[0xedf04000]
final DSI-Link bandwidth: 876 Mbps x 4
disp info 0, type:11, id:0
hdmi@fe0a0000 disconnected
CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A)
  apll 1416000 KHz
  dpll 780000 KHz
  gpll 1188000 KHz
  cpll 1000000 KHz
  npll 1200000 KHz
  vpll 660000 KHz
  hpll 24000 KHz
  ppll 200000 KHz
  armclk 1416000 KHz
  aclk_bus 150000 KHz
  pclk_bus 100000 KHz
  aclk_top_high 500000 KHz
  aclk_top_low 400000 KHz
  hclk_top 150000 KHz
  pclk_top 100000 KHz
  aclk_perimid 300000 KHz
  hclk_perimid 150000 KHz
  pclk_pmu 100000 KHz
Net:   eth1: ethernet@fe010000, eth0: ethernet@fe2a0000
Hit key to stop autoboot('CTRL+C'):  0 
ANDROID: reboot reason: "recovery"
optee api revision: 2.0
Vboot=0, AVB images, AVB verify
read_is_device_unlocked() ops returned that device is UNLOCKED
avb_footer.c:41: ERROR: Footer magic is incorrect.
avb_vbmeta_image.c:65: ERROR: Magic is incorrect.
avb_slot_verify.c:773: ERROR: recovery: Error verifying vbmeta image: invalid vbmeta header
Verify recovery with vbmeta.
avb_slot_verify.c:762: ERROR: vbmeta: Error verifying vbmeta image: OK_NOT_SIGNED
get image from preloaded partition...
ANDROID: Hash OK
Could not find "system" partition
Booting IMAGE kernel at 0x00280000 with fdt at 0x0a100000...


Fdt Ramdisk skip relocation
## Booting Android Image at 0x0027f800 ...
Kernel: 0x00280000 - 0x020c6008 (31001 KiB)
ramdisk:    0x0a200000 - 0x0c6bc120 (37617 KiB)
## Flattened Device Tree blob at 0x0a100000
   Booting using the fdt blob at 0x0a100000
   XIP Kernel Image from 0x00280000 to 0x00280000 ... OK
   kernel loaded at 0x00280000, end = 0x020c6008
  'reserved-memory' linux,cma: addr=10000000 size=800000
  'reserved-memory' ramoops@110000: addr=110000 size=f0000
   Using Device Tree in place at 000000000a100000, end 000000000a12442a
vp0, plane_mask:0x2a, primary-id:5, curser-id:-1
vp1, plane_mask:0x15, primary-id:4, curser-id:-1
vp2, plane_mask:0x0, primary-id:0, curser-id:-1
Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)
Adding bank: 0x09400000 - 0xf0000000 (size: 0xe6c00000)
Adding bank: 0x1f0000000 - 0x200000000 (size: 0x10000000)
Total: 2814.32 ms

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[    0.000000] Linux version 4.19.219 (ubuntu@ubuntu-VirtualBox) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05), GNU ld (Linaro_Binutils-2017.05) 2.27.0.20161019) #9 SMP PREEMPT Sun Apr 10 22:36:11 CST 2022
[    0.000000] Machine model: Rockchip RK3568 EVB1 DDR4 V10 Board
[    0.000000] earlycon: uart8250 at MMIO32 0x00000000fe660000 (options '')
[    0.000000] bootconsole [uart8250] enabled
[    0.000000] Reserved memory: created CMA memory pool at 0x0000000010000000, size 8 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    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: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 24 pages/cpu s58968 r8192 d31144 u98304
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: Virtualization Host Extensions
[    0.000000] CPU features: detected: Speculative Store Bypassing Safe (SSBS)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1027656
[    0.000000] Kernel command line: storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal  androidboot.dtb_idx=0 androidboot.dtbo_idx=0  androidboot.verifiedbootstate=orange androidboot.serialno=a3b1698a32424d64 console=ttyFIQ0 androidboot.baseband=N/A androidboot.wificountrycode=CN androidboot.veritymode=enforcing androidboot.hardware=rk30board androidboot.console=ttyFIQ0 androidboot.verifiedbootstate=orange firmware_class.path=/vendor/etc/firmware init=/init rootwait ro loop.max_part=7 buildvariant=userdebug earlycon=uart8250,mmio32,0xfe660000 androidboot.boot_devices=fe310000.sdhci,fe330000.nandc
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0xe9f00000-0xedf00000] (64MB)
[    0.000000] Memory: 3941380K/4175872K available (15422K kernel code, 2072K rwdata, 9304K rodata, 4160K init, 949K bss, 226300K reserved, 8192K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 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] GICv3: GIC: Using split EOI/Deactivate mode
。。。。。。
分区信息:
recovery filesystem table
=========================
  0 /mnt/internal_sd  vfat /dev/block/platform/ff0f0000.dwmmc/by-name/user 0
  1 /mnt/external_sd  vfat /dev/block/mmcblk0p1 0
  2 /system  ext4 /dev/block/by-name/system 0
  3 /vendor  ext4 /dev/block/by-name/vendor 0
  4 /odm  ext4 /dev/block/by-name/odm 0
  5 /product  ext4 /dev/block/by-name/product 0
  6 /system_ext  ext4 /dev/block/by-name/system_ext 0
  7 /cache  ext4 /dev/block/by-name/cache 0
  8 /metadata  ext4 /dev/block/by-name/metadata 0
  9 /data  f2fs /dev/block/by-name/userdata 0
  10 /cust  ext4 /dev/block/by-name/cust 0
  11 /custom  ext4 /dev/block/by-name/custom 0
  12 /radical_update  ext4 /dev/block/by-name/radical_update 0
  13 /misc  emmc /dev/block/by-name/misc 0
  14 /uboot  emmc /dev/block/by-name/uboot 0
  15 /charge  emmc /dev/block/by-name/charge 0
  16 /resource  emmc /dev/block/by-name/resource 0
  17 /parameter  emmc /dev/block/by-name/parameter 0
  18 /boot  emmc /dev/block/by-name/boot 0
  19 /recovery  emmc /dev/block/by-name/recovery 0
  20 /backup  emmc /dev/block/by-name/backup 0
  21 /frp  emmc /dev/block/by-name/frp 0
  22 /trust  emmc /dev/block/by-name/trust 0
  23 /baseparamer  emmc /dev/block/by-name/baseparamer 0
  24 /vbmeta  emmc /dev/block/by-name/vbmeta 0
  25 /dtbo  emmc /dev/block/by-name/dtbo 0
  26 /vendor_boot  emmc /dev/block/by-name/vendor_boot 0
  27 /tmp  ramdisk ramdisk 0

exit=================
result_point[0] is ----/dev/block/mmcblk2
111
emmc_point is /dev/block/mmcblk2
sd_point is (null)
sd_point_2 is (null)
read cmdline
I:Boot command: boot-recovery

I:Got 2 arguments from boot message
ensure_path_mounted path=/cache/recovery/last_locale 
I:[libfs_mgr]superblock s_max_mnt_count:65535,/dev/block/by-name/cache
[    3.551143] EXT4-fs (mmcblk2p10): mounted filesystem with ordered data mode. Opts: 
I:[libfs_mgr]__mount(source=/dev/block/by-name/cache,target=/cache,type=ext4)=0: Success
Loading make_device from librecovery_ui_ext.so
W:Failed to read max brightness: No such file or directory
I:Screensaver disabled
[    3.557174] rockchip-dmc dmc: cpu0 policy NULL
。。。。。。 
[    7.353879] rockchip-dmc dmc: cpu3 policy NULL
Rebooting...
[    7.396652] rk808 0-0020: reboot: not restore POWER_EN
[    7.397046] rockchip-vop2 fe040000.vop: [drm:vop2_crtc_atomic_disable] Crtc atomic disable vp0
Failed to drmModePageFlip: Device or resource busy
[    7.438006] rkisp_hw fdff0000.rkisp: rkisp_hw_shutdown
[    7.445380] mpp_rkvdec2 fdf80200.rkvdec: shutdown device
[    7.445865] mpp_jpgdec fded0000.jpegd: shutdown device
[    7.446320] mpp-iep2 fdef0000.iep: shutdown device
[    7.446752] mpp_vepu2 fdee0000.vepu: shutdown device
[    7.447216] mpp_vdpu2 fdea0400.vdpu: shutdown device
libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8 in tid 123 (recovery), pid 117 (recovery)
[    7.448514] mpp_rkvenc fdf40000.rkvenc: shutdown device
[    7.448977] mpp_rkvenc fdf40000.rkvenc: shutdown success
[    7.449799] rknand_shutdown...
[    7.450687] reboot: Restarting system with command 'userrequested,recovery'

recovery执行完毕,重新启动,开始走正常启动流程
DDR Version V1.11 20211103
In
ddrconfig:0
LP4 MR14:0x4d
LPDDR4, 324MHz
BW=32 Col=10 Bk=8 CS0 Row=17 CS=1 Die BW=16 Size=4096MB
tdqss: cs0 dqs0: 385ps, dqs1: 289ps, dqs2: 337ps, dqs3: 241ps, 

change to: 324MHz
PHY drv:clk:38,ca:38,DQ:30,odt:0
vrefinner:41%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

。。。。。。

change to: 1560MHz(final freq)
PHY drv:clk:38,ca:38,DQ:30,odt:60
vrefinner:16%, vrefout:29%
dram drv:40,odt:80
vref_ca:00000068
clk skew:0x1d
cs 0:
the read training result:
DQS0:0x31, DQS1:0x30, DQS2:0x32, DQS3:0x29,

。。。。。。。


U-Boot 2017.09 #ubuntu (Apr 10 2022 - 22:25:43 +0800)

Model: Rockchip RK3568 Evaluation Board
PreSerial: 2, raw, 0xfe660000
DRAM:  4 GiB

Sysmem: init
Relocation Offset: ed349000
Relocation fdt: eb9f8a08 - eb9fecd8
CR: M/C/I
Using default environment

dwmmc@fe2b0000: 1, dwmmc@fe2c0000: 2, sdhci@fe310000: 0
Bootdev(atags): mmc 0
MMC0: HS200, 200Mhz
PartType: EFI
DM: v1
boot mode: recovery (misc)
boot mode: normal
Android 11.0, Build 2021.8, v2
Found DTB in boot part
DTB: rk-kernel.dtb

ANDROID: Hash OK
Could not find "system" partition
Booting IMAGE kernel at 0x00280000 with fdt at 0x0a100000...


Fdt Ramdisk skip relocation
## Booting Android Image at 0x0027f800 ...
Kernel: 0x00280000 - 0x020c6008 (31001 KiB)
ramdisk:    0x0a200000 - 0x0a2c8c37 (804 KiB)
## Flattened Device Tree blob at 0x0a100000
   Booting using the fdt blob at 0x0a100000
   XIP Kernel Image from 0x00280000 to 0x00280000 ... OK
   kernel loaded at 0x00280000, end = 0x020c6008
  'reserved-memory' linux,cma: addr=10000000 size=800000
  'reserved-memory' ramoops@110000: addr=110000 size=f0000
   Using Device Tree in place at 000000000a100000, end 000000000a12442a
vp0, plane_mask:0x2a, primary-id:5, curser-id:-1
vp1, plane_mask:0x15, primary-id:4, curser-id:-1
vp2, plane_mask:0x0, primary-id:0, curser-id:-1
Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)
Adding bank: 0x09400000 - 0xf0000000 (size: 0xe6c00000)
Adding bank: 0x1f0000000 - 0x200000000 (size: 0x10000000)
Total: 2193.283 ms

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[    0.000000] Linux version 4.19.219 (ubuntu@ubuntu-VirtualBox) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05), GNU ld (Linaro_Binutils-2017.05) 2.27.0.20161019) #9 SMP PREEMPT Sun Apr 10 22:36:11 CST 2022
[    0.000000] Machine model: Rockchip RK3568 EVB1 DDR4 V10 Board
[    0.000000] earlycon: uart8250 at MMIO32 0x00000000fe660000 (options '')
[    0.000000] bootconsole [uart8250] enabled
[    0.000000] Reserved memory: created CMA memory pool at 0x0000000010000000, size 8 MiB

[    0.000000] CPU features: detected: Speculative Store Bypassing Safe (SSBS)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1027656
[    0.000000] Kernel command line: storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal  androidboot.dtb_idx=0 androidboot.dtbo_idx=0  androidboot.verifiedbootstate=orange androidboot.serialno=a3b1698a32424d64 console=ttyFIQ0 androidboot.baseband=N/A androidboot.wificountrycode=CN androidboot.veritymode=enforcing androidboot.hardware=rk30board androidboot.console=ttyFIQ0 androidboot.verifiedbootstate=orange firmware_class.path=/vendor/etc/firmware init=/init rootwait ro loop.max_part=7 buildvariant=userdebug earlycon=uart8250,mmio32,0xfe660000 androidboot.boot_devices=fe310000.sdhci,fe330000.nandc
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
。。。。。。

[   69.993688] healthd: battery l=50 v=3 t=2.6 h=2 st=3 fc=100 chg=au

console:/ $ 
console:/ $ 
console:/ $ ps


USER            PID   PPID     VSZ    RSS WCHAN            ADDR S NAME                       
shell           149      1 10771076  2860 sigsuspend          0 S sh
shell          1971    149 10773488  3260 0                   0 R ps
console:/ $ 
console:/ $ top
  Mem:  3983888K total,  1973356K used,  2010532K free,  93392896 buffers
 Swap:  1991940K total,         0 used,  1991940K free,  1042660K cached
400%cpu   1%user   0%nice   2%sys 396%idle   0%iow   1%irq   0%sirq   0%host
   PID USER         PR  NI VIRT  RES  SHR S[%CPU] %MEM     TIME+ ARGS                                                                                                                                                                        
  2000 shell        20   0  10G 4.4M 3.4M R  2.6   0.1   0:00.25 top
   .......

  1559 u0_a71       20   0  13G 118M  78M S  0.0   3.0   0:01.97 android.process.acore
ttings
   990 radio        20   0  13G 145M  96M S  0.0   3.7   0:09.86 com.android.phone
   968 secure_elem+ 20   0  13G 100M  62M S  0.0   2.5   0:00.13 com.android.se
   939 u0_a115      20   0  13G 226M 148M S  0.0   5.8   0:06.11 com.android.launcher3
   908 network_sta+ 20   0  13G 116M  77M S  0.0   2.9   0:00.34 com.android.networkstack.process
   885 webview_zyg+ 20   0 1.6G  63M  33M S  0.0   1.6   0:00.06 webview_zygote
   671 u0_a121      20   0  13G 113M  73M S  0.0   2.8   0:01.85 com.android.permissioncontroller
   645 u0_a113      20   0  14G 257M 168M S  0.0   6.5   0:10.53 com.android.systemui
   438 system       18  -2  16G 424M 342M S  0.0  10.9   0:26.43 system_server
  ......
   361 incidentd    20   0  10G 4.8M 4.0M S  0.0   0.1   0:00.03 incidentd
   356 drm          20   0  21M 6.3M 5.3M S  0.0   0.1   0:00.05 drmserver
   351 cameraserver 20   0  48M  18M  15M S  0.0   0.4   0:00.38 cameraserver
   350 nobody       20   0  10G 3.2M 2.6M S  0.0   0.0   0:00.01 traced
   349 nobody       20   0  10G 3.1M 2.5M S  0.0   0.0   0:00.02 traced_probes
   347 shell        20   0  10G 5.0M 4.3M S  0.0   0.1   0:00.07 adbd --root_seclabel=u:r:su:s0
   312 gpu_service  20   0  10G 6.3M 5.2M S  0.0   0.1   0:00.06 gpuservice
   310 credstore    20   0  10G 7.1M 6.1M S  0.0   0.1   0:00.05 credstore /data/misc/credstore
   309 audioserver  20   0  11G  21M  18M S  0.0   0.5   0:00.58 audioserver
通过看关键服务 和 APK 特别是launcher apk是否跑起来,可以判断系统是否已经正常跑起来。
 

第二次及以后开机

      成功开机后,后续开机就不跑recovery 直接跑正常模式了。

没有显示屏或显示不正常的情况下可用抓屏工具来看界面

详情请看 

Android 投屏工具https://mp.csdn.net/mp_blog/creation/editor/124699487