bbb的uboot和zImage编译方法--Apple的学习笔记
  2Nv1H5BMjysw 2023年11月02日 34 0

一,前言

环境搭建好了,所以uboot和kernel需要先编译下。用虚拟机ubuntu14.04.6 64位的PC来编译。

二,实践

A,TI官网的sdk uboot编译方法

1,装必要的包 在ubuntu14.04.6上编译uboot2021,很明显版本会不匹配,所以过程会报错误,然后要补充安装某些库,我遇过坑后,整理了下,需要安装如下,Linaro交叉编译器要6.0版本以上,我装了7.5,网上地址为:Linaro Releases我选择了7.5版本的64bit交叉编译安装包。

sudo apt-get install bison flex libssl-dev

2,若之前已经编译过,需要重新编译,执行如下2条命令

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
rm -rf ./am335x_evm

3,从来没编译过,过做更新编译,可以直接运行如下2条命令,O=代表编译后的输出文件夹名称

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=am335x_evm am335x_evm_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=am335x_evm

B,TI官网的zImage编译方法

1,需要重新编译则要先清除之前的编译输出物

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean

2,进行配置,如下等于直接copy到.config

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_am335x-evm_defconfig

3,linux kenrnel源码编译

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage

4,编译设备树

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x-boneblack.dtb

5,编译所有模块

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules

6,安装内模块,Linux kernel, dtb files and modules编译完成后,copy到同一个目录。(可选) 暂时定义copy到/work/img/rootfs,如下等于是copy所有模块。

make ARCH=arm INSTALL_MOD_PATH=/work/img/rootfs modules_install

7,copy zImage和uboot到/work/img/rootfs的boot文件夹。(可选)

cp arch/arm/boot/zImage /work/img/rootfs/boot/
cp arch/arm/boot/dts/am335x-boneblack.dtb /work/img/rootfs/boot/

C,编译增加的外部模块

1,只要编译过modules有Module.symvers后,就可以编译外部模块的,否则会报错。在外部模块目录下输入命令。

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

2,外部模块的makefile供参考,内核路径是交叉编译内核的源码路径。

KERNELDIR :=/work/kernel/board-support/linux-5.10.100
CURRENT_PATH := $(shell pwd)

obj-m := applepaper.o

build: kernel_modules

kernel_modules:
	$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules

clean:
	$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean

三,小结

一开始编译就出现各种问题,吓了我一跳,怎么会卡在这里。原来是交叉编译器的问题,以前我用的ubuntu是32bit的,现在用了64bit的ubuntu,所以交叉编译器也要用64bit的。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
2Nv1H5BMjysw