linux内核编译
===================================================================
一、环境说明
ubuntu 版本: 18.04
linux 内核版本: 4.18.14
需要确保内存的空间充足,以免编译到最后内存空间不足导致编译失败
二、编译步骤
1、 下载linux内核源码
前往linux kernel源码官网 ,下载对应版本的内核源代码,这里我选择的是4.18.14版本,下载到ubuntu中。
选择HTTP下载链接
进入到 v4.x/ 以后,迅速往下翻,在后面,直到找到linux-4.4.18.tar.gz linux-4.4.18.tar.sign linux-4.4.18.tar.xz ,选择其中一个进行下载。
这里我下载的是第一个 linux-4.4.18.tar.gz
2、解压内核源码到工作目录中
然后将其移动到到工作的目录中并解压,
解压的命令是
tar zxvf linux-4.4.18.tar.gz
完成以后如图:
3、安装交叉编译器 arm-linux-gcc
首先去网盘中下载 网盘链接 提取码:4n4g
这里下载的直接就是64位的,如果之前安装的是32为的话,需要安装32位转64位依赖,CSDN上也有直接就可以搜索出来,这里我就不赘述了。
将安装包移动到/tmp中(/tmp);
然后使用命令解压
sudo tar -xjvf /tmp/arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2 -C /
==============================================================================
如下图,来到该目录下(/opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi)
在(/usr/local)中创建一个新的文件夹(arm),别忘记 sudu
sudo mkdir usr/local/arm
然后给该目录赋予权限
sudo chmod 777 arm
在解压出来的目录中找到并把整个gcc-4.6.4目录复制到刚刚建好的arm目录中,命令如下:
cd /opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/
再执行 cp 复制命令,-r 表示整个目录以及里面的任何东西
sudo cp -r gcc-4.6.4 /usr/local/arm
==============================================================================
打开(/etc/profile)配置环境变量和库变量,目的是以后可以在任何位置使用该交叉编译器,命令如下:
sudo vi /etc/profile
用vi或者vim打开后,在文件最后添加两行,并输入以下代码:第一行是添加执行程序的环境变量,第二行是库文件的路径
export PATH=$PATH:/usr/local/arm/gcc-4.6.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/gcc-4.6.4/lib
然后保存退出即可。
==============================================================================
使用source命令重新加载生效该配置文件
source /etc/profile
检验是否安装成功,在 Terminal 输入以下命令输出版本信息:
arm-linux-gcc -v
结果如上图所示,即成功安装 arm-linux-gcc 交叉编译器
4、安装必要的依赖
sudo apt-get install libncurses5-dev
sudo apt-get install openssl
sudo apt-get install libncurses5
sudo apt-get install build-essential
sudo apt-get install pkg-config
sudo apt-get install libc6-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libelf-dev
sudo apt-get install libssl-dev
5、开始准备编译
-
若有自己的配置文件,将
config
文件复制为.config
在顶层目录下, -
若没有自己的配置文件,则跳过。
-
接着执行
sudo make menuconfig //遍历所有目录下的kconfig
会出现下图
如果未能出现以上图形配置窗口,请返回步骤二的第四点 检查安装相关依赖!!!!
通过左右方向键选择Exit,回车确认,选择Yes,保存默认配置!
接着输入命令:
sudo make