品牌网是什么,温州最好的seo,建设银行软件官方网站下载,王也动漫内核版本#xff1a; 4.4.194 在firefly的sdk 2.5.1c及以后的版本都是extboot.img#xff08;对应表中的extboot#xff09;
但是之前的并不是#xff0c;而且一个boot.img#xff0c;#xff08;对应表中rkboot#xff09;
rkboot的生成方法可以参考解决linux5.15编…内核版本 4.4.194 在firefly的sdk 2.5.1c及以后的版本都是extboot.img对应表中的extboot
但是之前的并不是而且一个boot.img对应表中rkboot
rkboot的生成方法可以参考解决linux5.15编译时不生成boot.img 的问题-CSDN博客 对于sdk 2.5.1c及以后的版本sdk直接提供命令build.sh extboot 即可完成。
对于sdk 2.5.1c以前的sdk如何处理呢我在这个脚本中截取extboot的生成部分自己建立一个sh文件放在kernel目录中。
前提也是内核自己编译成功的情况下哈
注意
1.修改自己的dts文件名称
2.还有需要一个ramdisk.img #! /bin/bashRK_ARCHarm64
RK_KERNEL_DTSrk3399-sapphire-excavator-linux-gz
RK_KERNEL_IMGarch/arm64/boot/Imageif [[ ! -f $RK_KERNEL_IMG ]]; thenecho 请先编译好内核!! exit 1
fiif [[ ! -f arch/${RK_ARCH}/boot/dts/rockchip/${RK_KERNEL_DTS}.dtb ]]; thenecho ${RK_KERNEL_DTS}.dtb文件不存在请注意修改该脚本后重新运行!! exit 1
fiecho Start building kernel
echo TARGET_ARCH $RK_ARCH
echo TARGET_KERNEL_CONFIG $RK_KERNEL_DEFCONFIG
echo TARGET_KERNEL_DTS $RK_KERNEL_DTS
echo TARGET_KERNEL_CONFIG_FRAGMENT $RK_KERNEL_DEFCONFIG_FRAGMENT
echo
pwd#make ARCH$RK_ARCH $RK_KERNEL_DEFCONFIG $RK_KERNEL_DEFCONFIG_FRAGMENT #对内核进行配置
#make ARCH$RK_ARCH $RK_KERNEL_DTS.img -j$RK_JOBS #对内核进行编译echo -e \e[36m Generate extLinuxBoot image start\e[0mEXTBOOT_IMGextboot.img
EXTBOOT_DIRextboot
rm -rf ${EXTBOOT_DIR} mkdir -p ./${EXTBOOT_DIR}/extlinux #删除原来的exboot目录再新建一个相当于清空文件夹KERNEL_VERSION$(cat include/config/kernel.release)
echo label rk-kernel.dtb linux-$KERNEL_VERSION $EXTBOOT_DIR/extlinux/extlinux.conf #写入extlinux.conf第一次创建cp $RK_KERNEL_IMG $EXTBOOT_DIR/Image-$KERNEL_VERSION
echo -e \tkernel /Image-$KERNEL_VERSION $EXTBOOT_DIR/extlinux/extlinux.conf #写入extlinux.conf第二次及之后都是追加cp arch/${RK_ARCH}/boot/dts/rockchip/${RK_KERNEL_DTS}.dtb $EXTBOOT_DIR #把dtb文件拷贝过去ln -sf ${RK_KERNEL_DTS}.dtb $EXTBOOT_DIR/rk-kernel.dtb #dtb文件做一个软链接echo -e \tfdt /rk-kernel.dtb $EXTBOOT_DIR/extlinux/extlinux.conf #写入extlinux.conf追加if [[ -e ramdisk.img ]]; thencp ramdisk.img $EXTBOOT_DIR/initrd-$KERNEL_VERSION #如果存在ramdisk则拷贝echo -e \tinitrd /initrd-$KERNEL_VERSION $EXTBOOT_DIR/extlinux/extlinux.conf #写入extlinux.conf追加
ficp .config $EXTBOOT_DIR/config-$KERNEL_VERSION #拷贝配置文件
cp System.map $EXTBOOT_DIR/System.map-$KERNEL_VERSION
cp *.bmp $EXTBOOT_DIR/ || truemake ARCH$RK_ARCH INSTALL_MOD_STRIP1 INSTALL_MOD_PATH$EXTBOOT_DIR modules_install #把驱动ko安装到extboot目录中if [ -n $FF_EXTBOOT_SIZE ];thenEXTBOOT_IMG_SIZE$FF_EXTBOOT_SIZE
elseEXTBOOT_IMG_SIZE128M #extboot 文件大小 128M
firm -rf $EXTBOOT_IMG truncate -s $EXTBOOT_IMG_SIZE $EXTBOOT_IMG #删除原来的extboot.img 并新建一个大小为128M的extboot.img文件
fakeroot mkfs.ext4 -Fq -L boot -d $EXTBOOT_DIR $EXTBOOT_IMG #在内核目录下格式化extboot.img并拷贝extboot目录到extboot.img中echo -e \e[36m Generate extLinuxBoot image done\e[0m
只要内核编译过dtb文件也是正确的自动生成是没啥问题啦。 有问题留言吧。
这些只是一个使用方法方便自己灵活去组合想要的文件。