编译ubuntu ramdisk.img遇到问题

我们针对VIM1开发板,按照官网提供的文档,如下:
http://docs.khadas.com/social/BuildBootloaderAndRamfs/
产生u-boot.bin和boot.img
单独烧写u-boot.bin成功,并能输出设定的打印信息。
kvim#usb_update ramdisk boot.img 提示超出分区大小,因为按照文档编译出来的boot.img大小为41M
kvim# make -C initrd 产生的initrd.img有22M。
请问这是initrd这部分是不是有问题?

Hi roberhu,

DTS里面有设置分区ramdisk大小的,你这个编译的超过了。

** Bad device mmc 0 **
cfgload: no boot.ini or empty file
** File not found Image **
** File not found uInitrd **
** File not found kvim.dtb **
[rsvmem] get fdtaddr NULL!
rsvmem - reserve memory
打包成 ramdisk,制作好emmc升级包,可以正常升级。但启动后出现上面错误,请问问题出在哪里?谢谢

CHK include/generated/utsrelease.h
scripts/Makefile.build:44: /home/ubuntu3/work/905x/ubuntu/linux/customer/arch/arm64/boot/dts/Makefile: No such file or directory
make[1]: *** No rule to make target ‘/home/ubuntu3/work/905x/ubuntu/linux/customer/arch/arm64/boot/dts/Makefile’. Stop.
/home/ubuntu3/work/905x/ubuntu/linux/arch/arm64/Makefile:82: recipe for target ‘kvim.dtb’ failed
make: *** [kvim.dtb] Error 2
make: *** Waiting for unfinished jobs…
直接下载的kernel代码,按照文档编译会报错。

Hi roberhu,

Docs上的文档是很早以前的编译方式,现在Ubuntu的启动方式改变了,具体你可以看一下u-boot里面的启动命令。

谢谢~

1 Like