Ubuntu18编译内核源码并安装

声明

  • 问题来源是公司一台带触摸屏的x86 PAD安装了Ubuntu 18后,其触摸屏和实际屏幕方向是相反的,于是想通过修改Ubuntu 18的内核中的触摸屏驱动来修正;
  • 先拿我自己笔记本上的Ubuntu 18系统做个试验;
  • 参看:https://blog.csdn.net/l460133921/article/details/53178875

1 下载Ubuntu 18 内核源码

  1. 使用如下命令下载内核源码:
sudo apt-cache search linux-source
sudo apt-get install linux-source 或者 sudo apt-get install 内核版本

或者直接从官网下载内核源码:https://mirrors.edge.kernel.org/pub/linux/kernel/

  1. 在系统目录/usr/src/下可以查看到下载下来的内核代码压缩包:linux-source-4.15.0.tar.bz2

    将内核源码包解压:

tar -jxvf linux-source-4.15.0.tar.bz2

    进入到源码目录/usr/src/linux-source-4.15.0中可查看内核代码:

pedro@pedro-virtual-machine:/usr/src/linux-source-4.15.0$ ls
arch     debian.master  include  lib                          net             sound   zfs
block    Documentation  init     linux-source-4.15.0.tar.bz2  README          spl
certs    drivers        ipc      MAINTAINERS                  samples         tools
COPYING  dropped.txt    Kbuild   Makefile                     scripts         ubuntu
CREDITS  firmware       Kconfig  mm                           security        usr
crypto   fs             kernel   modules.order                snapcraft.yaml  virt

2 编译内核代码

  1. 编译内核前需要先安装一些必备工具软件:
sudo apt-get install libncurses5-dev libssl-dev build-essential openssl zlibc minizip  libidn11-dev libidn11 libelf-dev bc
  1. 清理源码目录:
#清除编译过程中产生的所有中间文件
sudo make mrproper
#清理上一次产生的编译中间文件
sudo make clean
#图像化配置.config界面,配置内核选项
sudo cp /boot//boot/config-4.15.0-55-generic  ./.config

注意:这里没有执行sudo make menuconfig命令,而是复制/boot/config-4.15.0-55-generic这个文件到源码目录作为.config文件。

  1. 执行编译命令:

    我的笔记本是4核,所以用-j8编译。

sudo make -j8

    可以去做别的事了,进入漫长的等待编译中。。。。

3 安装内核

  1. 安装内核模块
sudo make modules
sudo make INSTALL_MOD_STRIP=1 modules_install
  1. 安装内核
sudo make install

4 重启系统

    重启开机界面按住shift,进入GNU GRUB引导界面中的内核选择加载界面,选择自己编译的内核的正常模式:

  1. 选择高级选项

Ubuntu18编译内核源码并安装_第1张图片

  1. 选择新安装的内核4.15.18版本

Ubuntu18编译内核源码并安装_第2张图片

  1. 进入启动界面

Ubuntu18编译内核源码并安装_第3张图片

  1. 进入系统,执行uname -a,可以发现内核为新内核了!!

Ubuntu18编译内核源码并安装_第4张图片
5. 若想生成deb的内核安装包,执行下面命令

sudo make bindeb-pkg

Enjoy it !!

你可能感兴趣的:(Linux系统相关,Kernel,Ubuntu)