ubuntu16编译linux源码内核

一、环境准备

1.1、安装虚拟机ubuntu16

在这里插入图片描述

  • 编译内核大概需要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/kernelSharedbrowseable = yeswriteable = yesread  = yesguest ok = no

在这里插入图片描述

  • [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:
在这里插入图片描述
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.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

在这里插入图片描述

  • 使用键盘上下键选择

  • 使用键盘左右键选择

  • Geral setup

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

三、编译内核

3.1、编译启动映像

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

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

在这里插入图片描述

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

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

3.2、Linux内核镜像

在这里插入图片描述

四、安装内核

4.1、安装模块

make modules_install

在这里插入图片描述

4.2、安装内核

make install

在这里插入图片描述

4.3、编辑grub

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

在这里插入图片描述

五、重启

5.1、重启虚拟机

sudo reboot

在这里插入图片描述

5.2、再次查看内核版本

uname -r

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/143976.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

性能测试监控指标及分析调优指南

一、哪些因素会成为系统的瓶颈 CPU:如果存在大量的计算,他们会长时间不间断的占用CPU资源,导致其他资源无法争夺到CPU而响应缓慢,从而带来系统性能问题,例如频繁的FullGC,以及多线程造成的上下文频繁的切换…

基于微信小程序的物流快递信息查询平台同城急送小程序(亮点:寄件、发票申请、在线聊天)

文章目录 前言系统主要功能:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

使用git config --global设置用户名和邮件,以及git config的全局和局部配置

文章目录 1. 文章引言2. 全局配置2.1 命令方式2.2 配置文件方式 3. 局部配置3.1 命令方式3.2 配置文件方式 4. 总结 1. 文章引言 我们为什么要设置设置用户名和邮件? 我们在注册github,gitlab等时,一般使用用户名或邮箱: 这个用户…

蓝桥杯每日一题20223.9.26

4407. 扫雷 - AcWing题库 题目描述 分析 此题目使用map等都会超时,所以我们可以巧妙的使用哈希模拟散列表,哈希表初始化为-1首先将地雷读入哈希表,找到地雷的坐标在哈希表中对应的下标,如果没有则此地雷的位置第一次出现&#…

蓝桥杯 题库 简单 每日十题 day10

01 最少砝码 最少砝码 问题描述 你有一架天平。现在你要设计一套砝码,使得利用这些砝码 可以出任意小于等于N的正整数重量。那么这套砝码最少需要包含多少个砝码? 注意砝码可以放在天平两边。 输入格式 输入包含一个正整数N。 输出格式 输出一个整数代表…

Cruise 从零搭建模型

第一步,新建一个project: 下面添加version: 将该新建的task加载进来,然后保存: 保存完之后,文件夹内多了很多内容: .prj 文件是工程文件。 .bdf 是存放模型里面的数据的文件。 可以看出&#…

三、git的安装和配置

一、安装 1.官网下载:https://git-scm.com/download 下载最新版本,点击红框或篮筐处即可 2.点击下载好的安装包安装这个软件 3.一直点击next,直到出现install,点击install,安装完成后点击finish: 下载完成…

Bootstrap的弹性盒子布局学习笔记

Bootstrap的弹性盒子布局学习笔记 目录 01-综述02-利用类d-flex与类d-inline-flex将容器定义为弹性盒子03-对弹性容器的的元素在水平方向上进行排列顺序设置03-对弹性容器的的元素在垂直方向上进行排列顺序设置04-弹性盒子内所有元素在主轴方向上的对齐方式05-1-弹性盒子内各行…

ubuntu22.04使用共享文件设置

从ubuntu20.04开始,设置共享文件就很麻烦 第一步: 安装samba: sudo apt install samba第二步; 创建一个共享文件夹 我以桌面Desktop为例子 第三步: 设置密码: sudo smbpasswd -a ygc第四步: sudo vim …

基于云服务器 EC2 的云上堡垒机的设计和自动化实现

背景 在很多企业的实际应用场景中,特别是金融类的客户,大部分的应用都是部署在私有子网中,如何能够让客户的开发人员和运维人员从本地的数据中心中安全的访问云上资源,堡垒机是一个很好的选择。传统堡垒机的核心实现原理是基于 S…

windows:批处理bat入门

文章目录 什么是BAT常用命令与语法help与/?titlecolormodeechopausecallremset/a/p gotostartifif errorlevel for普通用法for /l 用法for /d用法for /r用法for /f用法in (file)delims和tokensskipeolusebackq 变量扩展变量延迟 setlocalshiftdirrd(删除文件夹&…

C#中的for和foreach的探究与学习

一:语句及表示方法 for语句: for(初始表达式;条件表达式;增量表达式) {循环体 }foreach语句: foreach(数据类型 变量 in 数组或集合) {循环体 }理解 1.从程序逻辑上理解,foreach是通过指针偏移实现的(最初在-1位置,每循环一次,指针就便宜一个单位),而for循环是通

跨类型文本文件,反序列化与类型转换的思考

文章目录 应用场景序列化 - 对象替换原内容,方便使用编写程序取得结果数组 序列化 - JSON 应用场景 在编写热更新的时候,我发现了一个古早的 ini 文件,记录了许多有用的数据 由于使用的语言年份较新,没有办法较好地对 ini 文件的…

Leetcode算法题练习(一)

目录 一、前言 二、移动零 三、复写零 四、快乐数 五、电话号码的字母组合 六、字符串相加 一、前言 大家好,我是dbln,从本篇文章开始我就会记录我在练习算法题时的思路和想法。如果有错误,还请大家指出,帮助我进步。谢谢&…

Library ‘iconv2.4.0‘ not found 问题及解决方法

今天升级了一下Mac mini 和Xcode,运行项目就报Library iconv2.4.0 not found的错误 mac mini 升级:13.0 --> 13.6 xcode升级到:15.0(15A240d) 可以肯定 项目在旧版本下,是能通过编译 并且能运行的。 废话不多说&#xff0c…

源码编译postgresql

没什么好研究的了,就试试编译Postgresql源码,按照网站查的资料一步步测试的,方便后期定制数据库时候用,也算是开源的大优势了,只要你愿意折腾,可以自己定制或改进一个数据库来满足特殊业务。后面研究一下他…

软件测试/测试开发丨结对编程助手 GitHubCopilot

点此获取更多相关资料 简介 GitHub Copilot 是一款 AI 结对程序员,可帮助您更快、更少地编写代码。GitHub Copilot 由 GitHub、OpenAI 和 Microsoft 开发的生成式 AI 模型提供支持。它可作为 Visual Studio Code、Visual Studio、Neovim 和 JetBrains 集成开发环境…

科技资讯|AirPods Pro基于定位控制的自适应音频功能

在接受 TechCrunch 媒体采访时,苹果高管 Ron Huang 和 Eric Treski 谈到了关于 AirPods Pro 自适应音频(Adaptive Audio)功能的轶事,曾考虑基于 GPS 信号来控制自适应音频级别。 Treski 表示在探索自适应音频功能初期&#xff0…

Vue组件通信方式

1.props通信 1.1在 Vue 2 中使用 props 通信 注意:props传递的数据是只读的,子组件修改,不会影响父组件 1.1.1.定义 props 在子组件中使用 props 选项来定义要接收的属性 // 子组件 <script> export default {props: {message: String} } </script>1.1.2.传递…

智能驾驶、智能家居、智能工业中的 AI 关键基础设施,半导体厂商恩智浦的角色是什么?

我们来看一条七年前的真实新闻报道&#xff0c;2016 年《福布斯》在报道中提到“2020 年会有 1000 万台的自动驾驶汽车”。然而 2023 年的现在&#xff0c;真正实现 L4 级别自动驾驶的汽车&#xff0c;仍然远远没有达到这个预测的数量。 另一边&#xff0c;数据显示&#xff0c…