发布于 

RK3288 TVI3001U 刷机/固件编译

写在最前

这篇文章记录我最近折腾一块 RK3288 板子,为其编译固件的过程,最终在我的不懈努力下,也是成功编译出了可以使用的固件。


最近迷上了玩硬件。

前不久在小黄鱼捡了一块 RK3288 的板子,2 + 8 的配置,型号为 TVI3001U,是深圳市慧为智能科技股份有限公司的一款主板。

我的这块默认自带的系统是安卓 5.1,好像也有默认是安卓 7.1 的。

这块板子在网上的资料也是少得可怜,就只找到一个 PDF 的技术手册。

https://fccid.io/2AQR9TVI-3001U-FGB/User-Manual/user-manual-4303661.pdf

但是感觉对我帮助不大,因为我看不懂这些。。。

我想要的是刷机教程相关的,或者固件分享的,可惜都没搜到。

没办法,那就自己尝试编译一个吧!

因为之前我也成功编译过 F1C200S,MilkV-Duo 等开发板的固件,虽然不是瑞芯微平台,但是原理应该类似。

所以我觉得这个应该也能尝试尝试。

整个折腾过程中,我用到了 AndroidTool_v2.35、AndroidTool_v2.58、RKDevTool_v2.92。

不同的固件版本,需要不用版本的工具才能刷入,而且有时候清除 Flash 也需要不同版本的工具,这一点真的麻烦。

至于驱动,我用的是 DriverAssitant_v4.2 的版本。

1. 固件备份

由于我是第一次尝试自己编译瑞芯微的固件,怕刷成砖,所以网上搜了一些备份教程,打算先将原系统备份一下。

我采用单个分区备份的方式,将每个分区单独备份出来。

可惜我用瑞芯微的 AndroidTool 工具一直读不出设备分区表,不知道是什么原因。

最后我通过 adb 连接上板子,然后执行 cat /proc/cmdline 读取出了系统启动命令,其中包含了分区信息。

1
vmalloc=496M console=ttyFIQ0 androidboot.selinux=permissive androidboot.hardware=rk30board androidboot.console=ttyFIQ0 init=/init  mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(misc),0x00008000@0x00006000(resource),0x00008000@0x0000e000(kernel),0x00010000@0x00016000(boot),0x00010000@0x00026000(recovery),0x0001a000@0x00036000(backup),0x00040000@0x00050000(cache),0x00002000@0x00090000(kpanic),0x00300000@0x00092000(system),0x00008000@0x00392000(metadata),0x00600000@0x0039A000(userdata),0x00020000@0x0099A000(radical_update),0x00008000@0x009BA000(oem),-@0x009C2000(user) storagemedia=emmc uboot_logo=0x02000000@0x7dc00000 loader.timestamp=2018-08-02_15:46:40 androidboot.mode=emmc

然后按照上面的分区信息,将分区镜像一个一个读取出来。

导出镜像似乎要进 Loader 模式才可以,直接 adb reboot loader 即可进入 Loader 模式。

以 kernel 分区为例,0x00008000@0x0000e000(kernel),其中起始扇区为 0x0000e000,扇区数为 0x00008000

导出成功后,文件名默认为 ExportImage.img,需要自己改下名字,才可继续导出下一个分区,否则下次导出的数据会覆盖本次的数据!

保险起见,我将所有分区都提取了出来。

提取完镜像后,我又清除了 Flash,然后将所有镜像按照对应的地址刷了回去,尝试启动,发现可以正常启动。

于是继续下一步。

其实要是不能正常启动,那我就更要进行下一步了哈哈。

2. 准备 SDK

我在网上搜索瑞芯微的 SDK,搜出来最多的就是 Firefly 的了,所以我打算直接用他的。

其实我更偏向于官方 SDK,奈何官方 SDK 不开放。

参考 Firefly 的文档,下载 SDK,搭建编译环境。

https://wiki.t-firefly.com/zh_CN/Firefly-RK3288/linux_compile.html

主要就是安装虚拟机、下载文件、解压、安装所需的软件包。

3. 提取 DTS 文件

我知道,要为板子编译固件,是需要有它的 dts 文件的。

并且要是缺少对应驱动,还需要移植驱动。

通过第一步备份出的 boot.img 文件,提取出 dts 文件。

参考网上的文章进行提取,但是他们用到的那些工具我找不到,后面发现在 sdk 的 u-boot 里面有对应工具。

使用 sdk 里面附带的工具,进行提取。

第一步:执行 /data/rk3288_linux_release_v2.5.0a_20230510/u-boot/scripts/unpack_bootimg --boot_img boot.img

输出如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
boot_magic: ANDROID!
kernel_size: 7100144
kernel load address: 0x60408000
ramdisk size: 1336644
ramdisk load address: 0x62000000
second bootloader size: 808960
second bootloader load address: 0x60f00000
kernel tags load address: 0x60088000
page size: 16384
boot image header version: 0
os version and patch level: 0
product name:
command line args:
additional command line args: 喠🉣񹘜̘߃히nRXI¼D覎

上面最后一行有一些乱码,但是不影响。

在当前目录会生成 out 文件夹,使用 ls 查看。

1
2
root@ubuntu:/data/bootimg# ls out
kernel ramdisk second

可以看到 out 文件夹里面有 kernelramdisksecond 三个文件。

第二步:进入 out 文件夹,执行 /data/rk3288_linux_release_v2.5.0a_20230510/u-boot/scripts/unpack_resource.sh second .

1
2
3
4
5
6
7
8
9
root@ubuntu:/data/bootimg/out# /data/rk3288_linux_release_v2.5.0a_20230510/u-boot/scripts/unpack_resource.sh second .

Unpack second to .
rk-kernel.dtb logo.bmp 2

resource.img is unpacked successfully

root@ubuntu:/data/bootimg/out# ls
kernel logo.bmp ramdisk rk-kernel.dtb second

此时 ls 可以看到当前目录下已经有 dtb 文件了,接下来只需要将 dtb 反编译成 dts 即可。

执行 dtc -I dtb -O dts -o rk3288-tvi3001u.dts rk-kernel.dtb 成功得到 rk3288-tvi3001u.dts 文件。

1
2
3
root@ubuntu:/data/bootimg/out# dtc -I dtb -O dts -o rk3288-tvi3001u.dts rk-kernel.dtb
root@ubuntu:/data/bootimg/out# ls
kernel logo.bmp ramdisk rk3288-tvi3001u.dts rk-kernel.dtb second

至此 dts 提取完成。

4. 开始编译

上一步我已经得到 dts 文件了,但是该怎么用呢,是直接拿这个 dts 去编译?还是参考这个 dts,去修改 Firefly 的 dts 文件?

我选择了后者,因为我感觉反编译出的 dts 应该不能直接用。

根据 Firefly 的文档来编译固件,首先选择板型。

在 SDK 的 device/rockchip/rk3288 目录下可以看到如下的版型配置。

1
2
3
4
5
root@ubuntu:/data/rk3288_linux_release_v2.5.0a_20230510/device/rockchip/rk3288# ls
aio-3288c-buildroot.mk aio-3288c-vga-buildroot.mk aio-3288j-lvds-ubuntu.mk BoardConfig-rk3288-evb-rk808.mk firefly-rk3288-vga-buildroot.mk
aio-3288c-lvds-buildroot.mk aio-3288c-vga-ubuntu.mk aio-3288j-ubuntu.mk BoardConfig-rk3288-firefly.mk firefly-rk3288-vga-ubuntu.mk
aio-3288c-lvds-ubuntu.mk aio-3288j-buildroot.mk BoardConfig.mk firefly-rk3288-buildroot.mk parameter.txt
aio-3288c-ubuntu.mk aio-3288j-lvds-buildroot.mk BoardConfig_rk3288-evb-act8846.mk firefly-rk3288-ubuntu.mk parameter-ubuntu.txt

我选择了 BoardConfig-rk3288-evb-rk808.mk 这个配置,因为 TVI3001U 这块板子就是 RK3288 + RK808 组合的。

文件 BoardConfig-rk3288-evb-rk808.mk 内容如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash

# Target arch
export RK_ARCH=arm
# Uboot defconfig
export RK_UBOOT_DEFCONFIG=rk3288
# Kernel defconfig
export RK_KERNEL_DEFCONFIG=rockchip_linux_defconfig
# Kernel dts
export RK_KERNEL_DTS=rk3288-evb-rk808-linux
# boot image type
export RK_BOOT_IMG=zboot.img
# kernel image path
export RK_KERNEL_IMG=kernel/arch/arm/boot/zImage
# parameter for GPT table
export RK_PARAMETER=parameter.txt
# Buildroot config
export RK_CFG_BUILDROOT=rockchip_rk3288
# Recovery config
export RK_CFG_RECOVERY=rockchip_rk3288_recovery
# ramboot config
export RK_CFG_RAMBOOT=
# Pcba config
export RK_CFG_PCBA=rockchip_rk3288_pcba
# Build jobs
export RK_JOBS=12
# target chip
export RK_TARGET_PRODUCT=rk3288
# Set rootfs type, including ext2 ext4 squashfs
export RK_ROOTFS_TYPE=ext4
# Set debian version (debian10: buster, debian11: bullseye)
export RK_DEBIAN_VERSION=buster
# yocto machine
export RK_YOCTO_MACHINE=rockchip-rk3288-evb
# rootfs image path
export RK_ROOTFS_IMG=rockdev/rootfs.${RK_ROOTFS_TYPE}
# Set oem partition type, including ext2 squashfs
export RK_OEM_FS_TYPE=ext2
# Set userdata partition type, including ext2, fat
export RK_USERDATA_FS_TYPE=ext2
#OEM config
export RK_OEM_DIR=oem_normal
#userdata config
export RK_USERDATA_DIR=userdata_normal
#misc image
export RK_MISC=wipe_all-misc.img
#choose enable distro module
export RK_DISTRO_MODULE=

可以看到 export RK_KERNEL_DTS=rk3288-evb-rk808-linux 这么一行,所以他使用的 dts 文件就是 rk3288-evb-rk808-linux.dts,文件位于 /data/rk3288_linux_release_v2.5.0a_20230510/kernel/arch/arm/boot/dts 下。

在 SDK 目录下执行 ./build.sh BoardConfig-rk3288-evb-rk808.mk 选择板型配置。

然后直接 ./build.sh 一键编译。

这里我并没有对 dts 文件做任何修改,直接编译,因为我想试试直接编译的得到的固件能不能用,万一运气就是有那么好呢!

编译完成后,在 SDK 的 rockdev/pack 目录下可以看到打包好的固件,直接刷入即可,这里我使用的是 AndroidTool_v2.58 工具来刷入。

首先给板子断电,然后按住 BOOT 键不放,再上电,直到在 AndroidTool 看到 发现一个MASKROM设备,此时就可以松开 BOOT 键,然后开始刷入固件了。

我已经提前接好调试串口,方便观察启动日志。

调试串口为下图白色箭头所指,波特率为 115200。

观察启动日志,发现没法正常启动,这我并不意外。

日志刷了一会儿就停下了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
U-Boot 2017.09(u-boot commit id: e4da79f87a88e70b076e97de82fc8ece3b6d6ea9)(sdk version: rk3288_linux_release_20220304_v2.5.0a.xml)-ge4da79f #root (Aug 09 2024 - 23:11:40 +0800)

Model: Evb-RK3288
PreSerial: 2, raw, 0xff690000
DRAM: 2 GiB
Sysmem: init
Relocation Offset: 00000000
Relocation fdt: 7bdd3950 - 7bdd4de5
CR: M/C/I
Using default environment

dwmmc@ff0c0000: 1, dwmmc@ff0f0000: 0
Bootdev(atags): mmc 0
MMC0: High Speed, 52Mhz
PartType: EFI
boot mode: recovery (misc)
Found DTB in recovery part
DTB: rk-kernel.dtb
HASH(c): OK
CLK: (uboot. arm: enter 1000000 KHz, init 1000000 KHz, kernel 0N/A)
apll 1000000 KHz
dpll 396000 KHz
cpll 24000 KHz
gpll 594000 KHz
npll 24000 KHz
aclk_bus 198000 KHz
Net: Net Initialization Skipped
No ethernet found.
Hit key to stop autoboot('CTRL+C'): 0
ANDROID: reboot reason: "recovery"
optee check api revision fail: 1.0
optee api revision is too low
### ERROR ### Please RESET the board ###

一看日志发现连内核都进不去,没出现 Starting kernel ... 的字样。

但进不去内核应该和设备树无关,所以也就没必要尝试修改设备树了。

于是我就不停的谷歌、必应、百度,optee check api revision fail: 1.0optee api revision is too low 究竟是个啥情况,最后猜测可能是 rkbin 版本太低。

5. 升级 rkbin

抱着试一试的心态,我去 Github 下载了最新的 rkbin。

https://github.com/rockchip-linux/rkbin.git

然后将下载下来的 rkbin 替换掉 SDK 目录下的 rkbin。

接着重新编译再刷入。

没想到被我蒙对了!这次可以启动内核了!

但是内核启动后会一直卡住,没法进系统。

完整日志如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
DDR Version 1.11 20210818
In
SRX
Channel a: DDR3 400MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
Channel b: DDR3 400MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
OUT
Boot1 Release Time: Jul 22 2021 09:08:57, version: 2.63
ChipType = 0x8, 235
mmc2:cmd19,100
SdmmcInit=2 0
BootCapSize=2000
UserCapSize=7457MB
FwPartOffset=2000 , 2000
mmc0:cmd8,400
mmc0:cmd8,400
mmc0:cmd8,400
SdmmcInit=0 1
StorageInit ok = 25126
SecureMode = 0
SecureInit read PBA: 0x4
SecureInit read PBA: 0x404
SecureInit read PBA: 0x804
SecureInit read PBA: 0xc04
SecureInit read PBA: 0x1004
SecureInit read PBA: 0x1404
SecureInit read PBA: 0x1804
SecureInit read PBA: 0x1c04
SecureInit ret = 0, SecureMode = 0
atags_set_bootdev: ret:(0)
GPT part: 0, name: uboot, start:0x4000, size:0x2000
GPT part: 1, name: trust, start:0x6000, size:0x2000
GPT part: 2, name: misc, start:0x8000, size:0x2000
GPT part: 3, name: boot, start:0xa000, size:0x10000
GPT part: 4, name: recovery, start:0x1a000, size:0x10000
GPT part: 5, name: backup, start:0x2a000, size:0x10000
GPT part: 6, name: oem, start:0x3a000, size:0x20000
GPT part: 7, name: rootfs, start:0x5a000, size:0x17ba00
GPT part: 8, name: userdata, start:0x1d5a00, size:0xcbaddf
find part:uboot OK. first_lba:0x4000.
find part:trust OK. first_lba:0x6000.
LOADER Check OK! 0x4000, 148414
TOS Check OK! 0x6000, 179911
Enter Trust OS
INF [0x0] TEE-CORE:init_primary_helper:385: Core0 Initializing (1.1.0-449-g24f5da14f #hisping.lin #3 Mon Aug 14 03:49:32 UTC 2023 arm)

INF [0x0] TEE-CORE:init_primary_helper:386: Release version: 1.3

INF [0x0] TEE-CORE:init_primary_helper:387: Next entry point address: 0x200000

INF [0x0] TEE-CORE:init_teecore:83: teecore inits done


U-Boot 2017.09(u-boot commit id: e4da79f87a88e70b076e97de82fc8ece3b6d6ea9)(sdk version: rk3288_linux_release_20220304_v2.5.0a.xml)-ge4da79f #root (Jul 23 2024 - 22:16:20 +0800)

Model: Evb-RK3288
PreSerial: 2, raw, 0xff690000
DRAM: 2 GiB
Sysmem: init
Relocation Offset: 00000000
Relocation fdt: 7bdd3950 - 7bdd4de5
CR: M/C/I
Using default environment

dwmmc@ff0c0000: 1, dwmmc@ff0f0000: 0
Bootdev(atags): mmc 0
MMC0: High Speed, 52Mhz
PartType: EFI
boot mode: recovery (misc)
Found DTB in recovery part
DTB: rk-kernel.dtb
HASH(c): OK
I2c0 speed: 400000Hz
PMIC: RK808
vdd_arm 1100000 uV
vdd_gpu 1100000 uV
vcc_log 1100000 uV
CLK: (uboot. arm: enter 1000000 KHz, init 1000000 KHz, kernel 0N/A)
apll 1000000 KHz
dpll 396000 KHz
cpll 24000 KHz
gpll 594000 KHz
npll 24000 KHz
aclk_bus 198000 KHz
Net: Net Initialization Skipped
No ethernet found.
Hit key to stop autoboot('CTRL+C'): 0
ANDROID: reboot reason: "recovery"
optee api revision: 2.0
TEEC: Waring: Could not find security partition
Not AVB images, AVB skip
Booting ZIMAGE kernel at 0x02008000(Uncompress to 0) with fdt at 0x08300000...


Fdt Ramdisk skip relocation
## Booting Android Image at 0x02007800 ...
Kernel load addr 0x02008000 size 6864 KiB
RAM disk load addr 0x0a200000 size 6925 KiB
## Flattened Device Tree blob at 0x08300000
Booting using the fdt blob at 0x08300000
XIP Kernel Image from 0x02008000 to 0x02008000 ... OK
'reserved-memory' dma-unusable@fe000000: addr=fe000000 size=1000000
'reserved-memory' ramoops@00000000: addr=8000000 size=f0000
Using Device Tree in place at 08300000, end 0831796f
Adding bank: 0x00000000 - 0x08400000 (size: 0x08400000)
Adding bank: 0x09310000 - 0x80000000 (size: 0x76cf0000)
Total: 733.173 ms

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x500
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 4.4.194 (root@ubuntu) (kernel commit id: ebb6f60626788430b3eebadd4d1fe01365685be8) (sdk version: rk3288_linux_release_20220304_v2.5.0a.xml) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05) ) #1 SMP Mon Jul 22 22:25:29 CST 2024
[ 0.000000] CPU: ARMv7 Processor [410fc0d1] revision 1 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine model: rockchip,rk3288-evb-rk808-linux
[ 0.000000] Reserved memory: failed to reserve memory for node 'drm-logo@00000000': base 0x00000000, size 0 MiB
[ 0.000000] cma: Reserved 16 MiB at 0x7f000000
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv65535.65535 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] PERCPU: Embedded 14 pages/cpu @eef76000 s24728 r8192 d24424 u57344
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 518896
[ 0.000000] Kernel command line: storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal androidboot.verifiedbootstate=orange androidboot.slot_suffix= earlyprintk ro rootwait console=ttyFIQ0 root=PARTLABEL=rootfs rootfstype=ext4 overlayroot=device:dev=PARTLABEL=userdata,fstype=ext4,mkfs=1 swiotlb=1 coherent_pool=1m systemd.gpt_auto=0 cgroup_enable=memory swapaccount=1
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 2023016K/2081728K available (10240K kernel code, 822K rwdata, 3008K rodata, 1024K init, 522K bss, 42328K reserved, 16384K cma-reserved, 1294336K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0b00000 (11232 kB)
[ 0.000000] .init : 0xc0f00000 - 0xc1000000 (1024 kB)
[ 0.000000] .data : 0xc1000000 - 0xc10cdaac ( 823 kB)
[ 0.000000] .bss : 0xc10cf000 - 0xc1151890 ( 523 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 32.
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] Architected 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.000009] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000030] Switching to timer-based delay loop, resolution 41ns
[ 0.004179] Console: colour dummy device 80x30
[ 0.004223] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.004246] pid_max: default: 32768 minimum: 301
[ 0.004402] Security Framework initialized
[ 0.004421] Yama: becoming mindful.
[ 0.004512] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.004534] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.005694] Initializing cgroup subsys devices
[ 0.005725] Initializing cgroup subsys freezer
[ 0.005785] CPU: Testing write buffer coherency: ok
[ 0.005840] ftrace: allocating 39281 entries in 116 pages
[ 0.122299] CPU0: update cpu_capacity 430
[ 0.122320] CPU0: thread -1, cpu 0, socket 5, mpidr 80000500
[ 0.122418] Setting up static identity map for 0x100000 - 0x100058
[ 0.125735] CPU1: update cpu_capacity 430
[ 0.125745] CPU1: thread -1, cpu 1, socket 5, mpidr 80000501
[ 0.126960] CPU2: update cpu_capacity 430
[ 0.126969] CPU2: thread -1, cpu 2, socket 5, mpidr 80000502
[ 0.128172] CPU3: update cpu_capacity 430
[ 0.128182] CPU3: thread -1, cpu 3, socket 5, mpidr 80000503
[ 0.128353] Brought up 4 CPUs
[ 0.128395] SMP: Total of 4 processors activated (192.00 BogoMIPS).
[ 0.128405] CPU: All CPU(s) started in SVC mode.
[ 0.130507] devtmpfs: initialized
[ 0.163727] VFP support v0.3: implementor 41 architecture 3 part 30 variant d rev 0
[ 0.164318] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.164359] futex hash table entries: 1024 (order: 4, 65536 bytes)
[ 0.165887] pinctrl core: initialized pinctrl subsystem
[ 0.167496] NET: Registered protocol family 16
[ 0.171469] DMA: preallocated 1024 KiB pool for atomic coherent allocations
[ 0.202977] cpuidle: using governor ladder
[ 0.233025] cpuidle: using governor menu
[ 0.233081] Registered FIQ tty driver
[ 0.287365] console [pstore-1] enabled
[ 0.287380] pstore: Registered ramoops as persistent store backend
[ 0.287396] ramoops: attached 0xf0000@0x8000000, ecc: 0/0
[ 0.289864] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.289884] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.291034] fiq debugger fiq mode enabled
[ 0.794819] console [ttyFIQ0] enabled
[ 0.798887] Registered fiq debugger ttyFIQ0
[ 0.850622] vcc18_dvp: regulator get failed, ret=-517
[ 0.857451] iommu: Adding device ff910000.isp to group 0
[ 0.862923] iommu: Adding device ff910000.rkisp1 to group 1
[ 0.868717] iommu: Adding device ff930000.vop to group 2
[ 0.874185] iommu: Adding device ff940000.vop to group 3
[ 0.879709] iommu: Adding device ff9a0000.vpu-service to group 4
[ 0.885903] iommu: Adding device ff9c0000.hevc-service to group 5
[ 0.892924] rk_iommu ff914000.iommu: can't get sclk
[ 0.898474] rk_iommu ff930300.iommu: can't get sclk
[ 0.903876] rk_iommu ff940300.iommu: can't get sclk
[ 0.909218] rk_iommu ff9a0800.iommu: can't get sclk
[ 0.914686] rk_iommu ff9c0440.iommu: can't get sclk
[ 0.920494] SCSI subsystem initialized
[ 0.924703] usbcore: registered new interface driver usbfs
[ 0.930290] usbcore: registered new interface driver hub
[ 0.935821] usbcore: registered new device driver usb
[ 0.941112] media: Linux media interface: v0.10
[ 0.945767] Linux video capture interface: v2.00
[ 0.950551] pps_core: LinuxPPS API ver. 1 registered
[ 0.955519] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.964720] PTP clock support registered
[ 0.971323] Advanced Linux Sound Architecture Driver Initialized.
[ 0.978520] Bluetooth: Core ver 2.21
[ 0.982165] NET: Registered protocol family 31
[ 0.986614] Bluetooth: HCI device and connection manager initialized
[ 0.993027] Bluetooth: HCI socket layer initialized
[ 0.997919] Bluetooth: L2CAP socket layer initialized
[ 1.003083] Bluetooth: SCO socket layer initialized
[ 1.009628] rockchip-cpuinfo cpuinfo: Serial : adb08770ad432f7d
[ 1.017395] clocksource: Switched to clocksource arch_sys_counter
[ 1.110654] /thermal-zones/soc-thermal/cooling-maps/map1: could not get #cooling-cells for /gpu@ffa30000
[ 1.120192] missing cooling_device property
[ 1.124392] failed to build thermal zone soc-thermal: -22
[ 1.130554] NET: Registered protocol family 2
[ 1.135828] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 1.143047] TCP bind hash table entries: 8192 (order: 5, 163840 bytes)
[ 1.149881] TCP: Hash tables configured (established 8192 bind 8192)
[ 1.156340] UDP hash table entries: 512 (order: 2, 24576 bytes)
[ 1.162364] UDP-Lite hash table entries: 512 (order: 2, 24576 bytes)
[ 1.169104] NET: Registered protocol family 1
[ 1.173983] RPC: Registered named UNIX socket transport module.
[ 1.179965] RPC: Registered udp transport module.
[ 1.184679] RPC: Registered tcp transport module.
[ 1.189420] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.196191] Trying to unpack rootfs image as initramfs...
[ 1.921077] Freeing initrd memory: 6928K
[ 1.926812] hw perfevents: enabled with armv7_cortex_a12 PMU driver, 7 counters available
[ 1.938864] Initialise system trusted keyring
[ 1.959026] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 1.968207] NFS: Registering the id_resolver key type
[ 1.973324] Key type id_resolver registered
[ 1.977573] Key type id_legacy registered
[ 1.981624] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ 1.989080] fuse init (API version 7.23)
[ 2.002542] NET: Registered protocol family 38
[ 2.007033] Key type asymmetric registered
[ 2.011262] Asymmetric key parser 'x509' registered
[ 2.016270] bounce: pool size: 64 pages
[ 2.020538] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[ 2.028061] io scheduler noop registered
[ 2.032010] io scheduler deadline registered
[ 2.036347] io scheduler cfq registered (default)
[ 2.047618] rockchip-dp-phy ff770000.syscon:edp-phy: No edp_24m reset control specified
[ 2.059325] backlight supply power not found, using dummy regulator
[ 2.066769] rk-vcodec ff9a0000.vpu-service: no regulator for vcodec
[ 2.073587] rk-vcodec ff9a0000.vpu-service: probe device
[ 2.079415] rk-vcodec ff9a0000.vpu-service: drm allocator with mmu enabled
[ 2.087632] rk-vcodec ff9a0000.vpu-service: could not find power_model node
[ 2.094606] rk-vcodec ff9a0000.vpu-service: init success
[ 2.100547] rk-vcodec ff9c0000.hevc-service: no regulator for vcodec
[ 2.107458] rk-vcodec ff9c0000.hevc-service: probe device
[ 2.113293] rk-vcodec ff9c0000.hevc-service: drm allocator with mmu enabled
[ 2.121229] rk-vcodec ff9c0000.hevc-service: could not find power_model node
[ 2.128345] rk-vcodec ff9c0000.hevc-service: init success
[ 2.137979] dma-pl330 ff250000.dma-controller: Loaded driver for PL330 DMAC-241330
[ 2.145570] dma-pl330 ff250000.dma-controller: DBUFF-128x8bytes Num_Chans-8 Num_Peri-20 Num_Events-16
[ 2.156253] dma-pl330 ff600000.dma-controller: Loaded driver for PL330 DMAC-241330
[ 2.163895] dma-pl330 ff600000.dma-controller: DBUFF-64x8bytes Num_Chans-5 Num_Peri-6 Num_Events-10
[ 2.175245] rockchip-system-monitor rockchip-system-monitor: system monitor probe
[ 2.184864] Serial: 8250/16550 driver, 5 ports, IRQ sharing disabled
[ 2.192419] ff180000.serial: ttyS0 at MMIO 0xff180000 (irq = 37, base_baud = 1500000) is a 16550A
[ 2.204040] [drm] Initialized drm 1.1.0 20060810
[ 2.217337] usbcore: registered new interface driver udl
[ 2.225792] panel-simple edp-panel: failed to get power regulator: -517
[ 2.234597] mali ffa3000000010000.gpu: Invalid register resource
[ 2.240664] mali ffa3000000010000.gpu: Register map failed
[ 2.246179] mali: probe of ffa3000000010000.gpu failed with error -2
[ 2.254650] brd: module loaded
[ 2.268926] loop: module loaded
[ 2.273339] zram: Added device: zram0
[ 2.277062] lkdtm: No crash points registered, enable through debugfs
[ 2.285383] tun: Universal TUN/TAP device driver, 1.6
[ 2.290500] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[ 2.299252] rk_gmac-dwmac ff290000.ethernet: clock input or output? (input).
[ 2.306317] rk_gmac-dwmac ff290000.ethernet: TX delay(0x30).
[ 2.312029] rk_gmac-dwmac ff290000.ethernet: RX delay(0x10).
[ 2.317755] rk_gmac-dwmac ff290000.ethernet: integrated PHY? (no).
[ 2.324175] rk_gmac-dwmac ff290000.ethernet: cannot get clock clk_mac_speed
[ 2.331172] rk_gmac-dwmac ff290000.ethernet: clock input from PHY
[ 2.342290] rk_gmac-dwmac ff290000.ethernet: init for RGMII
[ 2.348065] stmmac - user ID: 0x10, Synopsys ID: 0x35
[ 2.353126] Ring mode enabled
[ 2.356188] DMA HW capability register supported
[ 2.360751] Normal descriptors
[ 2.364094] RX Checksum Offload Engine supported (type 2)
[ 2.369605] TX Checksum insertion supported
[ 2.373882] Wake-Up On Lan supported
[ 2.377651] Enable RX Mitigation via HW Watchdog Timer
[ 2.469565] libphy: stmmac: probed
[ 2.472995] eth%d: PHY ID 001cc915 at 0 IRQ POLL (stmmac-0:00) active
[ 2.479475] eth%d: PHY ID 001cc915 at 1 IRQ POLL (stmmac-0:01)
[ 2.488045] PPP generic driver version 2.4.2
[ 2.492854] usbcore: registered new interface driver rndis_wlan
[ 2.499425] usbcore: registered new interface driver rt2800usb
[ 2.505287] Rockchip WiFi SYS interface (V1.00) ...
[ 2.510384] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
[ 2.517911] usbcore: registered new interface driver pegasus
[ 2.523674] usbcore: registered new interface driver rtl8150
[ 2.529483] usbcore: registered new interface driver r8152
[ 2.535085] usbcore: registered new interface driver asix
[ 2.540630] usbcore: registered new interface driver ax88179_178a
[ 2.546818] usbcore: registered new interface driver cdc_ether
[ 2.552789] usbcore: registered new interface driver dm9601
[ 2.558530] usbcore: registered new interface driver smsc75xx
[ 2.564395] usbcore: registered new interface driver smsc95xx
[ 2.570297] usbcore: registered new interface driver net1080
[ 2.576061] usbcore: registered new interface driver rndis_host
[ 2.582116] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
[ 2.589690] usbcore: registered new interface driver cdc_ncm
[ 2.595447] usbcore: registered new interface driver cdc_mbim
[ 2.601665] ff540000.usb supply vusb_d not found, using dummy regulator
[ 2.608416] ff540000.usb supply vusb_a not found, using dummy regulator
[ 2.728117] dwc2 ff540000.usb: DWC OTG Controller
[ 2.732869] dwc2 ff540000.usb: new USB bus registered, assigned bus number 1
[ 2.740017] dwc2 ff540000.usb: irq 43, io mem 0xff540000
[ 2.745742] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 2.752592] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.759857] usb usb1: Product: DWC OTG Controller
[ 2.764573] usb usb1: Manufacturer: Linux 4.4.194 dwc2_hsotg
[ 2.770263] usb usb1: SerialNumber: ff540000.usb
[ 2.775961] hub 1-0:1.0: USB hub found
[ 2.779835] hub 1-0:1.0: 1 port detected
[ 2.784800] ff580000.usb supply vusb_d not found, using dummy regulator
[ 2.791573] ff580000.usb supply vusb_a not found, using dummy regulator
[ 2.917495] dwc2 ff580000.usb: EPs: 10, dedicated fifos, 972 entries in SPRAM
[ 2.925425] dwc2 ff580000.usb: DWC OTG Controller
[ 2.930239] dwc2 ff580000.usb: new USB bus registered, assigned bus number 2
[ 2.937336] dwc2 ff580000.usb: irq 44, io mem 0xff580000
[ 2.942988] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 2.949834] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.957066] usb usb2: Product: DWC OTG Controller
[ 2.961809] usb usb2: Manufacturer: Linux 4.4.194 dwc2_hsotg
[ 2.967501] usb usb2: SerialNumber: ff580000.usb
[ 2.973143] hub 2-0:1.0: USB hub found
[ 2.976971] hub 2-0:1.0: 1 port detected
[ 2.983514] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 2.990125] ehci-platform: EHCI generic platform driver
[ 2.995803] ehci-platform ff500000.usb: EHCI Host Controller
[ 3.001921] ehci-platform ff500000.usb: new USB bus registered, assigned bus number 3
[ 3.010075] ehci-platform ff500000.usb: irq 41, io mem 0xff500000
[ 3.027470] ehci-platform ff500000.usb: USB 2.0 started, EHCI 1.00
[ 3.033980] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
[ 3.040836] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.048100] usb usb3: Product: EHCI Host Controller
[ 3.052985] usb usb3: Manufacturer: Linux 4.4.194 ehci_hcd
[ 3.058508] usb usb3: SerialNumber: ff500000.usb
[ 3.064182] hub 3-0:1.0: USB hub found
[ 3.068056] hub 3-0:1.0: 1 port detected
[ 3.073168] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 3.079657] ohci-platform: OHCI generic platform driver
[ 3.085542] usbcore: registered new interface driver cdc_acm
[ 3.091252] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 3.099415] usbcore: registered new interface driver cdc_wdm
[ 3.105295] usbcore: registered new interface driver usb-storage
[ 3.111550] usbcore: registered new interface driver usbserial
[ 3.117524] usbcore: registered new interface driver usbserial_generic
[ 3.124112] usbserial: USB Serial support registered for generic
[ 3.130275] usbcore: registered new interface driver cp210x
[ 3.135923] usbserial: USB Serial support registered for cp210x
[ 3.142038] usbcore: registered new interface driver ftdi_sio
[ 3.147890] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 3.155445] usbcore: registered new interface driver keyspan
[ 3.161210] usbserial: USB Serial support registered for Keyspan - (without firmware)
[ 3.170279] usbserial: USB Serial support registered for Keyspan 1 port adapter
[ 3.177702] usbserial: USB Serial support registered for Keyspan 2 port adapter
[ 3.185069] usbserial: USB Serial support registered for Keyspan 4 port adapter
[ 3.192536] usbcore: registered new interface driver option
[ 3.198218] usbserial: USB Serial support registered for GSM modem (1-port)
[ 3.205498] usbcore: registered new interface driver oti6858
[ 3.211277] usbserial: USB Serial support registered for oti6858
[ 3.217434] usbcore: registered new interface driver pl2303
[ 3.223072] usbserial: USB Serial support registered for pl2303
[ 3.229150] usbcore: registered new interface driver qcserial
[ 3.234957] usbserial: USB Serial support registered for Qualcomm USB modem
[ 3.242082] usbcore: registered new interface driver sierra
[ 3.247760] usbserial: USB Serial support registered for Sierra USB modem
[ 3.256364] usbcore: registered new interface driver iforce
[ 3.262142] usbcore: registered new interface driver xpad
[ 3.268295] usbcore: registered new interface driver usbtouchscreen
[ 3.275816] i2c /dev entries driver
[ 3.281507] rk808 0-001b: Pmic Chip id: 0x0
[ 3.289675] rk808-regulator rk808-regulator: there is no dvs0 gpio
[ 3.295957] rk808-regulator rk808-regulator: there is no dvs1 gpio
[ 3.302340] DCDC_REG1: supplied by vcc_sys
[ 3.307656] DCDC_REG2: supplied by vcc_sys
[ 3.312848] DCDC_REG3: supplied by vcc_sys
[ 3.317701] DCDC_REG4: supplied by vcc_sys
[ 3.322563] vcc18_dvp: supplied by vcc_io
[ 3.326829] LDO_REG1: supplied by vcc_sys
[ 3.332519] LDO_REG2: supplied by vcc_sys
[ 3.339362] LDO_REG4: supplied by vcc_io
[ 3.344730] LDO_REG5: supplied by vcc_io
[ 3.354434] SWITCH_REG1: supplied by vcc_io
[ 3.359416] SWITCH_REG2: supplied by vcc_io
[ 3.368263] rk808-rtc rk808-rtc: rtc core: registered rk808-rtc as rtc0
[ 3.375712] rk3x-i2c ff650000.i2c: Initialized RK3xxx I2C bus at f0a90000
[ 3.384101] rk3x-i2c ff140000.i2c: Initialized RK3xxx I2C bus at f0a92000
[ 3.392378] rk3x-i2c ff150000.i2c: Initialized RK3xxx I2C bus at f0a94000
[ 3.401399] input: gsl3673 as /devices/platform/ff160000.i2c/i2c-4/4-0040/input/input0
[ 4.310268] gsl3673 4-0040: GSL3673 test_i2c error!
[ 4.315162] gsl3673 4-0040: gsl_probe: init_chip failed
[ 4.347673] gsl3673: probe of 4-0040 failed with error -1
[ 4.353120] rk3x-i2c ff160000.i2c: Initialized RK3xxx I2C bus at f0a96000
[ 4.361393] rk3x-i2c ff660000.i2c: Initialized RK3xxx I2C bus at f0a98000
[ 4.369683] vm149c 3-000c: probing...
[ 4.373364] vm149c 3-000c: driver version: 00.01.00
[ 4.378296] vm149c 3-000c: could not get module rockchip,vcm-start-current from dts!
[ 4.386048] vm149c 3-000c: could not get module rockchip,vcm-rated-current from dts!
[ 4.393824] vm149c 3-000c: could not get module rockchip,vcm-step-mode from dts!
[ 4.401295] vm149c 3-000c: probing successful
[ 4.408048] rkisp1 ff910000.rkisp1: rkisp1 driver version: v00.01.05
[ 4.414458] rkisp1 ff910000.rkisp1: Missing rockchip,grf property
[ 4.424475] usbcore: registered new interface driver uvcvideo
[ 4.430280] USB Video Class driver (1.1.1)
[ 4.438411] Boot mode: normal
[ 4.443918] device-mapper: ioctl: 4.34.0-ioctl (2015-10-28) initialised: dm-devel@redhat.com
[ 4.452758] Bluetooth: Virtual HCI driver ver 1.5
[ 4.457813] Bluetooth: HCI UART driver ver 2.3
[ 4.462269] Bluetooth: HCI UART protocol H4 registered
[ 4.467461] Bluetooth: HCI UART protocol LL registered
[ 4.472607] Bluetooth: HCI UART protocol ATH3K registered
[ 4.478182] usbcore: registered new interface driver bfusb
[ 4.483798] usbcore: registered new interface driver btusb
[ 4.489936] cpu cpu0: bin=1
[ 4.492956] cpu cpu0: leakage=29
[ 4.496363] cpu cpu0: Failed to get pvtm
[ 4.500448] cpu cpu0: bin-scale=25
[ 4.506024] cpu cpu0: avs=0
[ 4.508926] cpu cpu0: scale_rate=1512000000
[ 4.513389] cpu cpu0: l=-2147483648 h=2147483647 hyst=0 l_limit=0 h_limit=0 h_table=0
[ 4.521311] cpu cpu0: failed to read out thermal zone (-22)
[ 4.527625] cpu cpu0: failed to find power_model node
[ 4.532949] sdhci: Secure Digital Host Controller Interface driver
[ 4.539166] sdhci: Copyright(c) Pierre Ossman
[ 4.543535] Synopsys Designware Multimedia Card Interface Driver
[ 4.550746] dwmmc_rockchip ff0c0000.dwmmc: IDMAC supports 32-bit address mode.
[ 4.558042] dwmmc_rockchip ff0c0000.dwmmc: Using internal DMA controller.
[ 4.564837] dwmmc_rockchip ff0c0000.dwmmc: Version ID is 270a
[ 4.570640] dwmmc_rockchip ff0c0000.dwmmc: DW MMC controller at irq 29,32 bit host data width,256 deep fifo
[ 4.580396] dwmmc_rockchip ff0c0000.dwmmc: 'clock-freq-min-max' property was deprecated.
[ 4.588831] rockchip-iodomain ff770000.syscon:io-domains: Setting to 3300000 done
[ 4.596306] rockchip-iodomain ff770000.syscon:io-domains: Setting to 3300000 done
[ 4.616343] mmc_host mmc0: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[ 4.638179] dwmmc_rockchip ff0c0000.dwmmc: 1 slots initialized
[ 4.644077] dwmmc_rockchip ff0d000000004000.dwmmc: could not find pctldev for node /syscon@ff770000/mipi-phy-rx0/ports/port@1/endpoint, deferring probe
[ 4.657946] dwmmc_rockchip ff0f0000.dwmmc: IDMAC supports 32-bit address mode.
[ 4.665195] dwmmc_rockchip ff0f0000.dwmmc: Using internal DMA controller.
[ 4.671991] dwmmc_rockchip ff0f0000.dwmmc: Version ID is 270a
[ 4.677773] dwmmc_rockchip ff0f0000.dwmmc: DW MMC controller at irq 31,32 bit host data width,256 deep fifo
[ 4.687518] dwmmc_rockchip ff0f0000.dwmmc: 'clock-freq-min-max' property was deprecated.
[ 4.695618] dwmmc_rockchip ff0f0000.dwmmc: No vmmc regulator found
[ 4.701804] dwmmc_rockchip ff0f0000.dwmmc: No vqmmc regulator found
[ 4.720744] mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[ 4.742676] dwmmc_rockchip ff0f0000.dwmmc: 1 slots initialized
[ 4.748839] sdhci-pltfm: SDHCI platform and OF driver helper
[ 4.754999] hidraw: raw HID events driver (C) Jiri Kosina
[ 4.761352] usbcore: registered new interface driver usbhid
[ 4.766935] usbhid: USB HID core driver
[ 4.771056] ashmem: initialized
[ 4.774868] rockchip-dmc dmc: unable to get devfreq-event device : dfi
[ 4.782683] rknandbase v1.2 2018-05-08
[ 4.786945] usbcore: registered new interface driver snd-usb-audio
[ 4.796353] u32 classifier
[ 4.799113] Netfilter messages via NETLINK v0.30.
[ 4.803873] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[ 4.810186] ctnetlink v0.93: registering with nfnetlink.
[ 4.815599] ip_set: protocol 6
[ 4.818699] IPVS: Registered protocols ()
[ 4.822751] IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
[ 4.830137] IPVS: Creating netns size=1104 id=0
[ 4.834704] IPVS: ipvs loaded.
[ 4.838026] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 4.843462] Initializing XFRM netlink socket
[ 4.848292] NET: Registered protocol family 10
[ 4.853691] mmc_host mmc1: Bus speed (slot 0) = 99000000Hz (slot req 100000000Hz, actual 99000000HZ div = 0)
[ 4.863785] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 4.869297] sit: IPv6 over IPv4 tunneling driver
[ 4.874273] NET: Registered protocol family 17
[ 4.878768] NET: Registered protocol family 15
[ 4.883233] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[ 4.895846] Bridge firewalling registered
[ 4.899948] Bluetooth: RFCOMM socket layer initialized
[ 4.905098] Bluetooth: RFCOMM ver 1.11
[ 4.908866] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 4.914788] Bluetooth: HIDP socket layer initialized
[ 4.919797] 8021q: 802.1Q VLAN Support v1.8
[ 4.923991] lib80211: common routines for IEEE802.11 drivers
[ 4.929685] [WLAN_RFKILL]: Enter rfkill_wlan_init
[ 4.934653] [WLAN_RFKILL]: Enter rfkill_wlan_probe
[ 4.939477] [WLAN_RFKILL]: wlan_platdata_parse_dt: wifi_chip_type = ap6335
[ 4.946347] [WLAN_RFKILL]: wlan_platdata_parse_dt: enable wifi power control.
[ 4.953482] [WLAN_RFKILL]: wlan_platdata_parse_dt: wifi power controled by gpio.
[ 4.960912] [WLAN_RFKILL]: wlan_platdata_parse_dt: get property: WIFI,host_wake_irq = 150, flags = 0.
[ 4.970128] [WLAN_RFKILL]: wlan_platdata_parse_dt: The ref_wifi_clk not found !
[ 4.977439] [WLAN_RFKILL]: rfkill_wlan_probe: init gpio
[ 4.982660] [WLAN_RFKILL]: Exit rfkill_wlan_probe
[ 4.987414] [BT_RFKILL]: Enter rfkill_rk_init
[ 4.991981] [BT_RFKILL]: bluetooth_platdata_parse_dt: get property: uart_rts_gpios = 139.
[ 5.000195] [BT_RFKILL]: bluetooth_platdata_parse_dt: get property: BT,reset_gpio = 149.
[ 5.008303] [BT_RFKILL]: bluetooth_platdata_parse_dt: get property: BT,wake_gpio = 146.
[ 5.016313] [BT_RFKILL]: bluetooth_platdata_parse_dt: get property: BT,wake_host_irq = 151.
[ 5.024965] [BT_RFKILL]: Request irq for bt wakeup host
[ 5.030230] [BT_RFKILL]: ** disable irq
[ 5.034167] [BT_RFKILL]: bt_default device registered.
[ 5.039370] Key type dns_resolver registered
[ 5.043816] ov13850 3-0010: driver version: 00.01.03
[ 5.048910] 3-0010 supply avdd not found, using dummy regulator
[ 5.054865] 3-0010 supply dovdd not found, using dummy regulator
[ 5.060911] 3-0010 supply dvdd not found, using dummy regulator
[ 5.066854] ov13850 3-0010: could not get default pinstate
[ 5.072343] ov13850 3-0010: could not get sleep pinstate
[ 5.238268] dwmmc_rockchip ff0f0000.dwmmc: Successfully tuned phase to 99
[ 5.246223] mmc1: new HS200 MMC card at address 0001
[ 5.254965] mmcblk1: mmc1:0001 DG4008 7.28 GiB
[ 5.259688] mmcblk1boot0: mmc1:0001 DG4008 partition 1 4.00 MiB
[ 5.265748] mmcblk1boot1: mmc1:0001 DG4008 partition 2 4.00 MiB
[ 5.271831] mmcblk1rpmb: mmc1:0001 DG4008 partition 3 4.00 MiB
[ 5.280358] GPT:Primary header thinks Alt. header is not at the end of the disk.
[ 5.287766] GPT:15271935 != 15273599
[ 5.291337] GPT:Alternate GPT header not at the end of the disk.
[ 5.297334] GPT:15271935 != 15273599
[ 5.300910] GPT: Use GNU Parted to correct GPT errors.
[ 5.306072] mmcblk1: p1 p2 p3 p4 p5 p6 p7 p8 p9
[ 5.607164] vendor storage:20190527 ret = 0
[ 6.077452] rk3x-i2c ff150000.i2c: timeout, ipd: 0x00, state: 1
[ 6.083379] ov13850 3-0010: Unexpected sensor id(000000), ret(-5)
[ 6.090582] ThumbEE CPU extension supported.
[ 6.094894] Registering SWP/SWPB emulation handler
[ 6.100460] Loading compiled-in X.509 certificates
[ 6.106064] rga2: Driver loaded successfully ver:2.0.00000
[ 6.111741] rga2: Module initialized.
[ 6.116339] input: adc-keys as /devices/platform/adc-keys/input/input1
[ 6.123296] dwmmc_rockchip ff0d000000004000.dwmmc: could not find pctldev for node /syscon@ff770000/mipi-phy-rx0/ports/port@1/endpoint, deferring probe
[ 6.137241] rockchip-dmc dmc: Get drm_device fail
[ 6.143207] input: gpio-keys as /devices/platform/gpio-keys/input/input2
[ 6.150277] dwmmc_rockchip ff0d000000004000.dwmmc: could not find pctldev for node /syscon@ff770000/mipi-phy-rx0/ports/port@1/endpoint, deferring probe
[ 6.164162] rk808-rtc rk808-rtc: setting system clock to 2013-01-18 08:51:24 UTC (1358499084)
[ 6.164222] rockchip-dmc dmc: Get drm_device fail
[ 6.185261] vcc_3g: disabling
[ 6.188264] vcc_otg_vbus: disabling
ú 6.198948]

看不懂,根本看不懂。

但是既然能进内核了,那么我猜可能是设备树的问题,所以打算修改设备树。

这里简单说一下我是怎么改设备树的。

我对比发现,反编译得到的 dts 文件的内容,和一般的 dts 源文件,是有些差异的。

以 rk3288-evb-rk808-linux.dts 文件为例,可以看到它在头部引入了一些其他的 dtsi 文件,这是一些公用的设备树配置。

同时这个文件本身也有一些配置,所有这些配置最终合并到一起,编译得到 dtb 文件。

而我反编译得到的 rk3288-tvi3001u.dts,所有的设备树配置都在这一个文件中。

并且他们的节点也有些不一样,以 emmc 为例:

这是 rk3288.dtsi 中。(rk3288-evb-rk808-linux.dts 文件引入了 rk3288-evb.dtsi,而 rk3288-evb.dtsi 文件又引入了 rk3288.dtsi)

1
2
3
4
5
6
7
8
9
10
11
12
13
emmc: mmc@ff0f0000 {
compatible = "rockchip,rk3288-dw-mshc";
max-frequency = <150000000>;
clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
<&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
fifo-depth = <0x100>;
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
reg = <0x0 0xff0f0000 0x0 0x4000>;
resets = <&cru SRST_EMMC>;
reset-names = "reset";
status = "disabled";
};

这是 rk3288-tvi3001u.dts 中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
rksdmmc@ff0f0000 {
compatible = "rockchip,rk_mmc", "rockchip,rk32xx-sdmmc";
reg = <0xff0f0000 0x4000>;
interrupts = <0x0 0x23 0x4>;
#address-cells = <0x1>;
#size-cells = <0x0>;
clocks = <0x28 0x80 0x6>;
clock-names = "clk_mmc", "hclk_mmc";
num-slots = <0x1>;
fifo-depth = <0x100>;
bus-width = <0x8>;
tune_regsbase = <0x218>;
cru_regsbase = <0x1d8>;
cru_reset_offset = <0x3>;
clock-frequency = <0xbebc200>;
clock-freq-min-max = <0x61a80 0xbebc200>;
supports-highspeed;
supports-emmc;
bootpart-no-access;
ignore-pm-notify;
keep-power-in-suspend;
status = "okay";
};

可以看到第一行中,他们两个 @ 符号后面的地址都是一样的,这个应该是固定的,猜测和芯片有关。

但是 @ 符号前面的文本不一样,这个应该是自定义的,具体我也不太懂。

最重要的是,反编译的得到的节点内容,最前面少了一个 emmc:

由于我对 dts 文件的写法不是很了解,所以只能结合自己的想法,以及 gpt 给的答案来修改,最终得到修改后的内容如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
emmc: mmc@ff0f0000 {
compatible = "rockchip,rk3288-dw-mshc";
reg = <0xff0f0000 0x4000>;
interrupts = <0x0 0x23 0x4>;
#address-cells = <0x1>;
#size-cells = <0x0>;
clocks = <0x28 0x80 0x6>;
clock-names = "clk_mmc", "hclk_mmc";
num-slots = <0x1>;
fifo-depth = <0x100>;
bus-width = <0x8>;
tune_regsbase = <0x218>;
cru_regsbase = <0x1d8>;
cru_reset_offset = <0x3>;
clock-frequency = <0xbebc200>;
clock-freq-min-max = <0x61a80 0xbebc200>;
supports-highspeed;
supports-emmc;
bootpart-no-access;
ignore-pm-notify;
keep-power-in-suspend;
status = "okay";
};

在第一、二行内容保留,其余替换成反编译得到的内容,其中 compatible 属性似乎和驱动匹配有关。

将上面内容替换掉 rk3288.dtsi 的 emmc 节点。

不知道这样改对不对?还望有懂的大佬可以告知。

期间我还尝试改了 wifi、蓝牙、hdmi 等节点,几乎都是这么改的。

经过我多次尝试,编译,刷内核,改设备树,编译,刷内核······

结果依旧是进不去系统。

当时编译的时候,一直是直接 ./build.sh 一键编译,然后将 /data/rk3288_linux_release_v2.5.0a_20230510/rockdev/pack 下的完整固件刷入,但是这样太慢了。

后面发现,其实应该只要 ./build.sh kernel 编译内核就好了,然后将 /data/rk3288_linux_release_v2.5.0a_20230510/rockdev 下的 boot.img 刷入指定地址就行。

如下图,只刷入 MiniLoaderAll.binboot.img

6. 曲线救国——凤凰 OS

好不容易可以启动内核了,结果却还是没法进系统,我不经有些烦躁。

一边觉得烦,我又一边继续搜 RK3288、Firefly 之类的,期待能找到解决办法,然后就搜出这么一条。

https://dev.t-firefly.com/thread-10678-1-1.html

当时看到这个的时候,我真觉得这个凤凰 OS 的 UI 很好看。

于是我就想,不编译 Linux 了,编译个凤凰 OS 吧。

因为我想着,既然有固件,那应该也有源码,应该可以尝试编译一下。

但是很遗憾的是,我找到了 Firefly-RK3288 的凤凰 OS 固件,但没有找到它的源码相关的信息。

抱着试一试的心态,我直接刷入 Firefly 的凤凰 OS,结果没法正常启动。

没办法,看来还是得自己编译一个固件才能用。

既然如此,我干脆尝试编译一个 Android 固件吧!

于是我又下载了 Firefly 的 Android 5.1 SDK,然后搭建环境,尝试编译。

可惜,我折腾了好久,最后也成功编译出了固件,但是一样进不去系统,无限重启。

不管我怎么改设备树,重新编译并刷入,都依旧如此。

所以自己编译 Android 固件这个想法也只好放弃。

我继续查看 Firefly-RK3288 的凤凰 OS 相关信息,发现它的 Android 系统版本也是 5.1。

这时我突然想到,凤凰 OS 其实应该也就是基于 Android 为 Firefly-RK3288 而定制的一个 ROM?

而据我所知,ROM 其实就是指安卓系统,对应的就是 Android 的 System 分区,那我是不是可以通过替换 System 分区,让我的板子也用上凤凰 OS?

毕竟这块板子原厂固件也是 Android 5.1,而且 CPU 都是 RK3288。

我觉得可行,于是就去问 ChatGPT,然后 GPT 告诉我需要替换三个分区。

将凤凰 OS 固件用 RKDevTool 解包,得到各个分区的镜像。

然后刷入原厂各个分区镜像,将其中的 system.imgboot.imgrecovery.img 替换为从凤凰 OS 解包出的对应文件。

如下图。

值得一提的是,userdata.img 无需刷入,刷入会导致无法进入系统。

刷完之后,重启查看日志,发现没有报错。

接上显示器,显示 System initializing, please wait...

等待一会儿后,会进入系统欢迎页面。

由于不支持 USB 鼠标,需要通过蓝牙连接鼠标,所以我通过 Scrcpy 远控,配置好蓝牙鼠标,才能正常使用系统。

Scrcpyhttps://gitee.com/mirrors/scrcpy

真不错。

7. 升级 Kernel

虽然已经有了凤凰 OS,但我还是不甘心。

还是想编译出一个 Linux 的固件。

于是我又不停改设备树,编译,刷内核,改设备树,编译,刷内核······

经过多次尝试,终于出现了一些转机。

在某一次改完设备树刷入内核后,日志多了一些报错信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798

U-Boot 2017.09(u-boot commit id: e4da79f87a88e70b076e97de82fc8ece3b6d6ea9)(sdk version: rk3288_linux_release_20220304_v2.5.0a.xml)-ge4da79f #root (Aug 10 2024 - 00:14:55 +0800)

Model: Evb-RK3288
PreSerial: 2, raw, 0xff690000
DRAM: 2 GiB
Sysmem: init
Relocation Offset: 00000000
Relocation fdt: 7bdd3950 - 7bdd4de5
CR: M/C/I
Using default environment

dwmmc@ff0c0000: 1, dwmmc@ff0f0000: 0
Bootdev(atags): mmc 0
MMC0: High Speed, 52Mhz
PartType: EFI
boot mode: recovery (misc)
Found DTB in recovery part
DTB: rk-kernel.dtb
HASH(c): OK
CLK: (uboot. arm: enter 1000000 KHz, init 1000000 KHz, kernel 0N/A)
apll 1000000 KHz
dpll 396000 KHz
cpll 24000 KHz
gpll 594000 KHz
npll 24000 KHz
aclk_bus 198000 KHz
Net: Net Initialization Skipped
No ethernet found.
Hit key to stop autoboot('CTRL+C'): 0
ANDROID: reboot reason: "recovery"
optee api revision: 2.0
TEEC: Waring: Could not find security partition
Not AVB images, AVB skip
Booting ZIMAGE kernel at 0x02008000(Uncompress to 0) with fdt at 0x08300000...


Fdt Ramdisk skip relocation
## Booting Android Image at 0x02007800 ...
Kernel load addr 0x02008000 size 7633 KiB
RAM disk load addr 0x0a200000 size 6924 KiB
## Flattened Device Tree blob at 0x08300000
Booting using the fdt blob at 0x08300000
XIP Kernel Image from 0x02008000 to 0x02008000 ... OK
'reserved-memory' dma-unusable@fe000000: addr=fe000000 size=1000000
'reserved-memory' ramoops@00000000: addr=8000000 size=f0000
Using Device Tree in place at 08300000, end 083178e5
Adding bank: 0x00000000 - 0x08400000 (size: 0x08400000)
Adding bank: 0x09310000 - 0x80000000 (size: 0x76cf0000)
Total: 731.341 ms

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x500
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 4.4.194 (root@ubuntu) (kernel commit id: ebb6f60626788430b3eebadd4d1fe01365685be8) (sdk version: rk3288_linux_release_20220304_v2.5.0a.xml) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05) ) #5 SMP Wed Aug 7 21:42:52 CST 2024
[ 0.000000] CPU: ARMv7 Processor [410fc0d1] revision 1 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine model: rockchip,rk3288-evb-rk808-linux
[ 0.000000] Reserved memory: failed to reserve memory for node 'drm-logo@00000000': base 0x00000000, size 0 MiB
[ 0.000000] cma: Reserved 16 MiB at 0x7f000000
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv65535.65535 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] PERCPU: Embedded 14 pages/cpu @eef77000 s24728 r8192 d24424 u57344
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 518896
[ 0.000000] Kernel command line: storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal androidboot.verifiedbootstate=orange androidboot.slot_suffix= earlyprintk rw rootwait console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootfstype=ext4
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 2019816K/2081728K available (12288K kernel code, 915K rwdata, 3324K rodata, 1024K init, 567K bss, 45528K reserved, 16384K cma-reserved, 1294336K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0d00000 (13280 kB)
[ 0.000000] .init : 0xc1200000 - 0xc1300000 (1024 kB)
[ 0.000000] .data : 0xc1300000 - 0xc13e4d2c ( 916 kB)
[ 0.000000] .bss : 0xc13e6000 - 0xc1473e50 ( 568 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 32.
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] Architected 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.000009] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000030] Switching to timer-based delay loop, resolution 41ns
[ 0.004032] Console: colour dummy device 80x30
[ 0.004077] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.004102] pid_max: default: 32768 minimum: 301
[ 0.004254] Security Framework initialized
[ 0.004272] Yama: becoming mindful.
[ 0.004367] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.004390] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.005554] Initializing cgroup subsys devices
[ 0.005588] Initializing cgroup subsys freezer
[ 0.005648] CPU: Testing write buffer coherency: ok
[ 0.005704] ftrace: allocating 42944 entries in 126 pages
[ 0.133493] CPU0: update cpu_capacity 430
[ 0.133515] CPU0: thread -1, cpu 0, socket 5, mpidr 80000500
[ 0.133615] Setting up static identity map for 0x100000 - 0x100058
[ 0.136924] CPU1: update cpu_capacity 430
[ 0.136934] CPU1: thread -1, cpu 1, socket 5, mpidr 80000501
[ 0.138142] CPU2: update cpu_capacity 430
[ 0.138151] CPU2: thread -1, cpu 2, socket 5, mpidr 80000502
[ 0.139383] CPU3: update cpu_capacity 430
[ 0.139392] CPU3: thread -1, cpu 3, socket 5, mpidr 80000503
[ 0.139554] Brought up 4 CPUs
[ 0.139597] SMP: Total of 4 processors activated (192.00 BogoMIPS).
[ 0.139607] CPU: All CPU(s) started in SVC mode.
[ 0.141706] devtmpfs: initialized
[ 0.174279] VFP support v0.3: implementor 41 architecture 3 part 30 variant d rev 0
[ 0.174852] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.174895] futex hash table entries: 1024 (order: 4, 65536 bytes)
[ 0.176439] pinctrl core: initialized pinctrl subsystem
[ 0.178074] NET: Registered protocol family 16
[ 0.180738] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.203330] cpuidle: using governor ladder
[ 0.233379] cpuidle: using governor menu
[ 0.233431] Registered FIQ tty driver
[ 0.287422] console [pstore-1] enabled
[ 0.287437] pstore: Registered ramoops as persistent store backend
[ 0.287452] ramoops: attached 0xf0000@0x8000000, ecc: 0/0
[ 0.289860] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.289881] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.291061] fiq debugger fiq mode enabled
[ 0.782867] console [ttyFIQ0] enabled
[ 0.786921] Registered fiq debugger ttyFIQ0
[ 0.908737] vcc18_dvp: regulator get failed, ret=-517
[ 0.915542] iommu: Adding device ff910000.isp to group 0
[ 0.921012] iommu: Adding device ff910000.rkisp1 to group 1
[ 0.926801] iommu: Adding device ff930000.vop to group 2
[ 0.932266] iommu: Adding device ff940000.vop to group 3
[ 0.937792] iommu: Adding device ff9a0000.vpu-service to group 4
[ 0.943970] iommu: Adding device ff9c0000.hevc-service to group 5
[ 0.950987] rk_iommu ff914000.iommu: can't get sclk
[ 0.956548] rk_iommu ff930300.iommu: can't get sclk
[ 0.961930] rk_iommu ff940300.iommu: can't get sclk
[ 0.967253] rk_iommu ff9a0800.iommu: can't get sclk
[ 0.972741] rk_iommu ff9c0440.iommu: can't get sclk
[ 0.978541] SCSI subsystem initialized
[ 0.982750] usbcore: registered new interface driver usbfs
[ 0.988355] usbcore: registered new interface driver hub
[ 0.993870] usbcore: registered new device driver usb
[ 0.999157] media: Linux media interface: v0.10
[ 1.003813] Linux video capture interface: v2.00
[ 1.008604] pps_core: LinuxPPS API ver. 1 registered
[ 1.013574] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 1.022779] PTP clock support registered
[ 1.029361] Advanced Linux Sound Architecture Driver Initialized.
[ 1.036548] Bluetooth: Core ver 2.21
[ 1.040192] NET: Registered protocol family 31
[ 1.044643] Bluetooth: HCI device and connection manager initialized
[ 1.051056] Bluetooth: HCI socket layer initialized
[ 1.055948] Bluetooth: L2CAP socket layer initialized
[ 1.061116] Bluetooth: SCO socket layer initialized
[ 1.067661] rockchip-cpuinfo cpuinfo: Serial : adb08770ad432f7d
[ 1.075275] clocksource: Switched to clocksource arch_sys_counter
[ 1.168782] /thermal-zones/soc-thermal/cooling-maps/map1: could not get #cooling-cells for /gpu@ffa30000
[ 1.178320] missing cooling_device property
[ 1.182520] failed to build thermal zone soc-thermal: -22
[ 1.188627] NET: Registered protocol family 2
[ 1.193916] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 1.201131] TCP bind hash table entries: 8192 (order: 5, 163840 bytes)
[ 1.207951] TCP: Hash tables configured (established 8192 bind 8192)
[ 1.214399] UDP hash table entries: 512 (order: 2, 24576 bytes)
[ 1.220427] UDP-Lite hash table entries: 512 (order: 2, 24576 bytes)
[ 1.227176] NET: Registered protocol family 1
[ 1.232053] RPC: Registered named UNIX socket transport module.
[ 1.238034] RPC: Registered udp transport module.
[ 1.242748] RPC: Registered tcp transport module.
[ 1.247487] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.254257] Trying to unpack rootfs image as initramfs...
[ 1.980366] Freeing initrd memory: 6924K
[ 1.985961] hw perfevents: enabled with armv7_cortex_a12 PMU driver, 7 counters available
[ 1.997841] Initialise system trusted keyring
[ 2.018032] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 2.027172] NFS: Registering the id_resolver key type
[ 2.032271] Key type id_resolver registered
[ 2.036528] Key type id_legacy registered
[ 2.040581] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ 2.048059] fuse init (API version 7.23)
[ 2.061644] NET: Registered protocol family 38
[ 2.066190] Key type asymmetric registered
[ 2.070302] Asymmetric key parser 'x509' registered
[ 2.075337] bounce: pool size: 64 pages
[ 2.079502] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[ 2.086951] io scheduler noop registered
[ 2.090892] io scheduler deadline registered
[ 2.095224] io scheduler cfq registered (default)
[ 2.106213] rockchip-dp-phy ff770000.syscon:edp-phy: No edp_24m reset control specified
[ 2.116573] backlight supply power not found, using dummy regulator
[ 2.123829] rk-vcodec ff9a0000.vpu-service: no regulator for vcodec
[ 2.130588] rk-vcodec ff9a0000.vpu-service: probe device
[ 2.136408] rk-vcodec ff9a0000.vpu-service: drm allocator with mmu enabled
[ 2.144566] rk-vcodec ff9a0000.vpu-service: could not find power_model node
[ 2.151592] rk-vcodec ff9a0000.vpu-service: init success
[ 2.157504] rk-vcodec ff9c0000.hevc-service: no regulator for vcodec
[ 2.164354] rk-vcodec ff9c0000.hevc-service: probe device
[ 2.170239] rk-vcodec ff9c0000.hevc-service: drm allocator with mmu enabled
[ 2.178177] rk-vcodec ff9c0000.hevc-service: could not find power_model node
[ 2.185237] rk-vcodec ff9c0000.hevc-service: init success
[ 2.194655] dma-pl330 ff250000.dma-controller: Loaded driver for PL330 DMAC-241330
[ 2.202294] dma-pl330 ff250000.dma-controller: DBUFF-128x8bytes Num_Chans-8 Num_Peri-20 Num_Events-16
[ 2.213075] dma-pl330 ff600000.dma-controller: Loaded driver for PL330 DMAC-241330
[ 2.220731] dma-pl330 ff600000.dma-controller: DBUFF-64x8bytes Num_Chans-5 Num_Peri-6 Num_Events-10
[ 2.232214] rockchip-system-monitor rockchip-system-monitor: system monitor probe
[ 2.240336] pwm-regulator vdd-logic: Failed to get PWM: -517
[ 2.246734] Serial: 8250/16550 driver, 5 ports, IRQ sharing disabled
[ 2.254177] ff180000.serial: ttyS0 at MMIO 0xff180000 (irq = 37, base_baud = 1500000) is a 16550A
[ 2.265759] [drm] Initialized drm 1.1.0 20060810
[ 2.278776] usbcore: registered new interface driver udl
[ 2.286889] panel-simple edp-panel: failed to get power regulator: -517
[ 2.295691] mali ffa30000.gpu: Failed to get regulator
[ 2.300846] mali ffa30000.gpu: Power control initialization failed
[ 2.309057] brd: module loaded
[ 2.323311] loop: module loaded
[ 2.327850] zram: Added device: zram0
[ 2.331575] lkdtm: No crash points registered, enable through debugfs
[ 2.339893] tun: Universal TUN/TAP device driver, 1.6
[ 2.344959] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[ 2.353622] rk_gmac-dwmac ff290000.ethernet: clock input or output? (input).
[ 2.360758] rk_gmac-dwmac ff290000.ethernet: TX delay(0x30).
[ 2.366461] rk_gmac-dwmac ff290000.ethernet: RX delay(0x10).
[ 2.372159] rk_gmac-dwmac ff290000.ethernet: integrated PHY? (no).
[ 2.378606] rk_gmac-dwmac ff290000.ethernet: cannot get clock clk_mac_speed
[ 2.385614] rk_gmac-dwmac ff290000.ethernet: clock input from PHY
[ 2.396732] rk_gmac-dwmac ff290000.ethernet: init for RGMII
[ 2.402491] stmmac - user ID: 0x10, Synopsys ID: 0x35
[ 2.407585] Ring mode enabled
[ 2.410651] DMA HW capability register supported
[ 2.415178] Normal descriptors
[ 2.418541] RX Checksum Offload Engine supported (type 2)
[ 2.424030] TX Checksum insertion supported
[ 2.428324] Wake-Up On Lan supported
[ 2.432076] Enable RX Mitigation via HW Watchdog Timer
[ 2.636919] libphy: stmmac: probed
[ 2.640351] eth%d: PHY ID 00000000 at 0 IRQ POLL (stmmac-0:00) active
[ 2.646843] eth%d: PHY ID 00000000 at 1 IRQ POLL (stmmac-0:01)
[ 2.652688] eth%d: PHY ID 00000000 at 2 IRQ POLL (stmmac-0:02)
[ 2.658556] eth%d: PHY ID 00000000 at 3 IRQ POLL (stmmac-0:03)
[ 2.664399] eth%d: PHY ID 00000000 at 4 IRQ POLL (stmmac-0:04)
[ 2.670262] eth%d: PHY ID 00000000 at 5 IRQ POLL (stmmac-0:05)
[ 2.676123] eth%d: PHY ID 00000000 at 6 IRQ POLL (stmmac-0:06)
[ 2.681965] eth%d: PHY ID 00000000 at 7 IRQ POLL (stmmac-0:07)
[ 2.687823] eth%d: PHY ID 00000000 at 8 IRQ POLL (stmmac-0:08)
[ 2.693665] eth%d: PHY ID 00000000 at 9 IRQ POLL (stmmac-0:09)
[ 2.699525] eth%d: PHY ID 00000000 at 10 IRQ POLL (stmmac-0:0a)
[ 2.705470] eth%d: PHY ID 00000000 at 11 IRQ POLL (stmmac-0:0b)
[ 2.711396] eth%d: PHY ID 00000000 at 12 IRQ POLL (stmmac-0:0c)
[ 2.717339] eth%d: PHY ID 00000000 at 13 IRQ POLL (stmmac-0:0d)
[ 2.723266] eth%d: PHY ID 00000000 at 14 IRQ POLL (stmmac-0:0e)
[ 2.729209] eth%d: PHY ID 00000000 at 15 IRQ POLL (stmmac-0:0f)
[ 2.735135] eth%d: PHY ID 00000000 at 16 IRQ POLL (stmmac-0:10)
[ 2.741078] eth%d: PHY ID 00000000 at 17 IRQ POLL (stmmac-0:11)
[ 2.747021] eth%d: PHY ID 00000000 at 18 IRQ POLL (stmmac-0:12)
[ 2.752948] eth%d: PHY ID 00000000 at 19 IRQ POLL (stmmac-0:13)
[ 2.758890] eth%d: PHY ID 00000000 at 20 IRQ POLL (stmmac-0:14)
[ 2.764816] eth%d: PHY ID 00000000 at 21 IRQ POLL (stmmac-0:15)
[ 2.770759] eth%d: PHY ID 00000000 at 22 IRQ POLL (stmmac-0:16)
[ 2.776702] eth%d: PHY ID 00000000 at 23 IRQ POLL (stmmac-0:17)
[ 2.782629] eth%d: PHY ID 00000000 at 24 IRQ POLL (stmmac-0:18)
[ 2.788572] eth%d: PHY ID 00000000 at 25 IRQ POLL (stmmac-0:19)
[ 2.794498] eth%d: PHY ID 00000000 at 26 IRQ POLL (stmmac-0:1a)
[ 2.800441] eth%d: PHY ID 00000000 at 27 IRQ POLL (stmmac-0:1b)
[ 2.806385] eth%d: PHY ID 00000000 at 28 IRQ POLL (stmmac-0:1c)
[ 2.812310] eth%d: PHY ID 00000000 at 29 IRQ POLL (stmmac-0:1d)
[ 2.818253] eth%d: PHY ID 00000000 at 30 IRQ POLL (stmmac-0:1e)
[ 2.824180] eth%d: PHY ID 00000000 at 31 IRQ POLL (stmmac-0:1f)
[ 2.832682] PPP generic driver version 2.4.2
[ 2.837523] usbcore: registered new interface driver rndis_wlan
[ 2.843957] usbcore: registered new interface driver rt2800usb
[ 2.849868]
[ 2.851373] =======================================================
[ 2.857679] ==== Launching Wi-Fi driver! (Powered by Rockchip) ====
[ 2.863953] =======================================================
[ 2.870248] Realtek 8723DS SDIO WiFi driver (Powered by Rockchip,Ver v5.10.1-20-g5af20e016.20200310_beta) init.
[ 2.880346] [WLAN_RFKILL]: rockchip_wifi_power: 1
[ 2.885058] [WLAN_RFKILL]: rockchip_wifi_power: rfkill-wlan driver has not Successful initialized
[ 2.893947] sdio: host isn't initialization successfully.
[ 2.899470] RTW: module init start
[ 2.902884] RTW: rtl8723ds v5.10.1-20-g5af20e016.20200310_beta
[ 2.908746] RTW: build time: Aug 7 2024 21:42:16
[ 2.913458] RTW: rtl8723ds BT-Coex version = COEX20200103-3535
[ 3.915338] [WLAN_RFKILL]: rockchip_wifi_get_oob_irq: Enter
[ 3.920925] [WLAN_RFKILL]: rockchip_wifi_get_oob_irq: rfkill-wlan driver has not Successful initialized
[ 3.930484] RTW: module init ret=0
[ 3.933922] Rockchip WiFi SYS interface (V1.00) ...
[ 3.938995] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
[ 3.946536] usbcore: registered new interface driver pegasus
[ 3.952293] usbcore: registered new interface driver rtl8150
[ 3.958094] usbcore: registered new interface driver r8152
[ 3.963704] usbcore: registered new interface driver asix
[ 3.969256] usbcore: registered new interface driver ax88179_178a
[ 3.975489] usbcore: registered new interface driver cdc_ether
[ 3.981422] usbcore: registered new interface driver dm9601
[ 3.987155] usbcore: registered new interface driver smsc75xx
[ 3.993016] usbcore: registered new interface driver smsc95xx
[ 3.998901] usbcore: registered new interface driver net1080
[ 4.004656] usbcore: registered new interface driver rndis_host
[ 4.010736] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
[ 4.018320] usbcore: registered new interface driver cdc_ncm
[ 4.024078] usbcore: registered new interface driver cdc_mbim
[ 4.030301] ff540000.usb supply vusb_d not found, using dummy regulator
[ 4.037063] ff540000.usb supply vusb_a not found, using dummy regulator
[ 4.156019] dwc2 ff540000.usb: DWC OTG Controller
[ 4.160772] dwc2 ff540000.usb: new USB bus registered, assigned bus number 1
[ 4.167917] dwc2 ff540000.usb: irq 43, io mem 0xff540000
[ 4.173640] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 4.180488] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 4.187749] usb usb1: Product: DWC OTG Controller
[ 4.192466] usb usb1: Manufacturer: Linux 4.4.194 dwc2_hsotg
[ 4.198145] usb usb1: SerialNumber: ff540000.usb
[ 4.203866] hub 1-0:1.0: USB hub found
[ 4.207741] hub 1-0:1.0: 1 port detected
[ 4.212664] ff580000.usb supply vusb_d not found, using dummy regulator
[ 4.219486] ff580000.usb supply vusb_a not found, using dummy regulator
[ 4.345373] dwc2 ff580000.usb: EPs: 10, dedicated fifos, 972 entries in SPRAM
[ 4.353331] dwc2 ff580000.usb: DWC OTG Controller
[ 4.358180] dwc2 ff580000.usb: new USB bus registered, assigned bus number 2
[ 4.365331] dwc2 ff580000.usb: irq 44, io mem 0xff580000
[ 4.370948] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 4.377794] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 4.385027] usb usb2: Product: DWC OTG Controller
[ 4.389772] usb usb2: Manufacturer: Linux 4.4.194 dwc2_hsotg
[ 4.395464] usb usb2: SerialNumber: ff580000.usb
[ 4.401161] hub 2-0:1.0: USB hub found
[ 4.404990] hub 2-0:1.0: 1 port detected
[ 4.411577] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 4.418183] ehci-platform: EHCI generic platform driver
[ 4.423861] ehci-platform ff500000.usb: EHCI Host Controller
[ 4.429952] ehci-platform ff500000.usb: new USB bus registered, assigned bus number 3
[ 4.438090] ehci-platform ff500000.usb: irq 41, io mem 0xff500000
[ 4.455351] ehci-platform ff500000.usb: USB 2.0 started, EHCI 1.00
[ 4.461872] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
[ 4.468728] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 4.475993] usb usb3: Product: EHCI Host Controller
[ 4.480878] usb usb3: Manufacturer: Linux 4.4.194 ehci_hcd
[ 4.486401] usb usb3: SerialNumber: ff500000.usb
[ 4.492041] hub 3-0:1.0: USB hub found
[ 4.495917] hub 3-0:1.0: 1 port detected
[ 4.500981] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 4.507471] ohci-platform: OHCI generic platform driver
[ 4.513343] usbcore: registered new interface driver cdc_acm
[ 4.519052] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 4.527224] usbcore: registered new interface driver cdc_wdm
[ 4.533075] usbcore: registered new interface driver usb-storage
[ 4.539310] usbcore: registered new interface driver usbserial
[ 4.545232] usbcore: registered new interface driver usbserial_generic
[ 4.551864] usbserial: USB Serial support registered for generic
[ 4.558019] usbcore: registered new interface driver cp210x
[ 4.563665] usbserial: USB Serial support registered for cp210x
[ 4.569805] usbcore: registered new interface driver ftdi_sio
[ 4.575669] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 4.583302] usbcore: registered new interface driver keyspan
[ 4.589069] usbserial: USB Serial support registered for Keyspan - (without firmware)
[ 4.597292] usbserial: USB Serial support registered for Keyspan 1 port adapter
[ 4.604662] usbserial: USB Serial support registered for Keyspan 2 port adapter
[ 4.612077] usbserial: USB Serial support registered for Keyspan 4 port adapter
[ 4.619545] usbcore: registered new interface driver option
[ 4.625182] usbserial: USB Serial support registered for GSM modem (1-port)
[ 4.632603] usbcore: registered new interface driver oti6858
[ 4.638370] usbserial: USB Serial support registered for oti6858
[ 4.644485] usbcore: registered new interface driver pl2303
[ 4.650178] usbserial: USB Serial support registered for pl2303
[ 4.656270] usbcore: registered new interface driver qcserial
[ 4.662076] usbserial: USB Serial support registered for Qualcomm USB modem
[ 4.669219] usbcore: registered new interface driver sierra
[ 4.674855] usbserial: USB Serial support registered for Sierra USB modem
[ 4.683533] usbcore: registered new interface driver iforce
[ 4.689310] usbcore: registered new interface driver xpad
[ 4.695459] usbcore: registered new interface driver usbtouchscreen
[ 4.703013] i2c /dev entries driver
[ 4.708272] rk3x-i2c ff140000.i2c: Initialized RK3xxx I2C bus at f09de000
[ 4.716497] rk3x-i2c ff660000.i2c: Initialized RK3xxx I2C bus at f09f2000
[ 4.726801] rkisp1 ff910000.rkisp1: rkisp1 driver version: v00.01.05
[ 4.733210] rkisp1 ff910000.rkisp1: Missing rockchip,grf property
[ 4.743190] usbcore: registered new interface driver uvcvideo
[ 4.748996] USB Video Class driver (1.1.1)
[ 4.755961] Boot mode: normal
[ 4.759968] rockchip-thermal ff280000.tsadc: Missing rockchip,grf property
[ 4.766960] rockchip-thermal ff280000.tsadc: failed to register sensor 1: -517
[ 4.774194] rockchip-thermal ff280000.tsadc: failed to register sensor[0] : error = -517
[ 4.784386] device-mapper: ioctl: 4.34.0-ioctl (2015-10-28) initialised: dm-devel@redhat.com
[ 4.793239] Bluetooth: Virtual HCI driver ver 1.5
[ 4.798310] Bluetooth: HCI UART driver ver 2.3
[ 4.802766] Bluetooth: HCI UART protocol H4 registered
[ 4.807950] Bluetooth: HCI UART protocol LL registered
[ 4.813095] Bluetooth: HCI UART protocol ATH3K registered
[ 4.818676] usbcore: registered new interface driver bfusb
[ 4.824300] usbcore: registered new interface driver btusb
[ 4.830425] cpu cpu0: bin=1
[ 4.833438] cpu cpu0: leakage=29
[ 4.836782] cpu cpu0: Failed to get reg
[ 4.840653] cpu cpu0: bin-scale=25
[ 4.844612] sdhci: Secure Digital Host Controller Interface driver
[ 4.850841] sdhci: Copyright(c) Pierre Ossman
[ 4.855223] Synopsys Designware Multimedia Card Interface Driver
[ 4.862804] dwmmc_rockchip ff0c0000.dwmmc: IDMAC supports 32-bit address mode.
[ 4.870166] dwmmc_rockchip ff0c0000.dwmmc: Using internal DMA controller.
[ 4.877015] dwmmc_rockchip ff0c0000.dwmmc: Version ID is 270a
[ 4.882847] dwmmc_rockchip ff0c0000.dwmmc: DW MMC controller at irq 29,32 bit host data width,256 deep fifo
[ 4.892663] dwmmc_rockchip ff0c0000.dwmmc: 'clock-freq-min-max' property was deprecated.
[ 4.901801] dwmmc_rockchip ff0d0000.dwmmc: IDMAC supports 32-bit address mode.
[ 4.909173] dwmmc_rockchip ff0d0000.dwmmc: Using internal DMA controller.
[ 4.916025] dwmmc_rockchip ff0d0000.dwmmc: Version ID is 270a
[ 4.921843] dwmmc_rockchip ff0d0000.dwmmc: DW MMC controller at irq 30,32 bit host data width,256 deep fifo
[ 4.931648] dwmmc_rockchip ff0d0000.dwmmc: 'clock-freq-min-max' property was deprecated.
[ 4.939827] dwmmc_rockchip ff0d0000.dwmmc: No vmmc regulator found
[ 4.946048] dwmmc_rockchip ff0d0000.dwmmc: No vqmmc regulator found
[ 4.953220] sdhci-pltfm: SDHCI platform and OF driver helper
[ 4.959750] hidraw: raw HID events driver (C) Jiri Kosina
[ 4.966887] usbcore: registered new interface driver usbhid
[ 4.972470] usbhid: USB HID core driver
[ 4.976954] ashmem: initialized
[ 4.981428] rockchip-dmc dmc: unable to get devfreq-event device : dfi
[ 4.991137] rknandbase v1.2 2018-05-08
[ 4.996380] usbcore: registered new interface driver snd-usb-audio
[ 5.995344] rk3x-i2c ff660000.i2c: timeout, ipd: 0x00, state: 1
[ 6.007509] u32 classifier
[ 6.010253] Netfilter messages via NETLINK v0.30.
[ 6.015084] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[ 6.021770] ctnetlink v0.93: registering with nfnetlink.
[ 6.027406] ip_set: protocol 6
[ 6.030495] IPVS: Registered protocols ()
[ 6.034563] IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
[ 6.042082] IPVS: Creating netns size=1104 id=0
[ 6.046705] IPVS: ipvs loaded.
[ 6.050394] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 6.056092] Initializing XFRM netlink socket
[ 6.061757] NET: Registered protocol family 10
[ 6.067842] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 6.073556] sit: IPv6 over IPv4 tunneling driver
[ 6.079291] NET: Registered protocol family 17
[ 6.083789] NET: Registered protocol family 15
[ 6.088359] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[ 6.101047] Bridge firewalling registered
[ 6.105311] Bluetooth: RFCOMM socket layer initialized
[ 6.110488] Bluetooth: RFCOMM ver 1.11
[ 6.114267] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 6.120258] Bluetooth: HIDP socket layer initialized
[ 6.125356] 8021q: 802.1Q VLAN Support v1.8
[ 6.129583] lib80211: common routines for IEEE802.11 drivers
[ 6.135378] [WLAN_RFKILL]: Enter rfkill_wlan_init
[ 6.140452] [WLAN_RFKILL]: Enter rfkill_wlan_probe
[ 6.145295] [WLAN_RFKILL]: can't find rockchip,grf property
[ 6.150879] [WLAN_RFKILL]: wlan_platdata_parse_dt: wifi_chip_type = rtl8723bs
[ 6.158049] [WLAN_RFKILL]: wlan_platdata_parse_dt: enable wifi power control.
[ 6.165191] [WLAN_RFKILL]: wlan_platdata_parse_dt: wifi power controled by gpio.
[ 6.172625] /wireless-wlan: could not get #gpio-cells for /display-subsystem/route/route-lvds
[ 6.181235] /wireless-wlan: could not get #gpio-cells for /display-subsystem/route/route-lvds
[ 6.189811] [WLAN_RFKILL]: wlan_platdata_parse_dt: The ref_wifi_clk not found !
[ 6.197146] [WLAN_RFKILL]: rfkill_wlan_probe: init gpio
[ 6.202378] [WLAN_RFKILL]: Exit rfkill_wlan_probe
[ 6.207238] [BT_RFKILL]: Enter rfkill_rk_init
[ 6.212099] /wireless-bluetooth: could not get #gpio-cells for /display-subsystem/route/route-lvds
[ 6.221130] [BT_RFKILL]: bluetooth_platdata_parse_dt: uart_rts_gpios is no-in-use.
[ 6.228743] /wireless-bluetooth: could not get #gpio-cells for /display-subsystem/route/route-lvds
[ 6.237756] /wireless-bluetooth: could not get #gpio-cells for /display-subsystem/route/route-lvds
[ 6.246764] /wireless-bluetooth: could not get #gpio-cells for /display-subsystem/route/route-lvds
[ 6.255790] /wireless-bluetooth: could not get #gpio-cells for /display-subsystem/route/route-lvds
[ 6.264779] [BT_RFKILL]: bluetooth_platdata_parse_dt: clk_get failed!!!.
[ 6.271840] [BT_RFKILL]: bt_default device registered.
[ 6.277191] Key type dns_resolver registered
[ 6.283161] ThumbEE CPU extension supported.
[ 6.287539] Registering SWP/SWPB emulation handler
[ 6.293723] Loading compiled-in X.509 certificates
[ 6.300110] rga2: Driver loaded successfully ver:2.0.00000
[ 6.305965] rga2: Module initialized.
[ 6.310580] backlight supply power not found, using dummy regulator
[ 6.317690] pwm-regulator vdd-logic: Failed to get PWM: -517
[ 6.324230] panel-simple edp-panel: failed to get power regulator: -517
[ 6.331716] mali ffa30000.gpu: Failed to get regulator
[ 6.336924] mali ffa30000.gpu: Power control initialization failed
[ 6.344136] input: adc-keys as /devices/platform/adc-keys/input/input0
[ 6.352879] rockchip-thermal ff280000.tsadc: Missing rockchip,grf property
[ 6.359882] rockchip-thermal ff280000.tsadc: failed to register sensor 1: -517
[ 6.367167] rockchip-thermal ff280000.tsadc: failed to register sensor[0] : error = -517
[ 6.377069] dwmmc_rockchip ff0c0000.dwmmc: IDMAC supports 32-bit address mode.
[ 6.384393] dwmmc_rockchip ff0c0000.dwmmc: Using internal DMA controller.
[ 6.391250] dwmmc_rockchip ff0c0000.dwmmc: Version ID is 270a
[ 6.397065] dwmmc_rockchip ff0c0000.dwmmc: DW MMC controller at irq 29,32 bit host data width,256 deep fifo
[ 6.406869] dwmmc_rockchip ff0c0000.dwmmc: 'clock-freq-min-max' property was deprecated.
[ 6.416563] dwmmc_rockchip ff0d0000.dwmmc: IDMAC supports 32-bit address mode.
[ 6.423870] dwmmc_rockchip ff0d0000.dwmmc: Using internal DMA controller.
[ 6.430737] dwmmc_rockchip ff0d0000.dwmmc: Version ID is 270a
[ 6.436559] dwmmc_rockchip ff0d0000.dwmmc: DW MMC controller at irq 30,32 bit host data width,256 deep fifo
[ 6.446470] dwmmc_rockchip ff0d0000.dwmmc: 'clock-freq-min-max' property was deprecated.
[ 6.454604] dwmmc_rockchip ff0d0000.dwmmc: No vmmc regulator found
[ 6.460843] dwmmc_rockchip ff0d0000.dwmmc: No vqmmc regulator found
[ 6.468466] rockchip-dmc dmc: Cannot get the regulator "center"
[ 7.465337] rk3x-i2c ff660000.i2c: timeout, ipd: 0x00, state: 1
[ 7.472692] backlight supply power not found, using dummy regulator
[ 7.479766] pwm-regulator vdd-logic: Failed to get PWM: -517
[ 7.486351] panel-simple edp-panel: failed to get power regulator: -517
[ 7.493703] mali ffa30000.gpu: Failed to get regulator
[ 7.498905] mali ffa30000.gpu: Power control initialization failed
[ 7.506891] input: gpio-keys as /devices/platform/gpio-keys/input/input1
[ 7.514157] hctosys: unable to open rtc device (rtc0)
[ 7.515820] rockchip-thermal ff280000.tsadc: Missing rockchip,grf property
[ 7.515878] rockchip-thermal ff280000.tsadc: failed to register sensor 1: -517
[ 7.515889] rockchip-thermal ff280000.tsadc: failed to register sensor[0] : error = -517
[ 7.517638] dwmmc_rockchip ff0c0000.dwmmc: IDMAC supports 32-bit address mode.
[ 7.517722] dwmmc_rockchip ff0c0000.dwmmc: Using internal DMA controller.
[ 7.517740] dwmmc_rockchip ff0c0000.dwmmc: Version ID is 270a
[ 7.517781] dwmmc_rockchip ff0c0000.dwmmc: DW MMC controller at irq 29,32 bit host data width,256 deep fifo
[ 7.517812] dwmmc_rockchip ff0c0000.dwmmc: 'clock-freq-min-max' property was deprecated.
[ 7.519318] dwmmc_rockchip ff0d0000.dwmmc: IDMAC supports 32-bit address mode.
[ 7.519396] dwmmc_rockchip ff0d0000.dwmmc: Using internal DMA controller.
[ 7.519413] dwmmc_rockchip ff0d0000.dwmmc: Version ID is 270a
[ 7.519452] dwmmc_rockchip ff0d0000.dwmmc: DW MMC controller at irq 30,32 bit host data width,256 deep fifo
[ 7.519483] dwmmc_rockchip ff0d0000.dwmmc: 'clock-freq-min-max' property was deprecated.
[ 7.519524] dwmmc_rockchip ff0d0000.dwmmc: No vmmc regulator found
[ 7.519532] dwmmc_rockchip ff0d0000.dwmmc: No vqmmc regulator found
[ 7.520770] rockchip-dmc dmc: Cannot get the regulator "center"
[ 7.657713] vcc_3g: disabling
[ 7.660699] vcc_otg_vbus: disabling
[ 8.515333] rk3x-i2c ff660000.i2c: timeout, ipd: 0x00, state: 1
[ 8.522809] backlight supply power not found, using dummy regulator
[ 8.529916] pwm-regulator vdd-logic: Failed to get PWM: -517
[ 8.536501] panel-simple edp-panel: failed to get power regulator: -517
[ 8.543860] mali ffa30000.gpu: Failed to get regulator
[ 8.549080] mali ffa30000.gpu: Power control initialization failed
[ 9.335315] vendor storage:20190527 ret = -1
[ 153.455406] random: nonblocking pool is initialized
[ 240.925330] INFO: task swapper/0:1 blocked for more than 120 seconds.
[ 240.931783] Not tainted 4.4.194 #5
[ 240.935753] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 240.943582] swapper/0 D c0c21ec4 0 1 0 0x00000000
[ 240.950041] [<c0c21ec4>] (__schedule) from [<c0c222c8>] (schedule+0xa8/0xc0)
[ 240.957129] [<c0c222c8>] (schedule) from [<c0c24c84>] (schedule_timeout+0x2c/0x248)
[ 240.964793] [<c0c24c84>] (schedule_timeout) from [<c0c22db8>] (wait_for_common+0xdc/0x158)
[ 240.973100] [<c0c22db8>] (wait_for_common) from [<c0c22e54>] (wait_for_completion+0x20/0x24)
[ 240.981584] [<c0c22e54>] (wait_for_completion) from [<c04b0b04>] (drm_dev_wait+0x1c/0x24)
[ 240.989796] [<c04b0b04>] (drm_dev_wait) from [<c122dab0>] (drm_misc_init+0x54/0x22c)
[ 240.997583] [<c122dab0>] (drm_misc_init) from [<c0101a48>] (do_one_initcall+0x60/0x1c8)
[ 241.005632] [<c0101a48>] (do_one_initcall) from [<c1200fa4>] (kernel_init_freeable+0x214/0x264)
[ 241.014342] [<c1200fa4>] (kernel_init_freeable) from [<c0c2119c>] (kernel_init+0x18/0x118)
[ 241.022646] [<c0c2119c>] (kernel_init) from [<c01074e8>] (ret_from_fork+0x14/0x2c)
[ 241.030250] Sending NMI to all CPUs:
[ 241.035199] NMI backtrace for cpu 0
[ 241.038728] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.194 #5
[ 241.044738] Hardware name: Generic DT based system
[ 241.049557] task: c130d480 task.stack: c1300000
[ 241.054088] PC is at arch_cpu_idle+0x2c/0x48
[ 241.058383] LR is at arch_cpu_idle+0x3c/0x48
[ 241.062660] pc : [<c0107dcc>] lr : [<c0107ddc>] psr: 60000013
[ 241.068954] sp : c1301f70 ip : c1301f80 fp : c1301f7c
[ 241.074180] r10: 00000000 r9 : c1306d74 r8 : c1264143
[ 241.079428] r7 : 00000000 r6 : c12b23e8 r5 : 00000000 r4 : 00000000
[ 241.085975] r3 : c0118b80 r2 : 00000000 r1 : 00000000 r0 : 00000001
[ 241.092502] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 241.099650] Control: 10c5387d Table: 0000406a DAC: 00000051
[ 241.105417] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.194 #5
[ 241.111426] Hardware name: Generic DT based system
[ 241.116241] [<c010fa88>] (unwind_backtrace) from [<c010b720>] (show_stack+0x20/0x24)
[ 241.123983] [<c010b720>] (show_stack) from [<c040c9ac>] (dump_stack+0x84/0xa0)
[ 241.131227] [<c040c9ac>] (dump_stack) from [<c010806c>] (show_regs+0x1c/0x20)
[ 241.138387] [<c010806c>] (show_regs) from [<c0410c54>] (nmi_cpu_backtrace+0x8c/0xd0)
[ 241.146151] [<c0410c54>] (nmi_cpu_backtrace) from [<c010e0e0>] (handle_IPI+0x220/0x29c)
[ 241.154159] [<c010e0e0>] (handle_IPI) from [<c01014a0>] (gic_handle_irq+0x88/0xa4)
[ 241.161747] [<c01014a0>] (gic_handle_irq) from [<c010c114>] (__irq_svc+0x54/0x70)
[ 241.169245] Exception stack(0xc1301f20 to 0xc1301f68)
[ 241.174305] 1f20: 00000001 00000000 00000000 c0118b80 00000000 00000000 c12b23e8 00000000
[ 241.182501] 1f40: c1264143 c1306d74 00000000 c1301f7c c1301f80 c1301f70 c0107ddc c0107dcc
[ 241.190708] 1f60: 60000013 ffffffff
[ 241.194207] [<c010c114>] (__irq_svc) from [<c0107dcc>] (arch_cpu_idle+0x2c/0x48)
[ 241.201625] [<c0107dcc>] (arch_cpu_idle) from [<c0168064>] (default_idle_call+0x38/0x3c)
[ 241.209739] [<c0168064>] (default_idle_call) from [<c0168340>] (cpu_startup_entry+0x278/0x344)
[ 241.218371] [<c0168340>] (cpu_startup_entry) from [<c0c2116c>] (rest_init+0x74/0x8c)
[ 241.226135] [<c0c2116c>] (rest_init) from [<c1200d20>] (start_kernel+0x3a8/0x418)
[ 241.233612] [<c1200d20>] (start_kernel) from [<0000807c>] (0x807c)
[ 241.239811] NMI backtrace for cpu 1
[ 241.243308] CPU: 1 PID: 29 Comm: khungtaskd Not tainted 4.4.194 #5
[ 241.249506] Hardware name: Generic DT based system
[ 241.254301] task: ee996580 task.stack: eebdc000
[ 241.258848] PC is at _raw_spin_unlock_irqrestore+0x20/0x24
[ 241.264338] LR is at _raw_spin_unlock_irqrestore+0x1c/0x24
[ 241.269851] pc : [<c0c25868>] lr : [<c0c25864>] psr: 600e0013
[ 241.276144] sp : eebdde40 ip : eebdde40 fp : eebdde54
[ 241.281371] r10: c13e6910 r9 : c13075ec r8 : c1307ff0
[ 241.286619] r7 : 600e0013 r6 : c1308020 r5 : 0000000f r4 : 600e0013
[ 241.293145] r3 : 00000455 r2 : 00000001 r1 : ee996580 r0 : c1355904
[ 241.299687] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 241.306847] Control: 10c5387d Table: 0a4c806a DAC: 00000051
[ 241.312592] CPU: 1 PID: 29 Comm: khungtaskd Not tainted 4.4.194 #5
[ 241.318790] Hardware name: Generic DT based system
[ 241.323585] [<c010fa88>] (unwind_backtrace) from [<c010b720>] (show_stack+0x20/0x24)
[ 241.331347] [<c010b720>] (show_stack) from [<c040c9ac>] (dump_stack+0x84/0xa0)
[ 241.338593] [<c040c9ac>] (dump_stack) from [<c010806c>] (show_regs+0x1c/0x20)
[ 241.345754] [<c010806c>] (show_regs) from [<c0410c54>] (nmi_cpu_backtrace+0x8c/0xd0)
[ 241.353497] [<c0410c54>] (nmi_cpu_backtrace) from [<c010e0e0>] (handle_IPI+0x220/0x29c)
[ 241.361519] [<c010e0e0>] (handle_IPI) from [<c01014a0>] (gic_handle_irq+0x88/0xa4)
[ 241.369113] [<c01014a0>] (gic_handle_irq) from [<c010c114>] (__irq_svc+0x54/0x70)
[ 241.376612] Exception stack(0xeebdddf0 to 0xeebdde38)
[ 241.381670] dde0: c1355904 ee996580 00000001 00000455
[ 241.389866] de00: 600e0013 0000000f c1308020 600e0013 c1307ff0 c13075ec c13e6910 eebdde54
[ 241.398061] de20: eebdde40 eebdde40 c0c25864 c0c25868 600e0013 ffffffff
[ 241.404673] [<c010c114>] (__irq_svc) from [<c0c25868>] (_raw_spin_unlock_irqrestore+0x20/0x24)
[ 241.413299] [<c0c25868>] (_raw_spin_unlock_irqrestore) from [<c0436838>] (gic_raise_softirq+0x70/0x90)
[ 241.422627] [<c0436838>] (gic_raise_softirq) from [<c010d6e8>] (smp_cross_call+0x94/0xcc)
[ 241.430823] [<c010d6e8>] (smp_cross_call) from [<c010d78c>] (raise_nmi+0x6c/0x70)
[ 241.438324] [<c010d78c>] (raise_nmi) from [<c0410a64>] (nmi_trigger_all_cpu_backtrace+0xc4/0x228)
[ 241.447231] [<c0410a64>] (nmi_trigger_all_cpu_backtrace) from [<c010e2d0>] (arch_trigger_all_cpu_backtrace+0x1c/0x24)
[ 241.457861] [<c010e2d0>] (arch_trigger_all_cpu_backtrace) from [<c01b2534>] (watchdog+0x32c/0x3a0)
[ 241.466843] [<c01b2534>] (watchdog) from [<c0139fc0>] (kthread+0x104/0x114)
[ 241.473804] [<c0139fc0>] (kthread) from [<c01074e8>] (ret_from_fork+0x14/0x2c)
[ 241.481048] NMI backtrace for cpu 2
[ 241.484546] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 4.4.194 #5
[ 241.490575] Hardware name: Generic DT based system
[ 241.495392] task: ee94cfc0 task.stack: ee978000
[ 241.499923] PC is at arch_cpu_idle+0x2c/0x48
[ 241.504197] LR is at arch_cpu_idle+0x3c/0x48
[ 241.508495] pc : [<c0107dcc>] lr : [<c0107ddc>] psr: 600e0013
[ 241.514768] sp : ee979fa8 ip : ee979fb8 fp : ee979fb4
[ 241.520015] r10: 00000000 r9 : c1306d74 r8 : 0000406a
[ 241.525263] r7 : c13e6300 r6 : c12b23e8 r5 : 00000000 r4 : 00000000
[ 241.531790] r3 : c0118b80 r2 : 00000000 r1 : 00000000 r0 : 00000001
[ 241.538337] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 241.545498] Control: 10c5387d Table: 0a51006a DAC: 00000051
[ 241.551243] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 4.4.194 #5
[ 241.557268] Hardware name: Generic DT based system
[ 241.562063] [<c010fa88>] (unwind_backtrace) from [<c010b720>] (show_stack+0x20/0x24)
[ 241.569826] [<c010b720>] (show_stack) from [<c040c9ac>] (dump_stack+0x84/0xa0)
[ 241.577072] [<c040c9ac>] (dump_stack) from [<c010806c>] (show_regs+0x1c/0x20)
[ 241.584211] [<c010806c>] (show_regs) from [<c0410c54>] (nmi_cpu_backtrace+0x8c/0xd0)
[ 241.591973] [<c0410c54>] (nmi_cpu_backtrace) from [<c010e0e0>] (handle_IPI+0x220/0x29c)
[ 241.600001] [<c010e0e0>] (handle_IPI) from [<c01014a0>] (gic_handle_irq+0x88/0xa4)
[ 241.607594] [<c01014a0>] (gic_handle_irq) from [<c010c114>] (__irq_svc+0x54/0x70)
[ 241.615072] Exception stack(0xee979f58 to 0xee979fa0)
[ 241.620151] 9f40: 00000001 00000000
[ 241.628348] 9f60: 00000000 c0118b80 00000000 00000000 c12b23e8 c13e6300 0000406a c1306d74
[ 241.636545] 9f80: 00000000 ee979fb4 ee979fb8 ee979fa8 c0107ddc c0107dcc 600e0013 ffffffff
[ 241.644721] [<c010c114>] (__irq_svc) from [<c0107dcc>] (arch_cpu_idle+0x2c/0x48)
[ 241.652135] [<c0107dcc>] (arch_cpu_idle) from [<c0168064>] (default_idle_call+0x38/0x3c)
[ 241.660243] [<c0168064>] (default_idle_call) from [<c0168340>] (cpu_startup_entry+0x278/0x344)
[ 241.668874] [<c0168340>] (cpu_startup_entry) from [<c010dc44>] (secondary_start_kernel+0x114/0x130)
[ 241.677937] [<c010dc44>] (secondary_start_kernel) from [<0010186c>] (0x10186c)
[ 241.685160] NMI backtrace for cpu 3
[ 241.688678] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 4.4.194 #5
[ 241.694686] Hardware name: Generic DT based system
[ 241.699500] task: ee94d700 task.stack: ee97a000
[ 241.704030] PC is at arch_cpu_idle+0x2c/0x48
[ 241.708339] LR is at arch_cpu_idle+0x3c/0x48
[ 241.712617] pc : [<c0107dcc>] lr : [<c0107ddc>] psr: 600e0013
[ 241.718914] sp : ee97bfa8 ip : ee97bfb8 fp : ee97bfb4
[ 241.724141] r10: 00000000 r9 : c1306d74 r8 : 0000406a
[ 241.729390] r7 : c13e6300 r6 : c12b23e8 r5 : 00000000 r4 : 00000000
[ 241.735940] r3 : c0118b80 r2 : 00000000 r1 : 00000000 r0 : 00000001
[ 241.742467] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 241.749626] Control: 10c5387d Table: 0a4e006a DAC: 00000051
[ 241.755390] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 4.4.194 #5
[ 241.761398] Hardware name: Generic DT based system
[ 241.766214] [<c010fa88>] (unwind_backtrace) from [<c010b720>] (show_stack+0x20/0x24)
[ 241.773956] [<c010b720>] (show_stack) from [<c040c9ac>] (dump_stack+0x84/0xa0)
[ 241.781200] [<c040c9ac>] (dump_stack) from [<c010806c>] (show_regs+0x1c/0x20)
[ 241.788361] [<c010806c>] (show_regs) from [<c0410c54>] (nmi_cpu_backtrace+0x8c/0xd0)
[ 241.796124] [<c0410c54>] (nmi_cpu_backtrace) from [<c010e0e0>] (handle_IPI+0x220/0x29c)
[ 241.804132] [<c010e0e0>] (handle_IPI) from [<c01014a0>] (gic_handle_irq+0x88/0xa4)
[ 241.811723] [<c01014a0>] (gic_handle_irq) from [<c010c114>] (__irq_svc+0x54/0x70)
[ 241.819222] Exception stack(0xee97bf58 to 0xee97bfa0)
[ 241.824281] bf40: 00000001 00000000
[ 241.832476] bf60: 00000000 c0118b80 00000000 00000000 c12b23e8 c13e6300 0000406a c1306d74
[ 241.840672] bf80: 00000000 ee97bfb4 ee97bfb8 ee97bfa8 c0107ddc c0107dcc 600e0013 ffffffff
[ 241.848867] [<c010c114>] (__irq_svc) from [<c0107dcc>] (arch_cpu_idle+0x2c/0x48)
[ 241.856278] [<c0107dcc>] (arch_cpu_idle) from [<c0168064>] (default_idle_call+0x38/0x3c)
[ 241.864369] [<c0168064>] (default_idle_call) from [<c0168340>] (cpu_startup_entry+0x278/0x344)
[ 241.872999] [<c0168340>] (cpu_startup_entry) from [<c010dc44>] (secondary_start_kernel+0x114/0x130)
[ 241.882064] [<c010dc44>] (secondary_start_kernel) from [<0010186c>] (0x10186c)
[ 241.889312] Kernel panic - not syncing: hung_task: blocked tasks
[ 241.895328] CPU: 1 PID: 29 Comm: khungtaskd Not tainted 4.4.194 #5
[ 241.901504] Hardware name: Generic DT based system
[ 241.906319] [<c010fa88>] (unwind_backtrace) from [<c010b720>] (show_stack+0x20/0x24)
[ 241.914073] [<c010b720>] (show_stack) from [<c040c9ac>] (dump_stack+0x84/0xa0)
[ 241.921312] [<c040c9ac>] (dump_stack) from [<c01eaa08>] (panic+0x98/0x200)
[ 241.928202] [<c01eaa08>] (panic) from [<c01b253c>] (watchdog+0x334/0x3a0)
[ 241.935005] [<c01b253c>] (watchdog) from [<c0139fc0>] (kthread+0x104/0x114)
[ 241.941976] [<c0139fc0>] (kthread) from [<c01074e8>] (ret_from_fork+0x14/0x2c)
[ 241.949212] CPU0: stopping
[ 241.951941] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.194 #5
[ 241.957949] Hardware name: Generic DT based system
[ 241.962764] [<c010fa88>] (unwind_backtrace) from [<c010b720>] (show_stack+0x20/0x24)
[ 241.970518] [<c010b720>] (show_stack) from [<c040c9ac>] (dump_stack+0x84/0xa0)
[ 241.977752] [<c040c9ac>] (dump_stack) from [<c010e088>] (handle_IPI+0x1c8/0x29c)
[ 241.985154] [<c010e088>] (handle_IPI) from [<c01014a0>] (gic_handle_irq+0x88/0xa4)
[ 241.992734] [<c01014a0>] (gic_handle_irq) from [<c010c114>] (__irq_svc+0x54/0x70)
[ 242.000211] Exception stack(0xc1301f20 to 0xc1301f68)
[ 242.005277] 1f20: 00000001 00000000 00000000 c0118b80 00000000 00000000 c12b23e8 00000000
[ 242.013461] 1f40: c1264143 c1306d74 00000000 c1301f7c c1301f80 c1301f70 c0107ddc c0107dcc
[ 242.021637] 1f60: 60000013 ffffffff
[ 242.025143] [<c010c114>] (__irq_svc) from [<c0107dcc>] (arch_cpu_idle+0x2c/0x48)
[ 242.032548] [<c0107dcc>] (arch_cpu_idle) from [<c0168064>] (default_idle_call+0x38/0x3c)
[ 242.040649] [<c0168064>] (default_idle_call) from [<c0168340>] (cpu_startup_entry+0x278/0x344)
[ 242.049270] [<c0168340>] (cpu_startup_entry) from [<c0c2116c>] (rest_init+0x74/0x8c)
[ 242.057024] [<c0c2116c>] (rest_init) from [<c1200d20>] (start_kernel+0x3a8/0x418)
[ 242.064509] [<c1200d20>] (start_kernel) from [<0000807c>] (0x807c)
[ 242.070689] CPU3: stopping
[ 242.073419] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 4.4.194 #5
[ 242.079427] Hardware name: Generic DT based system
[ 242.084239] [<c010fa88>] (unwind_backtrace) from [<c010b720>] (show_stack+0x20/0x24)
[ 242.091994] [<c010b720>] (show_stack) from [<c040c9ac>] (dump_stack+0x84/0xa0)
[ 242.099229] [<c040c9ac>] (dump_stack) from [<c010e088>] (handle_IPI+0x1c8/0x29c)
[ 242.106629] [<c010e088>] (handle_IPI) from [<c01014a0>] (gic_handle_irq+0x88/0xa4)
[ 242.114210] [<c01014a0>] (gic_handle_irq) from [<c010c114>] (__irq_svc+0x54/0x70)
[ 242.121687] Exception stack(0xee97bf58 to 0xee97bfa0)
[ 242.126748] bf40: 00000001 00000000
[ 242.134929] bf60: 00000000 c0118b80 00000000 00000000 c12b23e8 c13e6300 0000406a c1306d74
[ 242.143112] bf80: 00000000 ee97bfb4 ee97bfb8 ee97bfa8 c0107ddc c0107dcc 600e0013 ffffffff
[ 242.151298] [<c010c114>] (__irq_svc) from [<c0107dcc>] (arch_cpu_idle+0x2c/0x48)
[ 242.158703] [<c0107dcc>] (arch_cpu_idle) from [<c0168064>] (default_idle_call+0x38/0x3c)
[ 242.166805] [<c0168064>] (default_idle_call) from [<c0168340>] (cpu_startup_entry+0x278/0x344)
[ 242.175422] [<c0168340>] (cpu_startup_entry) from [<c010dc44>] (secondary_start_kernel+0x114/0x130)
[ 242.184471] [<c010dc44>] (secondary_start_kernel) from [<0010186c>] (0x10186c)
[ 242.191697] CPU2: stopping
[ 242.194426] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 4.4.194 #5
[ 242.200435] Hardware name: Generic DT based system
[ 242.205249] [<c010fa88>] (unwind_backtrace) from [<c010b720>] (show_stack+0x20/0x24)
[ 242.213005] [<c010b720>] (show_stack) from [<c040c9ac>] (dump_stack+0x84/0xa0)
[ 242.220240] [<c040c9ac>] (dump_stack) from [<c010e088>] (handle_IPI+0x1c8/0x29c)
[ 242.227640] [<c010e088>] (handle_IPI) from [<c01014a0>] (gic_handle_irq+0x88/0xa4)
[ 242.235220] [<c01014a0>] (gic_handle_irq) from [<c010c114>] (__irq_svc+0x54/0x70)
[ 242.242697] Exception stack(0xee979f58 to 0xee979fa0)
[ 242.247757] 9f40: 00000001 00000000
[ 242.255939] 9f60: 00000000 c0118b80 00000000 00000000 c12b23e8 c13e6300 0000406a c1306d74
[ 242.264121] 9f80: 00000000 ee979fb4 ee979fb8 ee979fa8 c0107ddc c0107dcc 600e0013 ffffffff
[ 242.272306] [<c010c114>] (__irq_svc) from [<c0107dcc>] (arch_cpu_idle+0x2c/0x48)
[ 242.279710] [<c0107dcc>] (arch_cpu_idle) from [<c0168064>] (default_idle_call+0x38/0x3c)
[ 242.287812] [<c0168064>] (default_idle_call) from [<c0168340>] (cpu_startup_entry+0x278/0x344)
[ 242.296431] [<c0168340>] (cpu_startup_entry) from [<c010dc44>] (secondary_start_kernel+0x114/0x130)
[ 242.305479] [<c010dc44>] (secondary_start_kernel) from [<0010186c>] (0x10186c)
[ 242.312704] CRU:
[ 242.314569] 00000000: 00000b01 9fff03e7 0fff01f3 00000008 00000001 9fff0020 0fff000f 00000008
[ 242.323105] 00000020: 00000b03 800002ff 0000017f 00000008 00000b01 9fff0251 0fff0128 00000008
[ 242.331640] 00000040: 00000b00 9fff0270 ffffffff 00000008 00005011 00000000 00000000 00000000
[ 242.340175] 00000060: 00004131 0000b108 00000006 00000200 00008300 00000200 00008383 0bb8ea60
[ 242.348709] 00000080: 0bb8ea60 0bb8ea60 0000a101 0000279d 00004580 00000200 00000200 00000200
[ 242.357244] 000000a0: 00000200 0bb8ea60 0bb8ea60 0bb8ea60 0bb8ea60 00000b10 00000900 001f05dc
[ 242.365779] 000000c0: 00001701 00000707 00000e40 00000701 00008203 00000702 00004141 00004140
[ 242.374313] 000000e0: 00000101 00001717 00008042 00000303 00000000 00000633 000083e3 00008307
[ 242.382847] 00000100: 00003200 0bb8ea60 00004141 00000000 00000000 00000000 00000000 00000000
[ 242.391379] 00000120: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 242.399912] 00000140: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 242.408445] 00000160: 00000000 00000000 00000080 0000c01a 00000000 00000080 00002108 00000004
[ 242.416978] 00000180: 00000018 00000000 00000008 00000400 00000000 00000013 000001fe 00000003
[ 242.425511] 000001a0: 00000000 00000000 00000001 00000000 00000000 00000000 00000000 00000000
[ 242.434044] 000001c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 242.442577] 000001e0: 00000000 00000000 00000000 00640064 00000000 00000000 00000000 00000000
[ 242.451108] 00000200: 00000002 00000000 00000002 00000000 00000002 00000000 00000004
[ 242.458847] PMU:
[ 242.460707] 00000000: 00000000 00000000 00000200 00000200 00000004 00000004 00000000 80000001
[ 242.469241] 00000020: 00005dc0 10004000 00005dc0 00005dc0 00005dc0 00000018 00000018 00000018
[ 242.477774] 00000040: 00000018 00005dc0 00000000 0000000f 00000000 020e0000 00000000 00000008
[ 242.486307] 00000060: 00020000 00004552 000048a5 00000019 0000555a 00005555 00000015 00000000
[ 242.494840] 00000080: 00000006 00000004 00000000 00000000 00000000 5242c300 00000000 32817281
[ 242.503372] 000000a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 242.511905] 000000c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 242.520437] 000000e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 242.548631] ---[ end Kernel panic - not syncing: hung_task: blocked tasks
[ 252.355247] ------------[ cut here ]------------
[ 252.359894] WARNING: CPU: 1 PID: 29 at kernel/watchdog.c:352 watchdog_timer_fn+0x164/0x340()
[ 252.368332] Watchdog detected hard LOCKUP on cpu 2
[ 252.372954] Modules linked in:
[ 252.376234] CPU: 1 PID: 29 Comm: khungtaskd Not tainted 4.4.194 #5
[ 252.382410] Hardware name: Generic DT based system
[ 252.387223] [<c010fa88>] (unwind_backtrace) from [<c010b720>] (show_stack+0x20/0x24)
[ 252.394978] [<c010b720>] (show_stack) from [<c040c9ac>] (dump_stack+0x84/0xa0)
[ 252.402216] [<c040c9ac>] (dump_stack) from [<c011d3cc>] (warn_slowpath_common+0x98/0xc4)
[ 252.410315] [<c011d3cc>] (warn_slowpath_common) from [<c011d438>] (warn_slowpath_fmt+0x40/0x48)
[ 252.419021] [<c011d438>] (warn_slowpath_fmt) from [<c01b2d34>] (watchdog_timer_fn+0x164/0x340)
[ 252.427645] [<c01b2d34>] (watchdog_timer_fn) from [<c018a024>] (__hrtimer_run_queues+0x1bc/0x31c)
[ 252.436529] [<c018a024>] (__hrtimer_run_queues) from [<c018a7f8>] (hrtimer_interrupt+0xac/0x1f8)
[ 252.445321] [<c018a7f8>] (hrtimer_interrupt) from [<c08ee820>] (arch_timer_handler_phys+0x38/0x48)
[ 252.454292] [<c08ee820>] (arch_timer_handler_phys) from [<c017ac4c>] (handle_percpu_devid_irq+0xd4/0x1a8)
[ 252.463864] [<c017ac4c>] (handle_percpu_devid_irq) from [<c0176500>] (generic_handle_irq+0x28/0x38)
[ 252.472916] [<c0176500>] (generic_handle_irq) from [<c017685c>] (__handle_domain_irq+0xb0/0xc4)
[ 252.481619] [<c017685c>] (__handle_domain_irq) from [<c0101478>] (gic_handle_irq+0x60/0xa4)
[ 252.489969] [<c0101478>] (gic_handle_irq) from [<c010c114>] (__irq_svc+0x54/0x70)
[ 252.497446] Exception stack(0xeebdde10 to 0xeebdde58)
[ 252.502508] de00: eebdde9c 00000001 fd640800 c08ee770
[ 252.510693] de20: eebdde9c 00005dbf 000025e4 00002648 00000003 c13555d4 066665b0 eebdde6c
[ 252.518874] de40: eebdde70 eebdde60 c010ee40 c08ee780 a00e0013 ffffffff
[ 252.525495] [<c010c114>] (__irq_svc) from [<c08ee780>] (arch_counter_get_cntpct+0x10/0x18)
[ 252.533767] [<c08ee780>] (arch_counter_get_cntpct) from [<c010ee40>] (arch_timer_read_counter_long+0x20/0x28)
[ 252.543688] [<c010ee40>] (arch_timer_read_counter_long) from [<c040a820>] (read_current_timer+0x30/0x48)
[ 252.553172] [<c040a820>] (read_current_timer) from [<c040a870>] (__timer_delay+0x38/0x5c)
[ 252.561357] [<c040a870>] (__timer_delay) from [<c040a8c0>] (__timer_const_udelay+0x2c/0x34)
[ 252.569712] [<c040a8c0>] (__timer_const_udelay) from [<c01eab3c>] (panic+0x1cc/0x200)
[ 252.577551] [<c01eab3c>] (panic) from [<c01b253c>] (watchdog+0x334/0x3a0)
[ 252.584354] [<c01b253c>] (watchdog) from [<c0139fc0>] (kthread+0x104/0x114)
[ 252.591324] [<c0139fc0>] (kthread) from [<c01074e8>] (ret_from_fork+0x14/0x2c)
[ 252.598548] ---[ end trace 3bc3e2b7d8dc35f2 ]---

于是我又拿这些信息去网上不停的搜,最后又得出一个猜测——可能是内核有问题!

因为这是 Firefly 提供的 SDK,我觉得内核肯定是不会有问题的,所以我之前压根没往这方面想过。

但是结合之前 rkbin 的问题,我又打算试一下,升级一下内核。

在 Github 找到了瑞芯微官方的 Linux Kernel。

https://github.com/rockchip-linux/kernel/

但是这个实在太慢了!受不了!

于是我又去 Gitee 上找。

最后随便选了一个 5.10 内核的。

https://gitee.com/best-embed/rockchip-linux-5.10.198

将这个下载下来,替换掉 SDK 目录的 Kernel。

然后重新编译,报错,发现是下载的这个 Kernel 的 Makefile 没有配置 GCC 编译器。

参考原来 SDK 中 Kernel 的 Makefile 配置,在当前这个 Makefile 的 391 行位置加上如下 GCC 相关配置即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ARCH            ?= arm64
ARCH ?= $(SUBARCH)
ifeq ($(ARCH),arm64)
ifneq ($(wildcard $(srctree)/../prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu),)
CROSS_COMPILE ?= $(srctree)/../prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
endif
ifneq ($(wildcard $(srctree)/../prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9),)
CROSS_COMPILE ?= $(srctree)/../prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-
endif
endif
ifeq ($(ARCH),arm)
ifneq ($(wildcard $(srctree)/../prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf),)
CROSS_COMPILE ?= $(srctree)/../prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
endif
ifneq ($(wildcard $(srctree)/../prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9),)
CROSS_COMPILE ?= $(srctree)/../prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androidkernel-
endif
endif
CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)

继续编译,还是报错,提示缺失 mpc.hgmp.h

安装对应的包就好了,apt-get install libmpc-devapt-get install libgmp-dev

安装完继续编译,编译没问题了,但是最后一步打包报错,发现是 Python 版本低。

参考 https://blog.csdn.net/weixin_41862761/article/details/103890774 升级了一下 Python,这次终于编译打包成功。

这次编译,我还是用的 BoardConfig-rk3288-evb-rk808.mk 这个板型配置,并且 dts 文件是这个 5.10 内核中自带的未经修改的 dts 文件。

将编译好的固件刷入板子。

这次居然启动成功了!并且 HDMI 能显示,网口能正常驱动!

我特么之前改了那么久 dts,结果现在告诉我,dts 不用改?问题出在 kernel 版本?一口老血差点吐出来。

不过 HDMI 虽然能显示,但是有点问题。

要先开机再接显示器,才能正常显示。不能在未开机之前先接好显示器,否则不显示。

并且 USB 口也没能正常驱动。

8. 编译 Ubuntu

上面终于编译成功了,但是是 buildroot 的固件,没法 apt 安装软件。

于是我打算编译一个 Ubuntu 的固件。

参考 Firefly 文档,下载 Ubuntu 的镜像并解压到 SDK 的目录。

然后仿照 firefly-rk3288-ubuntu.mk,编写自己的 tvi3001u.mk。

内容如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash

CMD=`realpath $BASH_SOURCE`
CUR_DIR=`dirname $CMD`

source $CUR_DIR/BoardConfig.mk

# Uboot defconfig
export RK_UBOOT_DEFCONFIG=rk3288
# Kernel defconfig
export RK_KERNEL_DEFCONFIG=rockchip_linux_defconfig
# Kernel dts
export RK_KERNEL_DTS=rk3288-evb-rk808-linux
# PRODUCT MODEL
export RK_PRODUCT_MODEL=FIREFLY_RK3288
# parameter for GPT table
export RK_PARAMETER=parameter-ubuntu.txt
# packagefile for pack image files
export RK_PACKAGE_FILE=rk3288-ubuntu-package-file

# Set rootfs type, including ext2 ext4 squashfs
export RK_ROOTFS_TYPE=ext4
# rootfs image path
export RK_ROOTFS_IMG=ubuntu_rootfs/rk3288_ubuntu_rootfs.img
# recovery ramdisk
export RK_RECOVERY_RAMDISK=recovery-arm.cpio.gz

# Buildroot config
export RK_CFG_BUILDROOT=
# Recovery config
export RK_CFG_RECOVERY=
#OEM config
export RK_OEM_DIR=
#userdata config
export RK_USERDATA_DIR=
# rootfs_system
export RK_ROOTFS_SYSTEM=ubuntu

其中 ubuntu_rootfs/rk3288_ubuntu_rootfs.img 就是 ubuntu 镜像的位置。

我下载了 Firefly RK3288 Ubuntu 16 的镜像,解压后,被我重命名为 rk3288_ubuntu_rootfs.img 并放到了 SDK 的 ubuntu_rootfs 目录下,所以位置就是这个。

至于 dts 文件还是直接用 rk3288-evb-rk808-linux.dts。

编译完成后刷入,一样启动正常!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
Welcome to Ubuntu 16.04.5 LTS!

[ 8.320124] systemd[1]: Set hostname to <firefly>.
[ 8.359073] random: systemd: uninitialized urandom read (16 bytes read)
[ 8.371934] random: systemd-gpt-aut: uninitialized urandom read (16 bytes read)
[ 9.071877] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[ OK ] Listening on /dev/initctl Compatibility Named Pipe.
[ 9.080585] systemd[1]: Reached target Swap.
[ OK ] Reached target Swap.
[ 9.090530] systemd[1]: Reached target Remote File Systems (Pre).
[ OK ] Reached target Remote File Systems (Pre).
[ 9.100563] systemd[1]: Listening on udev Kernel Socket.
[ OK ] Listening on udev Kernel Socket.
[ 9.111912] systemd[1]: Created slice System Slice.
[ OK ] Created slice System Slice.
[ 9.121026] systemd[1]: Reached target User and Group Name Lookups.
[ OK ] Reached target User and Group Name Lookups.
[ 9.141698] systemd[1]: Listening on Syslog Socket.
[ OK ] Listening on Syslog Socket.
[ OK ] Started Forward Password Requests to Wall Directory Watch.
[ OK ] Listening on udev Control Socket.
[ OK ] Reached target Encrypted Volumes.
[ OK ] Created slice system-serial\x2dgetty.slice.
[ OK ] Listening on Journal Socket.
Starting Set console keymap...
Starting Create Static Device Nodes in /dev...
Starting Remount Root and Kernel File Systems...
Starting Load Kernel Modules...
[ OK ] Created slice User and Session Slice.
Mounting Debug File System...
[ OK ] Listening on Journal Socket (/dev/log).
Starting Journal Service...
[ OK ] Reached target Slices.
[ OK ] Reached target Remote File Systems.
[ OK ] Started Remount Root and Kernel File Systems.
[ OK ] Started Load Kernel Modules.
Mounting FUSE Control File System...
Starting Apply Kernel Variables...
Mounting Configuration File System...
Starting Load/Save Random Seed...
Starting udev Coldplug all Devices...
[ 9.282254] random: systemd-sysctl: uninitialized urandom read (16 bytes read)
[ 9.287367] random: systemd-journal: uninitialized urandom read (16 bytes read)
[ 9.289639] random: systemd-random-: uninitialized urandom read (512 bytes read)
[ OK ] Mounted FUSE Control File System.
[ OK ] Mounted Debug File System.
[ OK ] Mounted Configuration File System.
[ OK ] Started Set console keymap.
[ OK ] Started Create Static Device Nodes in /dev.
[ OK ] Started Apply Kernel Variables.
[ OK ] Started Load/Save Random Seed.
[ OK ] Started Journal Service.
Starting Flush Journal to Persistent Storage...
Starting udev Kernel Device Manager...
[ OK ] Reached target Local File Systems (Pre).
[ OK ] Reached target Local File Systems.
Starting Set console font and keymap...
Starting Tell Plymouth To Write Out Runtime Data...
Starting Raise network interfaces...
[ OK ] Started Tell Plymouth To Write Out Runtime Data.
[ OK ] Started Flush Journal to Persistent Storage.
Starting Create Volatile Files and Directories...
[ OK ] Started udev Coldplug all Devices.
[ OK ] Started Create Volatile Files and Directories.
Starting Update UTMP about System Boot/Shutdown...
Starting Network Time Synchronization...
[ OK ] Started udev Kernel Device Manager.
[ OK ] Started Update UTMP about System Boot/Shutdown.
[ OK ] Started Network Time Synchronization.
[ OK ] Reached target System Time Synchronized.
[ OK ] Reached target System Initialization.
[ OK ] Listening on D-Bus System Message Bus Socket.
[ OK ] Started Daily apt download activities.
[ OK ] Started Daily apt upgrade and clean activities.
[ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[ OK ] Reached target Sockets.
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Reached target Timers.
[ OK ] Started Dispatch Password Requests to Console Directory Watch.
[ OK ] Reached target Paths.
[ OK ] Reached target Basic System.
Starting Modem Manager...
Starting LSB: Set the CPU Frequency Scaling governor to "ondemand"...
Starting Permit User Sessions...
Starting System Logging Service...
Starting Accounts Service...
Starting Login Service...
Starting Avahi mDNS/DNS-SD Stack...
[ OK ] Started Regular background program processing daemon.
Starting Restore /etc/resolv.conf i...re the ppp link was shut down...
[ OK ] Started D-Bus System Message Bus.
[ OK ] Started Avahi mDNS/DNS-SD Stack.
Starting Network Manager...
[ OK ] Started System Logging Service.
[ OK ] Started Set console font and keymap.
[ OK ] Started Permit User Sessions.
[ OK ] Started Restore /etc/resolv.conf if...fore the ppp link was shut down.
[ OK ] Started Raise network interfaces.
[ OK ] Started LSB: Set the CPU Frequency Scaling governor to "ondemand".
[ OK ] Found device /dev/ttyFIQ0.
[ OK ] Started Login Service.
Starting Authenticate and Authorize Users to Run Privileged Tasks...
[ OK ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
[ OK ] Created slice system-systemd\x2dbacklight.slice.
Starting Load/Save Screen Backlight...htness of backlight:backlight...
Starting Light Display Manager...
[ OK ] Created slice system-getty.slice.
Starting Load/Save RF Kill Switch Status...
[ OK ] Started Load/Save Screen Backlight Brightness of backlight:backlight.
[ OK ] Started Authenticate and Authorize Users to Run Privileged Tasks.
[ OK ] Started Accounts Service.
Starting Network Manager Script Dispatcher Service...
[ OK ] Started Network Manager Script Dispatcher Service.
[ OK ] Started Modem Manager.
Starting Hostname Service...
[FAILED] Failed to start Hostname Service.
See 'systemctl status systemd-hostnamed.service' for details.
[ OK ] Started Load/Save RF Kill Switch Status.
Starting bluetooth-toggle...
[ OK ] Started Light Display Manager.
[ OK ] Started bluetooth-toggle.
[ 11.411952] rockchip-dp ff970000.dp: failed to read max link rate
[ 11.442239] rockchip-dp ff970000.dp: failed to read max link rate
[ OK ] Created slice User Slice of firefly.
Starting User Manager for UID 1000...
[ OK ] Started Session c1 of user firefly.
[ OK ] Started User Manager for UID 1000.
Starting RealtimeKit Scheduling Policy Service...
[FAILED] Failed to start RealtimeKit Scheduling Policy Service.
See 'systemctl status rtkit-daemon.service' for details.
Starting Disk Manager...
[ OK ] Started Disk Manager.
Starting Bluetooth service...
[ OK ] Started Bluetooth service.
[ OK ] Started Network Manager.
[ OK ] Reached target Network.
Starting /etc/rc.local Compatibility...
Starting OpenBSD Secure Shell server...
[ OK ] Started /etc/rc.local Compatibility.
Starting Hold until boot process finishes up...
[ OK ] Started Hold until boot process finishes up.
[ OK ] Started Serial Getty on ttyFIQ0.
Starting Set console scheme...
[ OK ] Started Getty on tty1.
[ OK ] Reached target Login Prompts.
[ OK ] Started Set console scheme.
[ OK ] Started OpenBSD Secure Shell server.
[ OK ] Reached target Multi-User System.
[ OK ] Reached target Graphical Interface.
Starting Update UTMP about System Runlevel Changes...
[ OK ] Started Update UTMP about System Runlevel Changes.

Ubuntu 16.04.5 LTS firefly ttyFIQ0

firefly login: root (automatic login)

Last login: Thu Feb 11 16:28:28 UTC 2016 on ttyFIQ0
Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 5.10.198+ armv7l)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
root@firefly:~#

看到这个 Welcome to Ubuntu 16.04.5 LTS! 别提有多开心了。

并且 HDMI 可以显示,但是和 Buildroot 一样有问题。

USB 口也没正常驱动。

但是网口正常,可以自由安装软件。

写在最后

说实话,折腾这个板子是真的折腾的心累。

不过我的运气也还算好了,升级 kernel 后用 SDK 自带的配置编译得到的固件刚好能用。

都不需要修改设备树或者移植驱动,免去了很多麻烦。

网上关于怎么直接移植一块 RK3288 板子固件的资料和教程,可以说是几乎没有。

搜到的教程,用到的板子几乎都是那些正经开发板,所以是直接基于开发板官方 SDK 来编译的。

所以当我编译出的固件无法使用时,我压根不知道问题所在,一味地以为是 dts 的问题,最后发现不是。

所以我写下这篇文章。

一来记录一下,要是以后自己忘了,还能捡起来看。

二来是希望这篇文章能帮助他其他喜欢玩板子,想折腾板子的网友。

也希望各位大佬能不吝分享,编译出一些好玩的固件,分享出来、写下一些教程,帮助想要玩板子的新人。

希望这些本该退休的板子,也能在别的地方,发挥出它的作用。


——end——