• ubuntu16编译linux源码内核


    一、环境准备

    1.1、安装虚拟机ubuntu16

    在这里插入图片描述

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

    1.1.1、查看当前内核版本

    uname -r
    
    • 1

    在这里插入图片描述

    1.2、安装samba服务

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

    1.2.1、下载安装samba

    sudo apt install samba
    
    • 1

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

    1、 创建分享的文件夹

    mkdir kernelShared
    
    • 1

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

    [kernel]
      path=/home/ubuntu/kernelShared
      browseable = yes
      writeable = yes
      read  = yes
      guest ok = no
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

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

    3、修改共享文件夹权限

    chmod 777 /home/ubuntu/kernelShared
    
    • 1

    4、添加用户账号和密码

    sudo smbpasswd -a xxx
    
    • 1

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

    systemctl enable smbd
    
    • 1

    在这里插入图片描述

    6、启动samba服务

    systemctl restart smbd
    
    • 1

    7、查看本机ip:
    在这里插入图片描述
    8、windows 访问 Ubuntu 共享的文件键:
    win 键加 R 键,跳出运行窗口,输入 \192.168.88.96,其中 192.168.88.96 是我的 ubuntu 的 IP 地址,你需要根据你自己的情况修改为自己的 Ubuntu 的 IP 地址
    在这里插入图片描述
    在这里插入图片描述

    • 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
    
    • 1
    • 2

    在这里插入图片描述

    1.4、准备安装需要的环境

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

    1.5、解压缩内核源码

    1.5.1、xz文件解压

    xz -d linux-6.5.tar.xz
    
    • 1

    1.5.2、tar文件解压

    tar –xvf linux-6.5.tar
    
    • 1

    二、准备编译

    2.1、打内核补丁

    xz -d patch-6.5.xz | patch -p1
    
    
    • 1
    • 2

    2.2、编译配置

    cd linux-6.5
    make menuconfig
    
    • 1
    • 2

    在这里插入图片描述

    • 使用键盘上下键选择

    • 使用键盘左右键选择

    • Geral setup

      • Initial Ram filesystem And Ram disk support
        在这里插入图片描述
    • Devices Driver
      在这里插入图片描述

    三、编译内核

    3.1、编译启动映像

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

    # 生成未经压缩的内核
    make vmlinux
    # 仅生成核心模块
    make modules
    # 生成经压缩过的核心(默认)
    make bzImage
    
    # 以上三步合并执行
    ## 表示使用8线程同时编译
    make -j 8 all
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

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

    在这里插入图片描述
    编译完成

    3.2、Linux内核镜像

    在这里插入图片描述

    四、安装内核

    4.1、安装模块

    make modules_install
    
    • 1

    在这里插入图片描述

    4.2、安装内核

    make install
    
    • 1

    在这里插入图片描述

    4.3、编辑grub

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

    在这里插入图片描述

    五、重启

    5.1、重启虚拟机

    sudo reboot
    
    • 1

    在这里插入图片描述

    5.2、再次查看内核版本

    uname -r
    
    • 1

    在这里插入图片描述

  • 相关阅读:
    软件质量保护与测试(第2版)学习总结第一章
    使用 Mason 创建自己的 Flutter brick
    有没有好用的视频剪辑软件分享?
    vue3中的ref()
    土豆清洗去皮机设计
    软考考生注意!2022年下半年报名详细流程来了!
    51单片机定时炸弹-准确计时-两根线随机一根触发中断可“拆弹“(AT89C52)
    计算机毕业设计之java+javaweb的课堂教学效果实时评价系统
    体感互动ar交互大屏设计方案
    Java面试整理(二)《JavaSE》
  • 原文地址:https://blog.csdn.net/u011557841/article/details/133176069