centos内核源码编译-基于arm的Linux内核编译

我的Ubuntu版本是14.04

1.从官网下载Linux内核源码

官网地址:

2.解压Linux内核源码

3.安装arm-gcc交叉编译工具链:sudoapt-getinstallarm-linux-gnueabi

4.内核版本小于3.0的方式:(2.6版本好像更直接)

进入Linux内核源码的arch/arm/config找到对应的配置文件,将需要的配置文件复制到Linux内核根目录下,例如:

我使用的内核版本是:linux-3.16.57.tar.xz

我到./linux-3.16.57/arch/arm/configs目录下找到了我对应的配置文件。我的硬件型号是NXP的IMX7,所以我把imx_v6_v7_defconfig文件复制到./linux-3.16.57目录下

centos内核源码编译-基于arm的Linux内核编译

5、修改Makefile,Makefile在解压后的源码根目录下:

打开Makefile 在Makefile中查找

拱形?=$(子拱形)

CROSS_COMPILE?=$(CONFIG_CROSS_COMPILE:"%"=%)

并改为:

ARCH?=手臂

CROSS_COMPILE?=arm-linux-gnueabi-

centos内核源码编译-基于arm的Linux内核编译

节省。

6、执行命令:makeimx_v6_v7_defconfig

会生成一个隐藏的.config文件,可以通过ls -a命令显示

7、安装图形界面:sudoapt-getinstallncurses-dev

8、执行makemenuconfig打开图形界面,选择图形界面配置内核。 您可以选择您想要的功能。

按 y 选择

按 n 取消

按 m 将函数编译成模块

选择后,保存退出。

9.执行make-j2zImage开始编译内核

-j2:启动两个线程进行编译。 -j4是开启4线程编译

zImage是我们要生成的目标图像

注:编译过程中可能会出现错误,我有:

/bin/sh:1:lzop:未找到

出现错误后,我就开始慌了,然后就向百度报错,网上一般都有解决方案。

我对这个问题的解决方案是:

须藤 apt-get 安装 zop

后:

make-j2zImage

继续编译,从错误处继续编译。

目前我先把步骤列出来,等理解清楚了之后再明白每一步的含义。

过程中一定有什么不好的地方centos内核源码编译,希望大鳄鱼能够帮忙并原谅我。

编译内核操作的更新:

上述编译步骤会修改Makefile的内容。 在实际使用中,亲自修改Makefile并不是一个好习惯,例如:

1.我们的交叉编译链通常都是移植的,不同的人可能使用不同的(路径、版本)。 硬写在Makefile上,其他同学用你的源码可能不知道,很菜鸟

2、交叉编译的环境变量个人认为最好在使用的时候配置一下,这样比较灵活。 它是一个同名的交叉编译链。 当版本不同时centos内核源码编译,动态配置有很大的优势。

为此,在编译时,我们通过脚本来配置交叉编译链,通过设置Makefile参数来指定交叉编译链。 这些方法都比较适合公司的实际开发环境。

比如我的编译脚本build.sh内容如下:

#!/bin/bash
export CROSS_COMPILE=/usr/bin/arm-linux-gnueabi/arm-poky-linux-gnueabi-
export PATH=/usr/bin/arm-linux-gnueabi/:$PATH
# make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- distclean
# make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- imx6q_sabresd_defconfig
# make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig
# make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules
make -j 16 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- zImage

里面的脚本上,配置了交叉编译链的相关环境,然后在make的时候,指定ARCH和CROSS_COMPILE。

这些方法,个人觉得比较灵活。仅供参考

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 centos内核源码编译-基于arm的Linux内核编译 https://www.wkzy.net/game/171033.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务