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版本及错误解决。
Linux 内核编译 Linux 内核 ② ( 解压内核源码 | 查询当前 Linux 内核版本号 | 进入并查看 linux 内核源码目录 )