Linux内核裁剪

Linux内核裁剪

内核版本:Linux-3.14,需要其他版本的内核可以去官网下载https://www.kernel.org/
Ubuntu版本:16.04

一、搭建环境

交叉编译环境配置:
如果要自己编译工具链,从以下链接下载源码crosstools-ng下载地址
http://ymorin.is-a-geek.org/download/crosstool-ng/
将gcc拷贝到~/tool文件下,并进行解压。
拷贝命令:cp /mnt/hgfs/Share/gcc-4.6.4.tar.xz ~/tool/
解压命令:tar -xvf gcc-4.6.4.tar.xz
再进行环境变量的配置:
修改文件/etc/bash.bashrc添加如下内容

export  PATH=$PATH:/home/tool/gcc-4.6.4/bin

重启配置文件
重启命令:source /etc/bash.bashrc

输入命令:arm-none-linux-gnueabi-gcc -v
如果出现了图片中的问题在这里插入图片描述
使用命令:sudo apt-get install lsb-core 安装一下这个标准库就可以了。
以下图片表示交叉编译器环境配置成功。
在这里插入图片描述

首相将内核复制到Windows和Linux的共享文件夹下,j将内核拷贝到/home/Linux 目录下,然后我们将内核进行解压。
在这里插入图片描述
解压命令:tar -xvf linux-3.14.tar.xz linux-3.14
解压完成后,我们进入到内核中:cd linux-3.14
在这里插入图片描述
接下来我们需要修改内核顶层目录下的Makefile。
使用命令:vim Makefile
修改:

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

为:

ARCH		?= arm
CROSS_COMPILE	?= arm-none-linux-gnueabi-

导入默认配置
make exynos_defconfig //vim arch/arm/configs/exynos_defconfig

• 配置内核
make menuconfig,如果报错,
在这里插入图片描述使用命令:sudo apt-get install ncurses-dev进行安装
再次输入make menuconfig
在这里插入图片描述

根据自己的需要进行内核的裁剪。勾选和取消使用空格键。
选择完成后使用命令:make uImage

第一次编译内核时间有点长,请耐心等待。
若遇到以下问题。
在这里插入图片描述
使用命令:make uImage LOADADDR=0x40008000可以解决
在这里插入图片描述

编译成功后,我们在arch/arm/boot下会有uImage
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值