RK3568 Android固件介绍固件烧录开机进系统
Posted Lvvv666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RK3568 Android固件介绍固件烧录开机进系统相关的知识,希望对你有一定的参考价值。
固件介绍
编译生成的固件在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-ramdis、kernel、dtb、resource等,是一个精简版的小系统。完整烧录固件后第一次开机或者从未正常进系统时 开机要先跑这个;正常进过系统后 再开机 就不会跑这里了,在某些条件 如进recovery才会跑这里。所以,当遇到烧录后无法正常开机,我们改了kernel,则一定要记得烧recovery.img和boot.img 或者全烧。
resource.img //开机logo、开机充电logo等资源
super.img //包含odm、product、vendor、system、system_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
以上是关于RK3568 Android固件介绍固件烧录开机进系统的主要内容,如果未能解决你的问题,请参考以下文章
[ROC-RK3568-PC] 手把手教你在Linux下解包与打包Ubuntu系统固件
[ROC-RK3568-PC] 手把手教你解包Ubuntu系统固件