linux 源码编译
下载linux源码
先安装环境和依赖
sudo apt-get install libncurses5-dev libncursesw5-dev
sudo apt-get install ncurses-dev
apt-get install flex
apt-get install bison
sudo apt-get install libelf-dev
sudo apt-get install libssl-dev
sudo apt-get install dwarves
sudo apt-get install zstd
内核配置
make menuconfig
不做任何改变,保存退出
开始编译
.config 文件以下要修改 10618行左右,对应的4行引号内容清空
CONFIG_MODULE_SIG_KEY="cert/signing_key.pem" #这个可能不需要删除,删除了反而可能出其他问题make modules_install时报错
CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem" #这个要删除
CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" #这个要删除
CONFIG_SYSTEM_REVOCATION_KEYS="" #这个要删除
改为
CONFIG_MODULE_SIG_KEY="" #这个可能不需要删除,删除了反而可能出其他问题make modules_install时报错
CONFIG_SYSTEM_TRUSTED_KEYS="" #这个要删除
CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" #这个要删除
CONFIG_SYSTEM_REVOCATION_KEYS="" #这个要删除
开始编译,编译时间半个小时以上
make -j8
使用编译好的内核模块(如果只是编译驱动,不用进行以下步骤)
sudo make modules_install #将编译生成的内核模块复制到指定的系统目录中,以供内核使用
make -j4 #需要再编译一下
sudo make install #这个命令会将新的内核设置为默认启动内核
这会将编译后的内核和模块复制到系统文件夹中,并更新启动加载程序以引导新内核。在这个过程中会遇到一系列错误,下面是我遇到的错误及解决方案,希望能给大家帮助
运行sudo make modules_install报错:
$ sudo make modules_install
sed: can't read modules.order: No such file or directory
make: *** [Makefile:1479: __modinst_pre] Error 2
解决方案:
sudo depmod
sudo make modules_prepare
dpkg --list | grep linux-image #列出已安装内核版本
rc表示软件包已被卸载但未完全清除;
ii表示软件包已经安装;
vim /etc/default/grub #修改默认启动的内核版本
修改GRUB_DEFAULT选项设置为所需的内核版本编号,此步骤也可直接GRUB设置
886

被折叠的 条评论
为什么被折叠?



