ubuntu16编译linux源码内核

一、环境准备

1.1、安装虚拟机ubuntu16

ubuntu16编译linux源码内核_第1张图片

  • 编译内核大概需要20G的磁盘空间,所以硬盘大小尽量大于40G
  • 网络适配使用桥接

1.1.1、查看当前内核版本

uname -r

在这里插入图片描述

1.2、安装samba服务

Samba 是一款数据共享的软件,可用于 Ubuntu 与 Windows 之间共享源代码,传输文件。

1.2.1、下载安装samba

sudo apt install samba

1.2.2、配置 samba,修改 /etc/samba/smb.conf

1、 创建分享的文件夹

mkdir kernelShared

2、 配置 samba,修改 /etc/samba/smb.conf,最后添加如下内容

[kernel]
  path=/home/ubuntu/kernelShared
  browseable = yes
  writeable = yes
  read  = yes
  guest ok = no

ubuntu16编译linux源码内核_第2张图片

  • [kernel]
    kernel 名字可以根据自己内容命名
  • path
    路径指向要共享文件夹的绝对路径
  • browable
    在浏览资源中是否显示共享目录
  • writeable
    是否可写
  • read
    是否可读
  • guest ok
    访客是否可以访问

3、修改共享文件夹权限

chmod 777 /home/ubuntu/kernelShared

4、添加用户账号和密码

sudo smbpasswd -a xxx

在这里插入图片描述
5、设置开机启动

systemctl enable smbd

在这里插入图片描述

6、启动samba服务

systemctl restart smbd

7、查看本机ip:
ubuntu16编译linux源码内核_第3张图片
8、windows 访问 Ubuntu 共享的文件键:
win 键加 R 键,跳出运行窗口,输入 \192.168.88.96,其中 192.168.88.96 是我的 ubuntu 的 IP 地址,你需要根据你自己的情况修改为自己的 Ubuntu 的 IP 地址
ubuntu16编译linux源码内核_第4张图片
ubuntu16编译linux源码内核_第5张图片

  • kernel
    该名称就是在/etc/samba/smb.conf里面配置的

1.3、下载源码

准备linux源码和补丁,可以在官网上下载,我下载最新版本6.5的。

不过阿里提供了http://mirrors.aliyun.com/,也可以在这里面下载,速度更快。下载镜像的命令如下:

wget https://mirrors.aliyun.com/linux-kernel/v6.x/linux-6.5.tar.xz
wget https://mirrors.aliyun.com/linux-kernel/v6.x/patch-6.5.xz

ubuntu16编译linux源码内核_第6张图片

1.4、准备安装需要的环境

sudo  apt-get install kernel-package build-essential libncurses5-dev fakeroot flex bison bc libssl-dev libelf-dev

1.5、解压缩内核源码

1.5.1、xz文件解压

xz -d linux-6.5.tar.xz

1.5.2、tar文件解压

tar –xvf linux-6.5.tar

二、准备编译

2.1、打内核补丁

xz -d patch-6.5.xz | patch -p1

2.2、编译配置

cd linux-6.5
make menuconfig

ubuntu16编译linux源码内核_第7张图片

  • 使用键盘上下键选择

  • 使用键盘左右键选择

  • Geral setup

    • Initial Ram filesystem And Ram disk support
      ubuntu16编译linux源码内核_第8张图片
  • Devices Driver
    ubuntu16编译linux源码内核_第9张图片

三、编译内核

3.1、编译启动映像

在功能选择完毕后,接下来就是编译内核与核心,该工作非常简单,只需要三条命令即可(当然也可以合并为一条命令)

# 生成未经压缩的内核
make vmlinux
# 仅生成核心模块
make modules
# 生成经压缩过的核心(默认)
make bzImage

# 以上三步合并执行
## 表示使用8线程同时编译
make -j 8 all

ubuntu16编译linux源码内核_第10张图片

  • 如果出现编译失败,则重新make menuconfig,关闭Virtualization

ubuntu16编译linux源码内核_第11张图片
ubuntu16编译linux源码内核_第12张图片

3.2、Linux内核镜像

ubuntu16编译linux源码内核_第13张图片

四、安装内核

4.1、安装模块

make modules_install

ubuntu16编译linux源码内核_第14张图片

4.2、安装内核

make install

ubuntu16编译linux源码内核_第15张图片

4.3、编辑grub

grub-mkconfig -o /boot/grub/grub.cfg

ubuntu16编译linux源码内核_第16张图片

五、重启

5.1、重启虚拟机

sudo reboot

在这里插入图片描述

5.2、再次查看内核版本

uname -r

在这里插入图片描述

你可能感兴趣的:(C/C++,linux)