AFFGT
点滴价值

itop4412_kernel_4.14.2_bsp编译以及错误处理

1 编译命令
进入解压源码得到的“itop4412_kernel_4_14_2_bsp”目录下
uboot、kernel和设备树全部编译的命令:

./build_all.sh

单独编译uboot:

cd u-boot-2017.11/u-boot/
./build.sh

单独编译内核和设备树:

cd linux-4.14.2_iTop-4412_scp/
./build_kernel.sh

如果并不想每次修改配置后覆盖到iTop-4412_scp_defconfig ,可以将build_kernel.sh改为:

export ARCH=arm
make uImage LOADADDR=0x40007000 -j4 # 4 看着cpu修改这个值
make dtbs

build_kernel.sh编译脚本中可知:iTop-4412_scp_defconfig 是默认的编译配置文件(.config)
arch/arm/configs/iTop-4412_scp_defconfig
如果修改内核配置文件,需要覆盖掉iTop-4412_scp_defconfig,才能编译成功

1#编译器老旧

/tmp/ccCFXeXG.s:225: Error: garbage following instruction -- `dsb nsh'
make[1]: *** [arch/arm/kernel/suspend.o] Error 1
make[1]: *** Waiting for unfinished jobs....

由于编译器过旧造成的,u-boot和kernel目录下的 Makefile 都是使用 arm-none-linux-gnueabi- 编译器的,由于我的服务器上有旧版itop4412的编译器,而且新版和旧版的软连接名字是一样的。
解决办法就是修改 Makefile 中的CROSS_COMPILE修改为:

CROSS_COMPILE   := arm-fsl-linux-gnueabi-

2#缺少zlib库

error while loading shared libraries: libz.so.1: cannot open shared object file: no such file or direyumctory.

yum安装zlib库

    yum install -y libz.so.1 
    //或者
    yum install -y zlib.i686

2 生成的镜像–注意是SCP的核心板,可以在arch/arm/configs查看,并不支持POP的 。
uboot镜像:
u-boot-2017.11/u-boot/u-boot-iTOP-4412.bin
内核镜像:
linux-4.14.2_iTop-4412_scp/arch/arm/boot/uImage
设备树镜像:
linux-4.14.2_iTop-4412_scp/arch/arm/boot/dts/exynos4412-itop-elite.dtb

赞(0) 打赏 直达链接
未经允许不得转载:AffGoTo » itop4412_kernel_4.14.2_bsp编译以及错误处理

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏