Firefly开源社区

标题: 请教:rk3288 android6.0 移植,内核无法启动 [打印本页]

作者: yubang    时间: 2017-4-19 17:47
标题: 请教:rk3288 android6.0 移植,内核无法启动
各位好。

我手头上有一块firefly 3288 reload 板子(pmic用的是act8846), 还有一块自己做的3288 板子(pmic用的是rk818)。

1)
然后我尝试把android6.0移植到我的3288板子上。
一开始时,编译出各个映像,下载到firefly3288 reload板子中,板子能够正常启动,运行到android主界面。

然后在这个基础上,我改动dts文件,增加rk818的相应部分(针对我自己的rk3288板子),重新编译,把映像下载到板子中,运行,发现板子启动后,从uboot跳转到kernel,没打印多少东西,系统就挂了,打印如下:
Starting kernel ...

<hit enter to activate fiq debugger>
[    0.000000] Booting Linux on physical CPU 0x500
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0 (david@david) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #1 SMP PREEMPT Wed Nov 2 19:01:08 CST 2016
[    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: Rockchip RK3288 (Flattened Device Tree), model: rockchip,rk3288
[    0.000000] rockchip_uboot_logo_setup: mem: 0x02000000@0x7dc00000, offset:0x01000000
[    0.000000] rockchip_uboot_mem_reserve: reserve 0x02000000@0x7dc00000 for uboot logo
[    0.000000] rockchip_ion_reserve
[    0.000000] ion heap(drm): base(0) size(0) align(0)
[    0.000000] ion heap(cma): base(0) size(28000000) align(0)
[    0.000000] ion heap(vmalloc): base(0) size(0) align(0)
0] o eapvaloc:bse()sze()aign

尝试查找问题所在,没找到原因,请教下各位,有3288上移植调试android6.0的吗? 上面的问题,可能是哪方面的原因?

2)
另外,在我的板子中下载android6.0的相应固件时,如果我单独下载kernel.img映像,发现虽然下载是成功了,但是当我重启板子时,发现内核还是老的(旧的,从打印的编译时间看出);(试了几次都这样的情况)
而当我更新的的是update.img时,重启看到的内核则是新的。

关于这个问题,为什么会这样呢? 请问有也遇到的朋友吗? 这可能是什么问题?

我目前用的parameter文件,内容为: (android6.0)
FIRMWARE_VER:6.0.0
MACHINE_MODEL:rk3288
MACHINE_ID:007
MANUFACTURER:RK3288
MAGIC: 0x5041524B
ATAG: 0x60000800
MACHINE: 3288
CHECK_MASK: 0x80
PWR_HLD: 0,0,A,0,1
CMDLINE:console=ttyFIQ0 androidboot.baseband=N/A androidboot.selinux=permissive androidboot.hardware=rk30board androidboot.console=ttyFIQ0 init=/init initrd=0x62000000,0x00800000 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),0x00100000@0x00092000(system),0x00008000@0x00192000(metadata),0x00020000@0x0039A000(radical_update),-@0x003BA000(userdata)


另外,在用android5.1时,我把同样的固件烧写到firefly3288 reload 和我的3288板子,都能正常运行。

以上的两个问题, 请教下有了解的朋友,谢谢。


作者: yubang    时间: 2017-4-24 10:55
自己结贴
我遇到的这个问题,我通过尝试后,发现是kernel的问题;
然后对比android5.1和android6.0的内核代码,在rk818的驱动上,有一些差异,于是改动android6.0的rk818的驱动,改为与android5.1的相同;
更新内核,上面的问题解决,能够正常启动;

对于android6.0中的rk818的驱动的更新,目前还没去了解为什么差异的部分映像内核的启动。


作者: yubang    时间: 2017-4-24 17:24
以下这个连接,也是跟我发的帖子同样的问题,这个帖子的网友,解决了这个问题:
http://blog.csdn.net/kris_fei/article/category/6525950/1


作者: anbot    时间: 2017-5-9 14:06
大家android 6.0 的代码在哪里下载的
作者: 小默jiang    时间: 2017-9-12 16:08
开机log.zip (1 KB, 下载次数: 0)

我现在遇到开机一直停留在   Starting kernel ...
请教下楼主,这个是什么原因



作者: 小默jiang    时间: 2017-9-12 16:11
回答下: kernel.img  没有更新
应该是 boot.img  带有 kernel.img  ,优先执行 boot.img
编译时  ./mkimage.sh            不带kernel.img
             ./mkimage.sh ota      带 kernel.img






欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1