Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

重新编译内核,打包成linux-boot.img烧写进去后无法启动

96

积分

0

威望

0

贡献

游客

积分
96

重新编译内核,打包成linux-boot.img烧写进去后无法启动

发表于 2016-7-8 19:43:30      浏览:23058 | 回复:12        打印      只看该作者   [复制链接] 楼主
hi,
   我需要在rk3288上跑Ubuntu,烧写了Firefly-RK3288_Ubuntu14.04_201512031755.img固件,可以正常工作。
   后来我拿官方的android4.4 sdk自带的内核源码(完全没做任何改动),编译出zImage。
   用上面的ubuntu系统固件,根据手册说明解压出linux-boot.img,根据说明,这个linux-boot.img应该包含了内核镜像和ramdisk文件系统,我再把linux-boot.img解压出来,得到linux-boot.img-zImage和linux-boot.img-ramdisk.gz。我用自己编译的zImage替换掉linux-boot.img-zImage,重新打包生成linux-boot.img,再烧写进板子,发觉内核无法启动,一直停留在
Starting kernel ...
假如我烧写android固件Firefly-RK3288_Android4.4_201602251453.img,并用同一份内核代码编译出来的kernel,img替换掉这个固件的kernel,系统是可以正常启动的。

我用来解压和打包linux-boot.img的命令为
unpackbootimg -i linux-boot.img
mkbootimg --kernel linux-boot.img-zImage --ramdisk linux-boot.img-ramdisk.gz -o linux-boot.img


请问为何会出现这样的问题,有人遇见过的吗?
回复

使用道具 举报

600

积分

21

威望

25

贡献

技术大神

Rank: 3Rank: 3

积分
600

活跃会员

发表于 2016-7-9 09:34:24        只看该作者  沙发
可以试一下按wiki里写的编译打包:
http://wiki.t-firefly.com/index. ... B.E5.BB.BA_boot.img
回复

使用道具 举报

96

积分

0

威望

0

贡献

游客

积分
96
发表于 2016-7-10 11:32:01        只看该作者  板凳
linjc 发表于 2016-7-9 09:34
可以试一下按wiki里写的编译打包:
http://wiki.t-firefly.com/index.php/Firefly-RK3288/Build_kernel#.E ...

也试过,同样会停留在start kernel...这里
回复

使用道具 举报

600

积分

21

威望

25

贡献

技术大神

Rank: 3Rank: 3

积分
600

活跃会员

发表于 2016-7-11 09:39:15        只看该作者  地板
本帖最后由 linjc 于 2016-7-11 09:40 编辑
gyfkyu 发表于 2016-7-10 11:32
也试过,同样会停留在start kernel...这里

有没试过用自己编译的initrd.img 和zImage
然后这样打包:
mkbootimg --kernel arch/arm/boot/zImage --ramdisk initrd.img -o boot.img还有,parameter没有重新烧过吧?用的是android4.4 sdk里面的parameter?
回复

使用道具 举报

96

积分

0

威望

0

贡献

游客

积分
96
发表于 2016-7-11 10:18:38        只看该作者  5#
linjc 发表于 2016-7-11 09:39
有没试过用自己编译的initrd.img 和zImage
然后这样打包:
mkbootimg --kernel arch/arm/boot/zImage - ...

你说的方法也试过,parameter当然没用android的。
我先烧写自带的ubuntu固件,再烧写boot.img,所以parameter没修改过,都是用自带ubuntu固件的parameter。
回复

使用道具 举报

96

积分

0

威望

0

贡献

游客

积分
96
发表于 2016-7-11 10:36:16        只看该作者  6#
怀疑我的编译环境环境有问题,所有工具和glibc库重新安装一遍试试。
回复

使用道具 举报

600

积分

21

威望

25

贡献

技术大神

Rank: 3Rank: 3

积分
600

活跃会员

发表于 2016-7-11 11:01:53        只看该作者  7#
gyfkyu 发表于 2016-7-11 10:36
怀疑我的编译环境环境有问题,所有工具和glibc库重新安装一遍试试。

环境应该没问题吧。。。
android5.1 sdk的parameter跟androi4.4 sdk的parameter不一样的,这个注意一下
其他的就没想到有什么问题了,有根据wiki的步骤做过,没发现你这样的问题。。。
回复

使用道具 举报

96

积分

0

威望

0

贡献

游客

积分
96
发表于 2016-7-11 11:32:00        只看该作者  8#
OK,已解决。
原因有两:
1:我用的64位ubuntu12.04系统来开发,没有apt-get install libc6:i386安装glibc32位对应的库,导致mkbooting打包出来的文件在板子上解压内核的时候估计出问题。
2:我之前用android4.4 sdk自带的内核源码来编译出的内核镜像,加上自带ubuntu固件解压出来的ramdisk包来制作boot.img,内核启动后貌似一些模块驱动加载不成功。
最终按照http://wiki.t-firefly.com/index. ... B.E5.BB.BA_boot.img的所有步骤来,重新下载单独的内核源码和initrd源码,重新编译并最终生成boot.img,加上自带ubuntu固件里面的paramter文件,系统最终才启动成功。
回复

使用道具 举报

63

积分

0

威望

0

贡献

技术小白

积分
63
发表于 2016-10-18 11:51:17        只看该作者  9#
请问按照http://wiki.t-firefly.com/index. ... B.E5.BB.BA_boot.img的步骤中,如果直接用解压出来的根文件系统,是不是编译内核模块那一步不要做了?
回复

使用道具 举报

29

积分

0

威望

0

贡献

游客

积分
29
发表于 2016-11-3 11:35:30        只看该作者  10#
U-Boot 2014.10-RK3288-10-g65679f1 (Jul 20 2015 - 10:28:11)

CPU: rk3288
CPU's clock information:
    arm pll = 600000000HZ
    periph pll = 300000000HZ
    ddr pll = 200000000HZ
    codec pll = 594000000HZ
Board:        Rockchip platform Board
DRAM:  Found dram banks:1
Adding bank:0000000000000000(0000000080000000)
128 MiB
remotectl v0.1
storage init OK!
Using default environment

GetParam
check parameter success
failed to prepare fdt from boot!
power key: bank-0 pin-5
can't find dts node for ricoh619
pmic:act8846
Can't find dts node for fuel guage cw201x
SecureBootEn = 0, SecureBootLock = 0

#Boot ver: 2015-07-20#2.19
empty serial no.
checkKey
vbus = 1
board_fbt_key_pressed: ir_keycode = 0x0, frt = 0
no fuel gauge found
no fuel gauge found
read logo_on switch from dts [0]
no fuel gauge found
checkKey
vbus = 1
board_fbt_key_pressed: ir_keycode = 0x0, frt = 0
got recovery cmd from misc.
boot/recovery image sha mismatch!
Unable to boot:recovery
try to start backup
bad image magic.
load boot image failed
ERROR: [rk_load_image_from_storage]: bootrk: bad boot or kernel image
Unable to boot:backup
try to start rockusb

谁能帮我看下我的啊  按照wiki 刷了 resource.img 和boot.img (刷到recovery分区里面,板子自带的双系统固件)
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表