Ubuntu编译对应版本的内核源码

Posted 高桐@BILL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu编译对应版本的内核源码相关的知识,希望对你有一定的参考价值。

一、 更新sources.list

deb-src http://archive.ubuntu.com/ubuntu bionic main
deb-src http://archive.ubuntu.com/ubuntu bionic-updates main

二、 安装必须的包

sudo apt-get build-dep linux linux-image-$(uname -r)

三、 安装必须工具链

sudo apt-get install libncurses-dev gawk flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf git

四、编译内核模块

make modules

如:make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- modules

直接make,不加任何参数,就是make all,包含make modules。

make modules是单独编译模块,驱动被配置成M的都是modules,modules不会被编译进内核image,需要单独安装到rootfs。

五、 下载当前内核对应源码

apt-get source linux-image-unsigned-$(uname -r)

或 git clone git://kernel.ubuntu.com/ubuntu/ubuntu-<release codename>.git

六、Ubuntu官方提供的配置修改方法

chmod a+x debian/rules
chmod a+x debian/scripts/*
chmod a+x debian/scripts/misc/*
LANG=C fakeroot debian/rules clean
LANG=C fakeroot debian/rules editconfigs # you need to go through each (Y, Exit, Y, Exit..) or get a complaint about config later

七、Ubuntu官方提供的内核编译方法(注意!编译产生的文件过大!)

LANG=C fakeroot debian/rules clean
# 快速构建内核,使用下面的命令:
LANG=C fakeroot debian/rules binary-headers binary-generic binary-perarch
# 需要构建包含linux-tools的kernel或者低延迟kernel,使用下面的命令:
LANG=C fakeroot debian/rules binary

以上是关于Ubuntu编译对应版本的内核源码的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu10.04 编译并安装Linux 内核2.6.32.60版本及错误解决。

ubuntu下载对应版本的linux内核源码

Linux 编译内核

linux源码升级编译内核

ubuntu16.04 内核源码编译

Linux 内核编译 Linux 内核 ② ( 解压内核源码 | 查询当前 Linux 内核版本号 | 进入并查看 linux 内核源码目录 )