linux 编译3g驱动_linux重新编译内核

1.内容简介

linux内核简介

linux内核版本号

linux为什么重新编译内核

linux内核编译模式

linux内核功能划分

linux内核编译步骤

2linux内核简介

内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动、文件和网络系统,决定着系统的性能和稳定性。

3.内核版本号

确定内核版本uname -r

一个树是稳定树(stable tree)

一个树是非稳定树(unstable tree)或者开发树(development tree)

源程序版本号的形式为x.y.z

对于稳定树来说,y是偶数;对于开发树来说,y比相应的稳定树大一(因此,是奇数),比如说2.5.18是正在开发的版本,2.6.18是已经可以用的版本了。

4.为什么重新编译内核

编译的原因

支持新安装的硬件设备:比如您刚买了一块新的声卡,但是当前的内核没有提供其驱动,而新版本内核可以驱动该声卡。

运行一个程序,但是操作系统不支持该程序需要的功能。

某个用户需要的内核功能。

用户希望对内核进行优化,自己定制编译的内核运行更快(具有更少的代码)。

内核升级(驱动、BUG、意愿、功能、安全、有时间进行升级)。

不需要的功能编译进入内核可能会增加被系统***者利用的漏洞。

为什么不编译

如果只是想给内核加上很少数量的功能的话,就没有必要进行编译

编译内核可能会遇到的困难:面对众多的选项

6.内核编译模式

如果编译到内核中,在内核启动时就可以自动支持相应部分的功能,这样的优点是方便、速度快,机器一启动,你就可以使用这部分功能了;缺点是会使内核变得庞大起来,不管你是否需要这部分功能,它都会存在,这就是Windows惯用的招数,建议经常使用的部分直接编译到内核中,比如网卡。

如果编译成模块,就会生成对应的.o文件,在使用的时候可以动态加载,优点是不会使内核过分庞大,缺点是你得自己来调用这些模块。

7.linux内核功能划分

进程管理

内存管理

设备控制

网络功能

设备和模块分类

字符设备、块设备、网络接口

字符模块、块模块、网络模块

8.新版本内核的获取和更新

linux内核版本发布的官方网站是http://www.kernel.org

新版本的内核分两种,

一种是full Source版本,

一种是patch文件,即补丁

9.为内核源代码打补丁

内核经常需要小规模地升级。每次升级修复一个特定的bug,增加一个新的驱动程序或者功能,或者实现其他任务。

1) 下载主版本的源代码和升级到新版本需要的补丁的源代码。

2) 使用c d命令把路径切换到/usr/src目录。

3) 把下载的源代码和补丁都拷贝到这个目录中。

4) 进入内核源码包内,执行

bzcat ../patch-2.6.27 -p1

zcat ../patch-2.6.27 -p1

5) 准备编译

10.以实现挂载NTFS分区为例

需要重新编译内核 (需要在make menuconfig时添加内核对ntfs的支持,如果不重新编译内核,可以下个软件,ntfs-3g来达到支持ntfs的功能)

编译内核

1) 获取需要安装的内核源代码

2) 使用tar命令把源代码解包到/usr/src/目录

3) 使用cd命令把路径切换到这个目录

4)"make mrproper"删除目前的配置和所有生成的文件(vim Makefile 1149)5) 选择你想使用的内核配置工具程序

图形化功能最少,又很乏味的工具是config程序

一个图形化的工具是menuconfig程序

用于对内核进行配置的X工具总是最流行的,它叫做xconfig

Make [config|menuconfig|xconfig|oldconfig]

保存并退出内核配置程序之后,就已经有了用来配置内核设置值了

6)"make dep"这个命令在2.4以前版本使用。建立依赖关系表,它定义了包括在内核源代码中的某个特定文件如果发生了变化,就需要修改哪一个文件。

7)"make bzImage"完成建立新内核的过程

8)"make modules"编译内核模块并把它们存放到相应的位置。这是那些需要加载或者卸载的内核模块,另外还有一些固定加载的

9)"make modules_install"命令安装模块到需要的位置

10)"make install"将vmlinuz安装到/boot,并配置grub.conf(也可手动完成)

11) "reboot"重新启动,加载新的内核

内核 mkinitrd BUG(个人认为)

https://bugzilla.redhat.com/show_bug.cgi?id=488991

No module dm-mem-cache found for

No module dm-region found for

No module dm-message found for

No module dm-raid45 found for (此问题我已经解决)

http://people.redhat.com/~heinzm/sw/dm/dm-raid45/

手动设置编译好的内核

vmlinuz-2.6.27

System.map-2.6.27

initrd-2.6.27.img

关于这三个文件的作用,大家可以到http://www.freeopens.com/2010_01_474.html看一下!

# mkinitrd /boot/initrd-2.6.27.img 2.6.27--without-dmraid

Nomodule dm-mem-cache foundforkernel 2.6.27, aborting.

# cp /usr/src/linux-2.6.27/arch/i386/boot/bzImage /boot/vmlinuz-2.6.7

# cp /usr/src/linux-2.6.7/System.map /boot/System.map-2.6.7

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

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

相关文章

r语言平均值显著性检验_R语言:常用统计检验方法

转自http://blog.sciencenet.cn/home.php?modspace&uid255662&doblog&id240107正态总体均值的假设检验t检验单个总体例一某种元件的寿命X(小时),服从正态分布,N(mu,sigma^2),其中mu,sigma^2均未知,16只元件的寿命如下…

redis哨兵模式没有切换主机_Redis哨兵(Sentinel)模式

Redis哨兵(Sentinel)模式在这里插入图片描述一、主从复制高可用当我们使用主从复制出现的问题手动故障转移写能力和存储能力受限主从复制 -master 宕机故障处理主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,…

mysql rpm 安装6_linux6.5 RPM方式安装 mysql5.6

步骤一、检查下linux是不是已经安装了MySQL# rpm -qa|grep mysqlmysql-libs-5.1.71-1.el6.x86_64# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 //卸载# find / -name mysql//有mysql文件夹的话,把mysql的文件夹删掉步骤二、下载需要的安装包,下载地…

php mysql 索引_MySQL索引

mysql 如何创建索引?1.添加PRIMARY KEY(主键索引)mysql>ALTER TABLE table_name ADD PRIMARY KEY ( column )2.添加UNIQUE(唯一索引)mysql>ALTER TABLE table_name ADD UNIQUE (column)3.添加INDEX(普通索引)mysql>ALTER TABLE table_name ADD INDEX index…

linux ftp mysql_linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建

命令连接,控制连接:21/tcp数据连接: 主动模式,运行在20/tcp端口 和 被动模式,运行在随机端口数据传输模式(自动模式):有二进制(mp3,jpg等)和文本(html)两种传输模式ftp服务器端程序:wu-ftpd:vsftpd pureftpd Filezilla…

阿里云rds for mysql平台介绍_阿里云RDS for MySQL 快速入门——笔记

1初始化配置1.1设置白名单创建RDS实例后,需要设置RDS实例的白名单,以允许外部设备访问该RDS实例。默认的白名单只包含默认IP地址127.0.0.1,表示任何设备均无法访问该RDS实例。设置白名单包括两种操作:设置IP白名单:添加…

mysql数据库下载压缩包_mysql 8.0.22 zip压缩包版(免安装)下载、安装配置步骤详解...

大家好,今天我在学习 MySQL 8.0.22安装及配置遇到了一些问题,特地将我整个安装过程分享出来希望可以帮助不会安装的小伙伴😜。参考链接第一步 MySQL的下载进入MySQL官网下载,按下图所示步骤操作,耐心等待下载完成就可以…

mysql 5.5 主从同步问题_MySQL 5.5 主从复制异步、半同步以及注意事项详解

大纲一、前言二、Mysql 基础知识三、Mysql 复制(Replication)四、Mysql 复制(Replication)类型五、Mysql 主从复制基本步骤六、Mysql 主从复制(异步)七、Mysql 主从复制(半同步)八、Mysql 复制工具九、Mysql 复制注意事项十、Mysql 复制过滤一、前言从这一篇博客开始我们就来学…

开源内容管理系统 php mysql_十大免费PHP+MySql平台内容管理系统推荐

最近,朋友要建站让我帮着推荐个好的CMS(内容管理系统),个人认为其实选择哪个CMS并不重要,除了对搜索引擎的亲好外,个人的使用操作习惯和对所选CMS系统的熟悉程度有很大关系。这里为需要建站但又徘徊的朋友介绍10个免费PHPMySql平台…

mysql导入xml 工具下载_XML导入Mysql工具下载|XmlToMysql 最新版v2.1 下载_当游网

XmlToMysql是一款十分不错的XML导入Mysql工具,它可以帮助用户们将XML中的数据快速的导入到MySQL数据库中,可以直接跳过解析环节,因此可以有效的提升程序员传输数据的效率,让程序员可以拥有更多的时间去处理其他环节的事宜。所以喜…

mysql忽略表名大小写_Mysql 表名忽略大小写-连接字符集随笔记录

1.参数说明:lower_case_table_names0表名存储为给定的大小和比较是区分大小写的lower_case_table_names 1表名存储在磁盘是小写的,但是比较的时候是不区分大小写lower_case_table_names2表名存储为给定的大小写但是比较的时候是小写的unix,linux下lower_…

mysql与orancl_清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦

清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦直入主题:我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象?使用内连接,查询数据问题&…

.net mysql查询数据库连接_asp.net连接查询SQL数据库并把结果显示在网页上(2种方法)...

在ASP.NET中,使用C#连接SQL数据库,并使用SQL语句查询,以前从来没有接触过C#,最近用到了,摸索了两天终于运行起来了,Mark一下,不喜勿喷有两种方法:(说的是第一种方法不安全&#xff0…

mysql异常恢复工具_[MySQL异常恢复]mysql ibd文件恢复

在mysql中由于某种原因保存有ibd文件,但是表已经被删除或者frm文件损坏亦或者ibdata文件损坏/丢失等。本文模拟在这种情况下,通过mysql自身技术即可完成ibd文件恢复.测试环境mysql版本mysql> select version();-----------| version() |-----------| …

ddl是什么意思网络语_DDL(数据定义语言)

DDL,是对数据库内部的对象进行创建,删除,修改等的操作语言。它和DML语言最大的区别是DML只是对表内部数据的操作,而不涉及到表的定义,结构的修改,更不会涉及到其它对象。1.连接数据库:注:1.mysql代表客户端…

jsp mysql优点_asp、php、asp.net、jsp的介绍和各自的优缺点

现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台,它的语法和Visual BASIC类似,可以像SSI(Server Side Include)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但…

测试网络的带宽指令_单机千万级MQTT服务器测试报告

目标:测试创建1000万客户端连接到Coolpy7 MQTT服务器端,服务器操作系统 Linux(任意一款发行版服务器版本)。分别在两台硬件一样的服务器,其中一台用于服务器端运行,另一台用于创建千万客户端连接客户端机器。在硬件一致的情况下请…

python邮箱爆破_Python在线爆破邮箱账号密码测试代码(亲测可用)

dic 字典格式如下(mail.txt) :usernamegmail.com:passwordusernamegmail.com:passwordusernamegmail.com:password以此类推,切记保存成utf-8编码格式。放置在当前脚本目录,也可自己定义修改。支持ssl https /imap协议。# version 3.4.0# codingUTF-8# ti…

查看redis aof内存_Redis持久化问题定位与优化技巧

今天主要分享继Redis持久化方式RDB、AOF之后的一些常用的Redis问题定位于优化方式。这里主要CPU、内存、磁盘在三个维度去分析问题!Fork操作当Redis做RDB或AOF重写时,一个必不可少的操作就是执行fork操作创建子进程,对于大多数操作系统来说fo…

mysql新增阵列df_DF学Mysql(三)——索引操作

概要:数据库对象索引其实与书的目录非常相似,主要是为了提高从表中检索数据的速度。由于数据存储在数据库表中,所以索引是创建在数据库表对象上的,由表中的一个字段或多个字段生成的键组成,这些键存储在数据结构(B-树或…