这一篇文章继续讲解Linux内核镜像的交叉编译与移植。首先感谢一位大神的博客:https://blog.youkuaiyun.com/jklinux/article/details/72675929
如果你购买了某个厂家的开发板,一般在厂家提供的SDK源码包内就会提供适用于他们板子的内核源码,当然,Linux内核源码本身并不会局限于某个CPU框架,只是使用开发板厂家提供的内核版本可以避免很多因为版本不兼容带来的问题,其次,厂家还会针对他们设计的板子提供Linux内核源码编译时的默认配置文件(xxx_defconfig和Kconfig)。
首先,刚才烧写了uboot的SD卡现在需要创建文件分区了,这里我个人的做法是,使用ubuntu上的工具gparted对SD卡创建一个2G左右的分区,分区的起始位默认,分区类型ext2(推荐类型,因为有些芯片读取不了态新的);然后,需要在你的Ubuntu系统PC机上安装配置交叉编译器,交叉编译器下载官网:交叉编译器下载地址,下载的版本得是:
gcc-linaro-arm-linux-gnueabihf-v-xxxx //v是版本编号,xxx是日期
第一步:安装交叉编译器,配置交叉编译环境。解压交叉编译器到你想要的路径(这个路径一但确认,将不能修改),为了后期配置编译环境方便,我将解压后的目录改名为arm_gcc,配置系统编译环境:
vim /etc/bash 或 /etc/bash.bashrc //这个文件内就是系统运行时遵循的环境变量//
在文件最后一行的位置加一行,比如我的交叉编译器路径是/usr/arm_gcc
export PATH=/usr/arm_gcc/bin:$PATH
保存后退出,然后重启ubuntu系统让此配置生效。
之后如果终端输入指令arm-linux-,按TAB补全时,出现一堆arm-linux-gnueabihf-xx,就说明环境配置成功
这个交叉编译器在后面你编译运行在这个开发板上的驱动程序和系统应用时都必须是同一个