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.pswp.cn/news/533394.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/533394.shtml
英文地址,請注明出處:http://en.pswp.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-樹或…