一,前言
环境搭建好了,所以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的。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: ChatGPT :国内免费可用 ChatGPT +Midjourney绘图
前言 ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程序 ,于2022年11月30日发布 。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类…