重新编译Linux内核,再打包到原本的img中,无法开机

http://wiki.t-firefly.com/index.php/Firefly-RK3288/Build_kernel
参考以上网页,下载整个SDK编译Linux内核

http://wiki.t-firefly.com/index.php/Firefly-RK3288/Boot_Ubuntu_from_sd
参考以上网页,下载google drive 的img

测试1
–测试重新打包是不是可以正确从sdcard 开机

把google drive 的下载的img unpack后,得到了10个档
image.cfg
linux-boot.img
linux-rootfs.img
misc-zero.img
package-file
parameter
recover-script
resource.img
RKLoader.bin
update-script

再把这10个档案重新打包,之后写入sdcard,再从sdcard 开机。
测试结果: 开机成功,打包工具没问题。

测试2
–测试重新编译的内核是否能sdcard 开机

编译Linux内核
make firefly-rk3288-linux_defconfig &&make firefly-rk3288.img

编译完成后
mkbootimg --kernel arch/arm/boot/zImage --ramdisk initrd.img -o linux-boot.img

将内核跟目录下的linux-boot.img , resource.img 覆盖unpack 的档案,
并重新打包成新的img,之后写入sdcard,再从sdcard 开机。
测试结果: 无法开机

有什么设定错误吗?

SDK是默认不支持从SD卡启动的,要改代码

linjc 发表于 2015-5-25 09:20
SDK是默认不支持从SD卡启动的,要改代码

在哪有sdboot 相关代码的修改教程?

talent881 发表于 2015-5-25 11:15
在哪有sdboot 相关代码的修改教程?

这个没有看到哦,这里有相关的帖子:
http://developer.t-firefly.com/forum.php?mod=viewthread&tid=960&highlight=sd

╮(╯▽╰)╭

[ 6.694585] rk3288-hdmi ff980000.hdmi: Removed.
[ 6.714311] hdmi connect to lcdc1
[ 6.727331] rk3288-lcdc lcdc1: lcdc1: dclk:74250000>>fps:60
[ 6.741799] rk3288-lcdc lcdc1: wakeup from standby!
[ 6.749777] rk3288-lcdc lcdc1: lcdc1: dclk:74250000>>fps:60
[ 7.097158] hdmi remove from lcdc1
[ 7.115045] rk3288-lcdc lcdc1: no layer is used,go to standby!
[ 7.161363] rk3288-hdmi ff980000.hdmi: Removed.
[ 7.826051] rk3288-hdmi ff980000.hdmi: Removed.
[ 7.845860] hdmi connect to lcdc1
[ 7.852288] rk3288-lcdc lcdc1: lcdc1: dclk:74250000>>fps:60
[ 7.860955] rk3288-lcdc lcdc1: wakeup from standby!
[ 7.868954] rk3288-lcdc lcdc1: lcdc1: dclk:74250000>>fps:60
[ 11.023395] vbus detect**
Gave up waiting for root device. Common problems:

  • Boot args (cat /proc/cmdline)
    • Check rootdelay= (did the system wait long enough?)
    • Check root= (did the system wait for the right device?)
  • Missing modules (cat /proc/modules; ls /dev)
    ALERT! /dev/block/mtd/by-name/linuxroot does not exist. Dropping to a shell!
    FATAL: Could not load /lib/modules/3.10.0/modules.dep: No such file or directory
    FATAL: Could not load /lib/modules/3.10.0/modules.dep: No such file or directory
    /bin/sh: can’t access tty; job control turned off
    (initramfs) [ 11.771377] es8323_create file error
    [ 12.027022] rk_battery_charger_detect_cb , battery_charger_detect 2

我编译的kernel,自己制作的linux-boot.img之后,ubuntu启动出现如下打印,kernel不往下走了,请教版主,这个是什么问题?

已经找到问题,请参考http://developer.t-firefly.com/thread-1057-1-2.html

talent881 怎么unapck img文件

summershine 发表于 2015-8-24 11:27
talent881 怎么unapck img文件

unpack img 可以參考這裡
http://wiki.t-firefly.com/index.php/Firefly-RK3288/Customize_android_firmware
unpack linux-boot.img
這個linux-boot.img 是 kernel + initrdfs ,可用以下方法unpack
工具:
https://github.com/neo-technologies/rockchip-mkbootimg

unpack 用法:
unmkbootimg --kernel zImage --ramdisk initrd.img -i ${1:-“linux-boot.img”}

pack 方法:
mkbootimg --kernel zImage --ramdisk initrd.img -o ${1:-“linux-boot.img”}

@talent881 请教下,内核模块是需要拷到根文件系统中即可:rsync -av ./modules_install/ /path/to/your/rfs/ ,针对Ubuntu 具体是拷贝到哪里呢?我开机时候一直打印modprobe: FATAL: Could not load /lib/modules/3.10.0/modules.dep: No such file or directory