3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

鸟哥的Linux私房菜(基础篇)- 第二十六章、Linux 核心编译与管理

發布時間:2025/3/21 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 鸟哥的Linux私房菜(基础篇)- 第二十六章、Linux 核心编译与管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第二十六章、Linux核心編譯與管理
最近升級日期:2009/09/18
我們說的 Linux 其實指的就是核心 (kernel) 而已。這個核心控制你主機的所有硬件并提供系統所有的功能,所以說,他重不重要啊!我們啟動的時候其實就是利用啟動管理程序加載這個核心文件來偵測硬件,在核心加載適當的驅動程序后,你的系統才能夠順利的運行。現今的系統由於強調線上升級機制,因此非常不建議自訂核心編譯!但是,如果你想要將你的 Linux 安裝到 U盤 閃盤、想要將你的 Eee PC 小筆記本計算機安裝自己的 Linux ,想讓你的 Linux 可以驅動你的小家電,此時,核心編譯就是相當重要的一個任務了!這一篇比較進階,如果你對系統移植沒有興趣的話,這一篇可以先略過喔! ^_^
1. 編譯前的任務:認識核心與取得核心原始碼
  1.1 什么是核心 (Kernel)
  1.2 升級核心的目的
  1.3 核心的版本
  1.4 核心原始碼的取得方式:distributions 默認、最新、patch
  1.5 核心原始碼的解壓縮/安裝/觀察
2. 核心編譯的前處理與核心功能選擇
  2.1 硬件環境檢視與核心功能要求
  2.2 保持干凈原始碼: make mrproper
  2.3 開始挑選核心功能: make XXconfig
  2.4 核心功能細項選擇
    a. 一般配置(General setup):附加版本名稱、IPC 通訊、程序相關等
    b. 核心模塊與 block layer 支持
    c. CPU 的類型與功能選擇(含虛擬化技術)
    d. 電源管理功能
    e. 一些匯流排 (bus) 的選項
    f. 編譯后運行檔的格式
    g. 核心的網絡功能
    h. 各項裝置的驅動程序
    i. 文件系統的支持
    j. 核心黑客、資訊安全、口令應用
    k. 虛擬化與函式庫
3. 核心的編譯與安裝
  3.1 編譯核心與核心模塊
  3.2 實際安裝模塊
  3.3 開始安裝新核心與多重核心菜單 (grub)
4. 額外(單一)核心模塊編譯
  4.1 編譯前注意事項
  4.2 單一模塊編譯
  4.3 核心模塊管理
5. 重點回顧
6. 本章習題
7. 參考數據與延伸閱讀
8. 針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23899

編譯前的任務:認識核心與取得核心原始碼

我們在第一章里面就談過 Linux 其實指的是核心!這個『核心 (kernel)』是整個操作系統的最底層,他負責了整個硬件的驅動,以及提供各種系統所需的核心功能,包括防火墻機制、是否支持 LVM 或 Quota 等文件系統等等,這些都是核心所負責的!所以羅,在第二十章的啟動流程中,我們也會看到 MBR 內的 loader 加載核心文件來驅動整個系統的硬件呢!也就是說,如果你的核心不認識某個最新的硬件,那么該硬件也就無法被驅動,你當然也就無法使用該硬件羅!


什么是核心 (Kernel)

這已經是整個 Linux 基礎的最后一篇了,所以,底下這些數據你應該都要『很有概念』才行~不能只是『好像有印象』~好了,那就復習一下核心的相關知識吧!


  • Kernel

還記得我們在第十一章的 BASH shell 提到過:計算機真正在工作的東西其實是『硬件』,例如數值運算要使用到 CPU、數據儲存要使用到硬盤、圖形顯示會用到顯卡、音樂發聲要有音效芯片、連接 Internet 可能需要網絡卡等等。那么如何控制這些硬件呢?那就是核心的工作了!也就是說,你所希望計算機幫你達成的各項工作,都需要透過『核心』的幫助才行!當然羅,如果你想要達成的工作是核心所沒有提供的,那么你自然就沒有辦法透過核心來控制計算機使他工作羅!

舉例來說,如果你想要有某個網絡功能 (例如核心防火墻機制) ,但是你的核心偏偏忘記加進去這項功能,那么不論你如何『賣力』的配置該網絡套件,很抱歉!不來電!換句話說,你想要讓計算機進行的工作,都必須要『核心有支持』才可以!這個標準不論在 Windows 或 Linux 這幾個操作系統上都相同!如果有一個人開發出來一個『全新的硬件』,目前的核心不論Windows 或 Linux 都不支持,那么不論你用什么系統,哈哈!這個硬件都是英雄無用武之地啦!那么是否了解了『核心』的重要了呢?所以我們才需要來了解一下如何編譯我們的核心啦!

那么核心到底是什么啊?其實核心就是系統上面的一個文件而已,這個文件包含了驅動主機各項硬件的偵測程序與驅動模塊。在第二十章的啟動流程分析中,我們也提到這個文件被讀入主內存的時機,當系統讀完 BIOS 并加載 MBR 內的啟動管理程序后,就能夠加載核心到內存當中。然后核心開始偵測硬件,掛載根目錄并取得核心模塊來驅動所有的硬件,之后呼叫 /sbin/init 就能夠依序啟動所有系統所需要的服務了!

這個核心文件通常被放置成 /boot/vmlinuz ,不過也不見得,因為一部主機上面可以擁有多個核心文件,只是啟動的時候僅能選擇一個來加載而已。甚至我們也可以在一個 distribution 上面放置多個核心,然后以這些核心來做成多重啟動呢!


  • 核心模塊 (kernel module) 的用途

既然核心文件都已經包含了硬件偵測與驅動模塊,那么什么是核心模塊啊?要注意的是,現在的硬件升級速度太快了,如果我的核心比較舊,但我換了新的硬件,那么,這個核心肯定無法支持!怎么辦?重新拿一個新的核心來處理嗎?開玩笑~核心的編譯過程可是很麻煩的~

所以羅,為了這個緣故,我們的 Linux 很早之前就已經開始使用所謂的模塊化配置了!亦即是將一些不常用的類似驅動程序的咚咚獨立出核心,編譯成為模塊,然后,核心可以在系統正常運行的過程當中加載這個模塊到核心的支持。如此一來,我在不需要更動核心的前提之下,只要編譯出適當的核心模塊,并且加載他,呵呵!我的 Linux 就可以使用這個硬件啦!簡單又方便!

那我的模塊放在哪里啊?可惡!怎么會問這個傻問題呢?當然一定要知道的啦!就是 /lib/modules/$(uname -r)/kernel/ 當中啦!


  • 自制核心 - 核心編譯

剛剛上面談到的核心其實是一個文件,那么這個文件怎么來的?當然是透過原始碼 (source code) 編譯而成的啊!因為核心是直接被讀入到主內存當中的,所以當然要將他編譯成為系統可以認識的數據才行!也就是說,我們必須要取得核心的原始碼,然后利用第二十二章 Tarball 安裝方式提到的編譯概念來達成核心的編譯才行啊!(這也是本章的重點啊! ^_^)


  • 關於驅動程序 - 是廠商的責任還是核心的責任?

現在我們知道硬件的驅動程序可以編譯成為核心模塊,所以可以在不改變核心的前提下驅動你的新硬件。但是,很多朋友還是常常感到困惑,就是 Linux 上面針對最新硬件的驅動程序總是慢了幾個腳步,所以覺得好像 Linux 的支持度不足!其實不可以這么說的,為什么呢?因為在 Windows 上面,對於最新硬件的驅動程序需求,基本上,也都是廠商提供的驅動程序才能讓該硬件工作的,因此,在這個『驅動程序開發』的工作上面來說,應該是屬於硬件發展廠商的問題,因為他要我們買他的硬件,自然就要提供消費者能夠使用的驅動程序啦!

所以,如果大家想要讓某個硬件能夠在 Linux 上面跑的話,那么似乎可以發起一人一信的方式,強烈要求硬件開發商發展Linux 上面的驅動程序!這樣一來,也可以促進 Linux 的發展呢!


升級核心的目的

除了 BIOS 之外,核心是操作系統中最早被加載到內存的咚咚,他包含了所有可以讓硬件與軟件工作的資訊,所以,如果沒有搞定核心的話,那么你的系統肯定會有點小問題!好了,那么是不是將『所有目前核心有支持的東西都給他編譯進去我的核心中,那就可以支持目前所有的硬件與可運行的工作啦!』!

這話說的是沒錯啦,但是你是否曾經看過一個為了怕自己今天出門會口渴、會餓、會冷、會熱、會被車撞、會摔跤、會被性騷擾,而在自己的大包包里面放了大瓶礦泉水、便當、厚外套、短褲、防撞鋼梁、止滑墊、電擊棒....等一大堆東西,結果卻累死在半路上的案例嗎?當然有!但是很少啦!我相信不太有人會這樣做!(會這么做的人通常都已經在醫院了~) 取而代之的是會看一下天氣,冷了就只帶外套,熱了就只帶短衣、如果穿的漂亮一點又預計晚點回家就多帶個電擊棒、出遠門到沒有便利商店的地方才多帶礦泉水....

說這個干什么!對啦!就是要你了解到,核心的編譯重點在於『你要你的Linux 作什么?』,是啦!如果沒有必要的工作,就干脆不要加在你的核心當中了!這樣才能讓你的Linux 跑得更穩、更順暢!這也是為什么我們要編譯核心的最主要原因了!


  • Linux 核心特色,與默認核心對終端用戶的角色

Linux 的核心有幾個主要的特色,除了『Kernel 可以隨時、隨各人喜好而更動』之外,Kernel的『版本更動次數太頻繁』也是一個特點!所以羅,除非你有特殊需求,否則一次編譯成功就可以啦!不需要隨時保持最新的核心版本,而且也沒有必要(編譯一次核心要粉久的ㄋㄟ!) 。話說到這里又突然想到今天看到的一篇文章,大意是說老板想要雇用的人會希望是Linux 的老手,因為他們比較容易了解問題的所在,除此之外,如果有任何問題發生,由於其使用Linux 是可以隨時修補漏洞的!但是如果是 Windows 的話,就得要將機器關閉,直到MS 推出修補套件后才能再激活~

那么是否『我就一定需要在安裝好了 Linux 之后就趕緊給他編譯核心呢?』,老實說,『并不需要的』!這是因為幾乎每一個 distribution 都已經默認編譯好了相當大量的模塊了,所以使用者常常或者可能會使用到的數據都已經被編譯成為模塊,也因此,呵呵!我們使用者確實不太需要重新來編譯核心!尤其是『一般的使用者,由於系統已經將核心編譯的相當的適合一般使用者使用了,因此一般入門的使用者,基本上,不太需要編譯核心』。


  • 核心編譯的可能目的

OK!那么鳥哥閑閑沒事干跑來寫個什么東西?既然都不需要編譯核心還寫編譯核心的分享文章,鳥哥賣弄才學呀?很抱歉,鳥哥雖然是個『不學有術』的混混,卻也不會平白無故的寫東西請您來指教~當然是有需要才會來編譯核心啦!編譯核心的時機可以歸納為幾大類:

  • 新功能的需求
    我需要新的功能,而這個功能只有在新的核心里面才有,那么為了獲得這個功能,只好來重新編譯我的核心了。例如 iptables 這個防火墻機制只有在 2.4.xx 以后的版本里面才有,而新開發的主板芯片組,很多也需要新的核心推出之后,才能正常而且有效率的工作!

  • 原本核心太過臃腫
    如果你是那種對於系統『穩定性』很要求的人,對於核心多編譯了很多莫名其妙的功能而不太喜歡的時候,那么就可以重新編譯核心來取消掉該功能羅;

  • 與硬件搭配的穩定性
    由於原本 Linux 核心大多是針對 Intel 的 CPU 來作開發的,所以如果你的CPU 是 AMD 的系統時,有可能 (注意!只是有可能,不見得一定會如此) 會讓系統跑得『不太穩!』。此外,核心也可能沒有正確的驅動新的硬件,此時就得重新編譯核心來讓系統取得正確的模塊才好。

  • 其他需求 (如嵌入式系統)
    就是你需要特殊的環境需求時,就得自行設計你的核心羅!( 像是一些商業的套裝軟件系統,由於需要較為小而美的操作系統,那么他們的核心就需要更簡潔有力了!)

另外,需要注意重新編譯核心雖然可以針對你的硬件作最佳化的步驟 (例如剛剛提到的CPU 的問題!) ,不過由於這些最佳化的步驟對於整體效能的影響是很小很小的,因此如果是為了添加效能來編譯核心的話,基本上,效益不大!然而,如果是針對『系統穩定性』來考量的話,那么就有充分的理由來支持你重新編譯核心羅!

如果系統已經運行很久了,而且也沒有什么大問題,加上我又不添加冷門的硬件設備,那么建議就不需要重新編譯核心了』,因為重新編譯核心的最主要目的是『想讓系統變的更穩!』既然你的Linux 主機已經達到這個目的了,何必再編譯核心?不過,就如同前面提到的,由於默認的核心不見得適合你的需要,加上默認的核心可能并無法與你的硬件配備相配合,此時才開始考慮重新編譯核心吧!

Tips:
早期鳥哥是強調最好重新編譯核心的一群啦!不過,最近這個想法改變了~既然原本的 distribution 都已經幫我們考慮好如何使用核心了,那么,我們也不需要再重新的編譯核心啦!尤其是 distribution 都會主動的釋出新版的核心 RPM 版本,所以,實在不需要自己重新編譯的!當然啦,如同前面提到的,如果你有特殊需求的話,那就另當別論嚕! ^_^

由於『核心的主要工作是在控制硬件!』所以編譯核心之前,請先了解一下你的硬件配備,與你這部主機的未來功能!由於核心是『越簡單越好!』所以只要將這部主機的未來功能給他編進去就好了!其他的就不用去理他啦!


核心的版本

核心的版本問題,我們在第一章已經談論過,主要的版本定義為:『[主].[次].[釋出]-[修改]』的樣式。你只要知道 2.6.x 是穩定版本,2.5.x 是測試用版本即可。我們要使用最新的核心來重新編譯核心時,大多就是使用那種偶數的核心版本啦!不過這里還是要再提一遍!就是『2.4.x 與 2.6.x 是兩個具有相當大差異的核心版本,兩者之間使用到的函式庫基本上已經不相同了,所以在升級之前,如果你的核心原本是2.4.xx 版,那么就升級到 2.4.xx 版本的最新版,不要由 2.4.xx直接升級到 2.6.xx 版,否則到時可能會欲哭無淚~~』,這個問題在討論區一再地被提起!這里再次說明!

Tips:
為什么不能從 2.4 升級到 2.6 呢?其實還是可以啦!只是過程很復雜!我們知道軟件 (packages) 是架構在系統核心上面來進行編譯、安裝與運行的,也就是說,這些 packages 與核心之間,是有相關性的!這些 packages 會用到很多核心提供的功能。但是不同的[主][次]版本之間,他們提供的功能架構差異太大,因此,若你由 2.4 升級到 2.6 的話,那么絕大部分的軟件『都需要重新再編譯!』這樣了解為何不要在不同的版本間升級了吧?

此外,2.4.xx 與 2.6.xx 的比較中,并不是2.6.xx 就一定比 2.4.xx 還要新,因為這兩種版本同時在進行維護與升級的工作!如果有興趣的話,可以前往Linux 核心網站http://www.kernel.org一看究竟,你就可以了解目前的核心變動情況了!

基本上,目前最新的 distributions ,包括 CentOS, FC, SuSE, Mandriva 等等,都使用 2.6 的核心,所以,你可以直接由http://www.kernel.org下載最新的 2.6.xx 版本的核心來嘗試編譯啊!目前 (2009/07/27) 鳥哥可以查到的最新版本是 2.6.30 ,底下我們將主要以這個版本來測試。另外,由於較新的核心版本可能會多出一些選項,因此若有不同的項目也沒有關系!稍微查看一下說明內容就可以了解啦!


核心原始碼的取得方式

既然核心是個文件,要制作這個文件給系統使用則需要編譯,既然要有編譯,當然就得要有原始碼啊!那么原始碼怎么來?基本上,依據你的 distributions 去挑選的核心原始碼來源主要有:


  • 原本 distribution 提供的核心原始碼文件

事實上,各主要 distributions 在推出他們的產品時,其實已經都附上了核心原始碼了!以我們的 CentOS 5.x 為例,你可以在國家高速網絡中心網站下載相關的核心 SRPM 的文件!由於 CentOS 5.x 一直有在進行升級動作,因此你也可以在 update 的目錄底下找到核心原始碼喔!如下連結所示:

  • 原始推出核心碼:http://ftp.twaren.net/Linux/CentOS/5/os/SRPMS/
  • 升級碼:http://ftp.twaren.net/Linux/CentOS/5/updates/SRPMS/

你或許會說:既然要重新編譯,那么干嘛還要使用原本 distributions 釋出的原始碼啊?真沒創意~話不是這么說,因為原本的 distribution 釋出的原始碼當中,含有他們配置好的默認配置值,所以,我們可以輕易的就了解到當初他們是如何選擇與核心及模塊有關的各項配置項目的參數值,那么就可以利用這些可以配合我們 Linux 系統的默認參數來加以修改,如此一來,我們就可以『修改核心,調整到自己喜歡的樣子』羅!而且編譯的難度也會比較低一點!


  • 取得最新的穩定版核心原始碼

雖然使用 distribution 釋出的核心 source code 來重新編譯比較方便,但是,如此一來,新硬件所需要的新驅動程序,也就無法藉由原本的核心原始碼來編譯啊!所以羅,如果是站在要升級驅動程序的立場來看,當然使用最新的核心可能會比較好啊!

Linux 的核心目前是由其發明者 Linus Torvalds 所屬團隊在負責維護的,而其網站在底下的站址上,在該網站上可以找到最新的kernel 資訊!不過,美中不足的是目前的核心越來越大了 (linux-2.6.30.3.tar.bz2這一版,這一個文件大約 57MB 了!),所以如果你的 ISP 連外很慢的話,那么使用臺灣的映射站臺來下載不失為一個好方法:

  • 核心官網:http://www.kernel.org/
  • 交大資科:ftp://linux.cis.nctu.edu.tw/kernel/linux/kernel/
  • 國高中心:ftp://ftp.twaren.net/pub/Unix/Kernel/linux/kernel/


  • 保留原本配置:利用 patch 升級核心原始碼

如果 (1)你曾經自行編譯過核心,那么你的系統當中應該已經存在前幾個版本的核心原始碼,以及上次你自行編譯的參數配置值才對; (2)如果你只是想要在原本的核心底下加入某些特殊功能,而該功能已經針對核心原始碼推出 patch 補丁文件時。那你該如何進行核心原始碼的升級,以便后續的編譯呢?

其實每一次核心釋出時,除了釋出完整的核心壓縮檔之外,也會釋出『該版本與前一版本的差異性 patch 文件』,關於 patch 的制作我們已經在第二十二章當中提及,你可以自行前往參考。這里僅是要提供給你的資訊是,每個核心的 patch 僅有針對前一版的核心來分析而已,所以,萬一你想要由 2.6.27 升級到 2.6.30 的話,那么你就得要下載patch-2.6.28, patch-2.6.29, patch-2.6.30 等文件,然后『依序』一個一個的去進行 patch 的動作后,才能夠升級到 2.6.30 喔!這個重要!不要忘記了。

但是,如果你想要升級 2.6.30 的修改版本到 2.6.30.3 時,由於修改版本是針對 2.6.30 來制作的,因此你只要下載 patch-2.6.30.3 來直接將 2.6.30 升級至 2.6.30.3 即可。但反過來說,如果你要從 2.6.30.2 升級到2.6.30.3 呢?很抱歉的是,并沒有 2.6.30.2 到 2.6.30.3 的補丁文件,所以你必須要將 2.6.30.2 還原至 2.6.30,然后才能使用 patch-2.6.30.3 來升級 2.6.30 喔!注意這個差異!

同樣的,如果是某個硬件或某些非官方認定的核心添加功能網站所推出的 patch 文件時,你也必須要了解該 patch 文件所適用的核心版本,然后才能夠進行 patch ,否則容易出現重大錯誤喔!這個項目對於某些商業公司的工程師來說是很重要的。舉例來說,鳥哥的一個高中同學在業界服務,他主要是進行類似 Eee PC 開發的計畫,然而該計畫的硬件是該公司自行推出的!因此,該公司必須要自行搭配核心版本來設計他們自己的驅動程序,而該驅動程序并非 GPL 授權,因此他們就得要自行將驅動程序整合進核心!如果改天他們要將這個驅動程序釋出,那么就得要利用 patch 的方式,將硬件驅動程序文件釋出,我們就得要自行以 patch 來升級核心啦!

在進行完 patch 之后,你可以直接檢查一下原本的配置值,如果沒有問題,就可以直接編譯,而不需要再重新的選擇核心的參數值,這也是一個省時間的方法啊!至於 patch file 的下載,同樣是在 kernel 的相同目錄下,尋找檔名是 patch 開頭的就是了。


核心原始碼的解壓縮/安裝/觀察

由於鳥哥是比較喜歡直接由核心官網取得原始核心的家伙,所以,底下的動作是使用 2.6.30.3 這個版本的核心來安裝的!如果你想要使用 distributions 提供的 SRPM 來處理的話,得自行找到 SRPM 的相關安裝方法來處理羅!其實看一下第二十二章就知道該如何處理啦。總之,本章的核心原始碼是由底下的連結取得的:

  • ftp://linux.cis.nctu.edu.tw/kernel/linux/kernel/v2.6/linux-2.6.30.3.tar.bz2


  • 核心原始碼的解壓縮與放置目錄

鳥哥這里假設你也是下載上述的連結內的文件,然后該文件放置到 /root 底下。由於 2.6.x 核心原始碼一般建議放置於/usr/src/kernels/ 目錄底下,因此你可以這樣處理:

[root@www ~]# tar -jxvf linux-2.6.30.3.tar.bz2 -C /usr/src/kernels/

此時會在 /usr/src/kernels 底下產生一個新的目錄,那就是 linux-2.6.30.3 這個目錄羅!我們在下個小節會談到的各項編譯與配置,都必須要在這個目錄底下進行才行喔!好了,那么這個目錄底下的相關文件有啥咚咚?底下就來談談:


  • 核心原始碼下的次目錄

在上述核心目錄下含有哪些重要數據呢?基本上有底下這些東西:

  • arch :與硬件平臺有關的項目,大部分指的是 CPU 的類別,例如 x86, x86_64, Xen 虛擬支持等;
  • block :與區塊裝置較相關的配置數據,區塊數據通常指的是大量儲存媒體!還包括類似 ext3 等文件系統的支持是否允許等。
  • crypto :核心所支持的加密的技術,例如 md5 或者是 des 等等;
  • Documentation :與核心有關的一堆說明文件,若對核心有極大的興趣,要瞧瞧這里!
  • drivers :一些硬件的驅動程序,例如顯卡、網絡卡、PCI 相關硬件等等;
  • firmware :一些舊式硬件的微命令碼 (韌體) 數據;
  • fs :核心所支持的 filesystems ,例如 vfat, reiserfs, nfs 等等;
  • include :一些可讓其他程序呼叫的標頭 (header) 定義數據;
  • init :一些核心初始化的定義功能,包括掛載與 init 程序的呼叫等;
  • ipc :定義 Linux 操作系統內各程序的溝通;
  • kernel :定義核心的程序、核心狀態、運行緒、程序的排程 (schedule)、程序的訊號 (signle) 等
  • lib :一些函式庫;
  • mm :與內存單元有關的各項數據,包括 swap 與虛擬內存等;
  • net :與網絡有關的各項協議數據,還有防火墻模塊 (net/ipv4/netfilter/*) 等等;
  • security :包括 selinux 等在內的安全性配置;
  • sound :與音效有關的各項模塊;
  • virt :與虛擬化機器有關的資訊,目前核心支持的是 KVM (Kernel base Virtual Machine)

這些數據先大致有個印象即可,至少未來如果你想要使用 patch 的方法加入額外的新功能時,你要將你的原始碼放置於何處?這里就能夠提供一些指引了。當然,最好還是跑到 Documentation 那個目錄底下去瞧瞧正確的說明,對你的核心編譯會更有幫助喔!


核心編譯的前處理與核心功能選擇

什么?核心編譯還要進行前處理?沒錯啦!事實上,核心的目的在管理硬件與提供系統核心功能,因此你必須要先找到你的系統硬件,并且規劃你的主機未來的任務,這樣才能夠編譯出適合你這部主機的核心!所以,整個核心編譯的重要工作就是在『挑選你想要的功能』。底下鳥哥就以自己的一部主機軟/硬件環境來說明,解釋一下如何處理核心編譯羅!


硬件環境檢視與核心功能要求

鳥哥的一部主機硬件環境如下 (透過 /proc/cpuinfo 及 lspci 觀察):

  • CPU:AMD 的 Athlon64 3000+ (舊式,不含虛擬化功能)
  • 主板芯片組: ALi M1689 K8 北橋 及 M5249, M1563 南橋芯片 (較冷門的硬件)
  • 顯卡: AGP 8X 的 NVidia GeForce 6600LE
  • 內存: 2.0GB 內存
  • 硬盤: WD 2.5GB 硬盤,使用 ALi, ULi 5289 SATA 介面
  • 電源控制器: ALi M7101 Power Management Controller (PMU)
  • 網絡卡: 3Com 3c905C-TX/TX-M (對外)
  • 網絡卡: Realtek Semiconductor RTL-8139/8139C/8139C+

硬件大致如上,至於這部主機的需求,是希望做為未來在鳥哥上課時,可以透過虛擬化功能來處理學生的練習用虛擬機器。這部主機也是鳥哥用來放置學校上課教材的機器,因此,這部主機的 I/O 需求須要好一點,未來還需要開啟防火墻、WWW 服務器功能、FTP 服務器功能等,基本上,用途就是一部小型的服務器環境羅。大致上需要這樣的功能啦!


保持干凈原始碼: make mrproper

了解了硬件相關的數據后,我們還得要處理一下核心原始碼底下的殘留文件才行!假設我們是第一次編譯,但是我們不清楚到底下載下來的原始碼當中有沒有保留目標文件 (*.o) 以及相關的配置檔存在,此時我們可以透過底下的方式來處理掉這些編譯過程的目標文件以及配置檔:

[root@www linux-2.6.30.3]# make mrproper

請注意,這個動作會將你以前進行過的核心功能選擇文件也刪除掉,所以幾乎只有第一次運行核心編譯前才進行這個動作,其余的時刻,你想要刪除前一次編譯過程的殘留數據,只要下達:

[root@www linux-2.6.30.3]# make clean

因為 make clean 僅會刪除類似目標檔之類的編譯過程產生的中間文件,而不會刪除配置檔!很重要的!千萬不要搞亂了喔!好了,既然我們是第一次進行編譯,因此,請下達『make mrproper』吧!


開始挑選核心功能: make XXconfig

不知道你有沒有發現 /boot/ 底下存在一個名為 config-xxx 的文件?那個文件其實就是核心功能列表檔!我們底下要進行的動作,其實就是作出該文件!而我們后續小節所要進行的編譯動作,其實也就是透過這個文件來處理的!核心功能的挑選,最后會在 /usr/src/kernels/linux-2.6.30.3/ 底下產生一個名為 .config 的隱藏檔,這個文件就是 /boot/config-xxx 的文件啦!那么這個文件如何創建呢?你可以透過非常多的方法來創建這個文件!常見的方法有:(注1)

  • make menuconfig
    最常使用的,是文字模式底下可以顯示類似圖形介面的方式,不需要啟動 X Window 就能夠挑選核心功能菜單!

  • make oldconfig
    透過使用已存在的 ./.config 文件內容,使用該文件內的配置值為默認值,只將新版本核心內的新功能選項列出讓使用者選擇,可以簡化核心功能的挑選過程!對於作為升級核心原始碼后的功能挑選來說,是非常好用的一個項目!

  • make xconfig
    透過以 Qt 為圖形介面基礎功能的圖形化介面顯示,需要具有 X window 的支持。例如 KDE 就是透過 Qt 來設計的 XWindow,因此你如果在 KDE 畫面中,可以使用此一項目。

  • make gconfig
    透過以 Gtk 為圖形介面基礎功能的圖形化介面顯示,需要具有 X window 的支持。例如 GNOME 就是透過 Gtk 來設計的 XWindow,因此你如果在 GNOME 畫面中,可以使用此一項目。

  • make config
    最舊式的功能挑選方法,每個項目都以條列式一條一條的列出讓你選擇,如果配置錯誤只能夠再次選擇,很不人性化啊!

大致的功能選擇有上述的方法,不過鳥哥個人比較偏好 make menuconfig 這個項目啦!如果你喜歡使用圖形介面,然后使用鼠標去挑選所需要的功能時,也能使用 make xconfig 或 make gconfig ,不過需要有相關的圖形介面支持!如果你是升級核心原始碼并且需要重新編譯,那么使用 make oldconfig 會比較適當!好了,那么如何選擇呢?以 make menuconfig 來說,出現的畫面會有點像這樣:


圖 2.3.1 、 make menuconfig 核心功能挑選菜單示意圖

看到上面的圖示之后,你會發現畫面主要分為兩大部分,一個是大框框內的反白光柱,另一個則是底下的小框框,里面有 select, exit 與 help 三個選項的內容。這幾個組件的大致用法如下:

  • 『左右方向鍵』:可以移動最底下的 <Select>, <Exit>, <Help>項目;
  • 『上下方向鍵』:可以移動上面大框框部分的反白光柱,若該行有箭頭 (--->) 則表示該行內部還有其他細項需要來配置的意思;
  • 選定項目:以『上下鍵』選擇好想要配置的項目之后,并以『左右鍵』選擇 <Select> 之后,按下『 Enter 』就可以進入該項目去作更進一步的細部配置羅;
  • 可挑選之功能:在細部項目的配置當中,如果前面有 [ ] 或 < > 符號時,該項目才可以選擇,而選擇可以使用『空白鍵』來選擇;
  • 若為 [*] <*> 則表示編譯進核心;若為 <M> 則表示編譯成模塊!盡量在不知道該項目為何時,且有模塊可以選,那么就可以直接選擇為模塊羅!
  • 當在細項目選擇 <Exit> 后,并按下 Enter ,那么就可以離開該細部項目羅!

基本上建議只要『上下左右的方向鍵、空白鍵、Enter』這六個按鍵就好了!不要使用 Esc ,否則一不小心就有可能按錯的!另外,關於整個核心功能的選擇上面,建議你可以這樣思考:

  • 『肯定』核心一定要的功能,直接編譯進核心內;
  • 『可能在未來會用到』的功能,那么盡量編譯成為模塊;
  • 『不知道那個東西要干嘛的,看 help 也看不懂』的話,那么就保留默認值,或者將他編譯成為模塊;

總之,盡量保持核心小而美,剩下的功能就編譯成為模塊,尤其是『需要考慮到未來擴充性』,像鳥哥之前認為螃蟹卡就夠我用的了,結果,后來竟然網站流量大增,鳥哥只好改換 3Com 的網絡卡。不過,我的核心卻沒有相關的模塊可以使用~因為.....鳥哥自己編譯的核心忘記加入這個模塊了。最后,只好重新編譯一次核心的模塊,呵呵!真是慘痛的教訓啊!


核心功能細項選擇

由上面的圖示當中,我們知道核心的可以選擇的項目有很多啊!光是第一面,就有 16 個項目,每個項目內還有不同的細項!哇!真是很麻煩啊~每個項目其實都可能有 <Help> 的說明,所以,如果看到不懂的項目,務必要使用 Help 查閱查閱!好了,底下我們就一個一個項目來看看如何選擇吧!


  • General setup

與 Linux 最相關的程序互動、核心版本說明、是否使用發展中程序碼等資訊都在這里配置的。這里的項目主要都是針對核心與程序之間的相關性來設計的,基本上,保留默認值即可!不要隨便取消底下的任何一個項目,因為可能會造成某些程序無法被同時運行的困境喔!不過底下有非常多新的功能,如果你有不清楚的地方,可以按 <Help> 進入查閱,里面會有一些建議! 你可以依據 Help 的建議來選擇新功能的啟動與否!

[ ] Prompt for development and/or incomplete code/drivers# 這個建議不要選擇,因為我們不是核心專家,不需要使用發展中或不完整的程序碼! (vbird) Local version - append to kernel release [*] Automatically append version information to the version string# 我希望我的核心版本成為 2.6.30.3.vbird ,那這里可以就這樣配置!Kernel compression mode (Bzip2) ---># 建議選擇成為 Bzip2 即可,因為壓縮比較佳! [*] Support for paging of anonymous memory (swap)# 任何人均可存取 swap 是合理的!所以這里務必要勾選! [*] System V IPC# IPC 是 Inter Process Communication (程序通訊) 縮寫,與程序溝通有關,要選! [*] BSD Process Accounting [ ] BSD Process Accounting version 3 file format# 與標準 Unix (BSD) 的程序支持有關,但不要支持 version 3 ,可能有兼容性問題 [ ] Export task/process statistics through netlink (EXPERIMENTAL)# 這個額外的進階選項可以將他取消的! [*] Auditing support [*] Enable system-call auditing support# 上面這兩個是額外核心功能 (如 SELinux) 加載時所需要的配置!務必選擇RCU Subsystem --->RCU Implementation (Classic RCU) ---># 選擇標準 RCU 即可,不需要使用大量 CPU 的整合功能。 <M> Kernel .config support [ ] Enable access to .config through /proc/config.gz (NEW)# 讓 .config 這個核心功能列表可以寫入實際的核心文件中! (17) Kernel log buffer size (16 => 64KB, 17 => 128KB) [ ] Control Group support (NEW) ---># 整合 CPU 或分離裝置的功能,屬於進階配置,我們先不要使用這功能。 [*] Create deprecated sysfs layout for older userspace tools (NEW)# 如果使用支持舊式裝置,如 /sys/devices 者,這里要勾選!但如果是 2008 # 年后的 distribution ,這里可能需要取消喔! CentOS 5.x 要選的! -*- Kernel->user space relay support (formerly relayfs) -*- Namespaces support [*] UTS namespace (NEW) [*] IPC namespace (NEW)# 使用 uname 時,會輸出較多的資訊,所以可以嘗試選擇看看。 [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support () Initramfs source file(s)# 這是一定要的!因為要支持啟動時加載 initail RAM disk 嘛! [*] Optimize for size # 可以減低核心的文件大小,其實是 gcc 參數使用 -Os 而不是 -O2 [ ] Configure standard kernel features (for small systems) ---># 給嵌入式系統使用的,我們用 PC ,所以這里不選。 [ ] Strip assembler-generated symbols during link (NEW) [ ] Disable heap randomization (NEW)# 2000 年后推出的版本,可以取消這個項目!Choose SLAB allocator (SLAB) ---> [*] Profiling support (EXPERIMENTAL) [ ] Activate markers (NEW) <M> OProfile system profiling (EXPERIMENTAL) [ ] OProfile AMD IBS support (EXPERIMENTAL) (NEW) [*] Kprobes


  • loadable module + block layer

要讓你的核心能夠支持動態的核心模塊,那么底下的第一個配置就得要啟動才行!至於第二個 block layer 則默認是啟動的,你也可以進入該項目的細項配置,選擇其中你認為需要的功能即可!

[*] Enable loadable module support ---> <==底下為細項--- Enable loadable module support[ ] Forced module loading <==大概就是這個不要選,其他的都選起來![*] Module unloading[*] Module versioning support[*] Source checksum for all module ================================================================================ -*- Enable the block layer ---> <==看吧!默認就是已經選擇了!底下為細項[ ] Block layer data integrity support <==特殊儲存裝置支持,可以不選IO Schedulers ---><*> Anticipatory I/O scheduler <==較復雜的一種I/O排程<*> Deadline I/O scheduler <==較適用於 database 的加載<*> CFQ I/O scheduler <==較適用於 desktop 的環境Default I/O scheduler (Deadline) ---> <==適用於鳥哥環境


  • CPU 的類型與功能選擇

進入『Processor type and features』后,請挑選你主機的實際 CPU 形式。鳥哥這里使用的是 Athlon 64 的 CPU,而且鳥哥的主機還有啟動 Xen 這個虛擬化的服務 (在一部主機上面同時啟動多個操作系統),因此,所以底下的選擇是這樣的:

[*] Tickless System (Dynamic Ticks) <==可添加些許省電功能 [ ] High Resolution Timer Support [*] Symmetric multi-processing support <==多核心 CPU 環境必選 [ ] Support sparse irq numbering [*] Enable MPS table <==讓多 CPU 支持 ACPI [ ] Support for extended (non-PC) x86 platforms [*] Single-depth WCHAN output [*] Paravirtualized guest support ---> <==支持半虛擬化功能--- Paravirtualized guest support <==底下為 Xen 與 KVM 兩種虛擬機器支持![*] Xen guest support(32) Maximum allowed size of a domain in gigabytes[*] Enable Xen debug and tuning parameters in debugfs[*] KVM paravirtualized clock[*] KVM Guest support-*- Enable paravirtualization code ================================================================================ [ ] paravirt-ops debugging (NEW) <==不需要具有 debug 的功能 [ ] MemtestProcessor family (Opteron/Athlon64/Hammer/K8) ---> <==要選對啊! [*] AMD IOMMU support <==啟動 AMD 的 IOMMU 功能! (8) Maximum number of CPUs [ ] SMT (Hyperthreading) scheduler support <==Intel CPU 的超運行緒功能 [*] Multi-core scheduler support <==多核心功能的支持Preemption Model (No Forced Preemption (Server)) ---># 這是與程序有關的配置項目,鳥哥這里創建 Server 主機,因此選這項!# 如果是桌上型計算機的使用,建議進入選擇 desktop 項目。 [ ] Reroute for broken boot IRQs [*] Machine Check Exception <==可將核心偵測之錯誤回報到終端機顯示! [*] Intel MCE features (NEW) [*] AMD MCE features (NEW) < > Dell laptop support <M> /dev/cpu/microcode - microcode support [ ] Intel microcode patch loading support [*] AMD microcode patch loading support <M> /dev/cpu/*/msr - Model-specific register support <*> /dev/cpu/*/cpuid - CPU information support < > /sys/kernel/debug/x86/cpu/* - CPU Debug support [ ] Numa Memory Allocation and Scheduler SupportMemory model (Sparse Memory) ---> [*] Sparse Memory virtual memmap <==可強化些許核心效能 [ ] Allow for memory hot-add [*] Add LRU list to track non-evictable pages (65536) Low address space to protect from user allocation [ ] Check for low memory corruption [*] Reserve low 64K of RAM on AMI/Phoenix BIOSen <==重新偵測 BIOS 資訊 [*] MTRR (Memory Type Range Register) support# 可以讓 CPU 具有讀取內存特殊區塊的能力,尤其在高效能的顯卡方面,# 可以增進不少效能。這個項目會產生 /proc/mtrr ,X 會讀取這個咚咚喔。 [*] MTRR cleanup support (0) MTRR cleanup enable value (0-1) (1) MTRR cleanup spare reg num (0-7) [ ] x86 PAT support [ ] EFI runtime service support [*] Enable seccomp to safely compute untrusted bytecodeTimer frequency (300 HZ) ---># 這個項目則與核心針對某個事件立即回應的速度有關。Server 用途可以調整到# 300Hz 即可,如果是桌上型計算機使用,需要調整高一點,例如 1000Hz 較佳! [*] kexec system call [ ] kernel crash dumps -*- Support for hot-pluggable CPUs [ ] Compat VDSO support <==舊式功能,可以不要選擇 [ ] Built-in kernel command line <==正常啟動菜單 (grub) 環境,不需要此項功能


  • 電源管理功能

如果選擇了『Power management and ACPI options』之后,就會進入系統的電源管理機制中。其實電源管理機制還需要搭配主板以及 CPU 的相關省電功能,才能夠實際達到省電的效率啦!不論是 Server 還是 Desktop 的使用,在目前電力不足的情況下,能省電就加以省電吧!

[*] Power Management support [ ] Power Management Debug Support [*] Suspend to RAM and standby [ ] Hibernation (aka 'suspend to disk') [*] ACPI (Advanced Configuration and Power Interface) Support ---># 這是個較新的電源管理模塊,由於選擇后會添加核心約 70K ,所以# 對嵌入式系統來說,可能需要考慮考慮。至於 desktop/server 當然就選擇啊--- ACPI (Advanced Configuration and Power Interface) Support[ ] Deprecated /proc/acpi files[*] Deprecated power /proc/acpi directories[*] Future power /sys interface[*] Deprecated /proc/acpi/event support<M> AC Adapter<M> Battery<M> Button-M- Video<*> Fan<*> Processor<*> Thermal Zone[ ] Debug Statements<M> PCI slot detection driver<M> Smart Battery System ================================================================================CPU Frequency scaling ---># 可以經過核心修改 CPU 的運行頻率,在說明檔當中也提及,還需要啟動底下的# dynamic cpufreq governor 才可以順利的啟動這個項目。[*] CPU Frequency scaling[*] Enable CPUfreq debugging<M> CPU frequency translation statistics[*] CPU frequency translation statistics detailsDefault CPUFreq governor (userspace) --->-*- 'performance' governor<M> 'powersave' governor<M> 'userspace' governor for userspace frequency scaling<M> 'ondemand' cpufreq policy governor-*- 'conservative' cpufreq governor*** CPUFreq processor drivers ***<M> ACPI Processor P-States driver<*> AMD Opteron/Athlon64 PowerNow! <==因為我們是 AMD 的 CPU 啊!<M> Intel Enhanced SpeedStep (deprecated)< > Intel Pentium 4 clock modulation ================================================================================ -*- CPU idle PM supportMemory power savings --->


  • 一些匯流排 (bus) 的選項

這個項目則與匯流排有關啦!分為最常見的 PCI 與 PCI-express 的支持,還有筆記本計算機常見的 PCMCIA 插卡啊!要記住的是,那個 PCI-E 的介面務必要選取!不然你的新顯卡可能會捉不到!

[*] PCI support [*] Support mmconfig PCI config space access [*] PCI Express support <M> PCI Express Hotplug driver [*] Root Port Advanced Error Reporting support -*- Message Signaled Interrupts (MSI and MSI-X) [*] Enable deprecated pci_find_* API [ ] PCI Debugging <M> PCI Stub driver [*] Interrupts on hypertransport devices [*] PCI IOV support <==與虛擬化有關!請加選此項! < > PCCard (PCMCIA/CardBus) support ---> <==鳥哥的主機不是 notebook,所以不選。 <*> Support for PCI Hotplug ---> <==不關機情況下,熱拔插 PCI 裝置--- Support for PCI Hotplug<M> Fake PCI Hotplug driver<M> ACPI PCI Hotplug driver<M> ACPI PCI Hotplug driver IBM extensions[ ] CompactPCI Hotplug driver<M> SHPC PCI Hotplug driver


  • 編譯后運行檔的格式

選擇『Executable file formats / Emulations』會見到如下選項。底下的選項必須要勾選才行喔!因為是給 Linux 核心運行運行檔之用的數據。通常是與編譯行為有關啦!

[*] Kernel support for ELF binaries [ ] Write ELF core dumps with partial segments <*> Kernel support for MISC binaries [*] IA32 Emulation <==因為我們這里是 64 位,因此 32 位為模擬結果 <M> IA32 a.out support


  • 核心的網絡功能

這個『Networking support』項目是相當重要的選項,因為他還包含了防火墻相關的項目!就是未來在服務器篇會談到的防火墻 iptables 這個數據啊!所以,千萬注意了!在這個配置項目當中,很多東西其實我們在基礎篇還沒有講到,因為大部分的參數都與網絡、防火墻有關!由於防火墻是在啟動網絡之后再配置即可,所以絕大部分的內容都可以被編譯成為模塊,而且也建議你編成模塊!有用到再加載到核心即可啊!

--- Networking supportNetworking options ---># 就是這個光啊!里面的數據全部都是重要的防火墻項目!盡量編成模塊羅!# 至於不曉得功能的部分,就盡量保留默認值即可!<*> Packet socket <==網絡封包,當然要選擇啊![*] Packet socket: mmapped IO<*> Unix domain sockets <==Unix 插槽檔,也一定要選擇啊!<*> Transformation user configuration interface<M> PF_KEY sockets[*] TCP/IP networking <==能不選擇 TCP/IP 嗎?[*] IP: multicasting[*] IP: advanced routerChoose IP: FIB lookup algorithm (FIB_HASH) --->[*] IP: policy routing[*] IP: equal cost multipath[*] IP: verbose route monitoring[ ] IP: kernel level autoconfiguration<M> IP: tunneling<M> IP: GRE tunnels over IP[*] IP: broadcast GRE over IP[*] IP: multicast routing[*] IP: PIM-SM version 1 support[*] IP: PIM-SM version 2 support[*] IP: TCP syncookie support (disabled per default)<M> IP: AH transformation<M> IP: ESP transformation<M> IP: IPComp transformation<M> IP: IPsec transport mode<M> IP: IPsec tunnel mode<*> IP: IPsec BEET mode-*- Large Receive Offload (ipv4/tcp)<M> INET: socket monitoring interface[*] TCP: advanced congestion control ---> <==內部細項全為模塊<M> The IPv6 protocol ---> <==除必選外,內部細項全為模塊[*] NetLabel subsystem support-*- Security Marking[*] Network packet filtering framework (Netfilter) ---># 這個就是我們一直講的防火墻部分!里面細項幾乎全選擇成為模塊!--- Network packet filtering framework (Netfilter)[ ] Network packet filtering debugging <==debug 部分不選![*] Advanced netfilter configuration[*] Bridged IP/ARP packets filteringCore Netfilter Configuration ---><M> IP virtual server support --->IP: Netfilter Configuration --->IPv6: Netfilter Configuration ---><M> Ethernet Bridge tables (ebtables) support ---># 上面的細項,除了必選外其他的都編成模塊喔!原始沒選的也請選為模塊 ================================================================================<M> Asynchronous Transfer Mode (ATM)<M> Classical IP over ATM[ ] Do NOT send ICMP if no neighbour<M> LAN Emulation (LANE) support< > Multi-Protocol Over ATM (MPOA) support<M> RFC1483/2684 Bridged protocols[ ] Per-VC IP filter kludge<M> 802.1d Ethernet Bridging<M> 802.1Q VLAN Support[ ] GVRP (GARP VLAN Registration Protocol) support<M> DECnet Support<M> ANSI/IEEE 802.2 LLC type 2 Support[ ] IPX: Full internal IPX network (NEW)<M> Appletalk protocol support< > Appletalk interfaces support<M> Phonet protocols family[*] QoS and/or fair queueing ---> <==內容同樣全為模塊![ ] Data Center Bridging supportNetwork testing ---> <==保留成模塊默認值 ================================================================================ # 底下的則是一些特殊的網絡設備,例如紅外線啊、藍芽啊! # 如果不清楚的話,就使用模塊吧!除非你真的知道不要該項目! [ ] Amateur Radio support ---> < > CAN bus subsystem support ---> < > IrDA (infrared) subsystem support ---> <M> Bluetooth subsystem support ---># 這個是藍芽支持,同樣的,里面除了必選之外,其他通通挑選成為模塊! [*] Wireless ---># 這個則是無線網絡設備,里面保留默認值,但可編成模塊的就選模塊 <M> WiMAX Wireless Broadband support ---># 新一代的無線網絡,也請勾選成為模塊! {M} RF switch subsystem support --->


  • 各項裝置的驅動程序

進入『Device Drivers』這個是所有硬件裝置的驅動程序庫!哇!光是看到里面這么多內容,鳥哥頭都昏了~不過,為了你自己的主機好,建議你還是得要一個項目一個項目的去挑選挑選才行~這里面的數據就與你主機的硬件有絕對的關系了!

在這里面真的很重要,因為很多數據都與你的硬件有關。核心推出時的默認值是比較符合一般狀態的,所以很多數據其實保留默認值就可以編的很不錯了!不過,也因為較符合一般狀態,所以核心額外的編譯進來很多跟你的主機系統不符合的數據,例如網絡卡裝置~你可以針對你的主板與相關硬件來進行編譯。不過,還是要記得有『未來擴充性』的考量!之前鳥哥不是談過嗎,我的網絡卡由螃蟹卡換成 3Com 時,核心捉不到~因為...鳥哥并沒有將 3Com 的網絡卡編譯成為模塊啊! @_@

Generic Driver Options ---> <==與韌體有關,保留默認值即可 <*> Connector - unified userspace <-> kernelspace linker ---># 與使用者/核心層級的資訊溝通有關,務必要選擇啊! <M> Memory Technology Device (MTD) support ---># 例如閃存(拇指碟之類)之支持,通常與嵌入式系統有關!# 但由於我們也會用到閃盤,所以里面的數據全編為模塊! <M> Parallel port support ---># 平行序列埠的支持,例如早期的 25 針打印機與 9 針鼠標等,細項全編為模塊! -*- Plug and Play support ---> <==不羅唆!當然要選擇這個項目! [*] Block devices ---> <==區塊裝置,就是一些儲存媒體!細項內容請全編為模塊 [*] Misc devices ---> <==一些較冷門的設備,建議還是全部編為模塊! <*> ATA/ATAPI/MFM/RLL support ---> <==IDE 介面相關的芯片組!# 這個其實與主板的南橋芯片有關!由於鳥哥的主機為 ALi 的板子,所以:<*> ALI M15x3 chipset support# 除了可以保留默認值之外,你也可以將沒用到的驅動程序取消選擇。較重要的還有:[ ] Support for SATA (deprecated; conflicts with libata SATA driver)# 這個一定不能選!因為 SATA 的模塊是在 SCSI 中!<*> Include IDE/ATAPI CDROM support# IDE 的 CDROM 最好直接編譯進核心!# 其余的驅動程序鳥哥幾乎都選擇成為模塊了!沒用到的芯片也將 * 也改成 M 哩! ================================================================================SCSI device support ---> # 這部份是 SCSI 儲存媒體的驅動程序!請一定要選擇!因為:# 1. 因為 U盤 裝置用的就是模擬 SCSI 啊!# 2. 因為 SATA 的配置項目就在這里面!<M> RAID Transport Class{M} SCSI device support[*] legacy /proc/scsi/ support*** SCSI support type (disk, tape, CD-ROM) ***<M> SCSI disk support <==幾乎全編為模塊即可!<M> SCSI tape support<M> SCSI OnStream SC-x0 tape support<M> SCSI CDROM support[*] Enable vendor-specific extensions (for SCSI CDROM)<M> SCSI generic support<M> SCSI media changer support<M> SCSI Enclosure Support*** Some SCSI devices (e.g. CD jukebox) support multiple LUNs ***[*] Probe all LUNs on each SCSI device[*] Verbose SCSI error reporting (kernel size +=12K)[*] SCSI logging facility[*] Asynchronous SCSI scanningSCSI Transports ---> <==細項保留默認值[*] SCSI low-level drivers ---> <==主要是磁盤陣列卡,細項可全選為模塊<M> SCSI Device Handlers ---> <==細項全選為模塊< > OSD-Initiator library ================================================================================ <M> Serial ATA (prod) and Parallel ATA (experimental) drivers ---># SATA 之類的磁碟驅動程序!這里的模塊與 SCSI 模塊是有相依屬性的關系!# 底下的細項全部選擇模塊,尤其是 ALi 的這個項目,對鳥哥來說,是一定要勾選的<M> ALi PATA support [*] Multiple devices driver support (RAID and LVM) ---># RAID 與 LVM 怎可不選!我們第十五章才講過這東西!細項均保留默認值即可 [ ] Fusion MPT device support ---># 一種高階的 SCSI 控制器,可選可不選!因為鳥哥這里不會用到,所以不選!IEEE 1394 (FireWire) support ---># 這個就是俗稱的『火線』,許多外接式設備可能會用這個介面,因此,# 在此部分內的細項部分,請務必配置為模塊喔!不要忘了! <M> I2O device support ---> <==細項亦全選為模塊! [ ] Macintosh device drivers ---> <==我們是 PC ,所以不需支持麥金塔周邊 [*] Network device support ---> <==網絡設備的支持是必選!--- Network device support[*] Enable older network device API compatibility<M> Intermediate Functional Block support<M> Dummy net driver support<M> Bonding driver support<M> EQL (serial line load balancing) support<M> Universal TUN/TAP device driver support<M> Virtual ethernet pair device<M> General Instruments Surfboard 1000< > ARCnet support ---> <==較早期的網卡規格,可不選擇!{M} PHY Device support and infrastructure ---> <==細項全為模塊[*] Ethernet (10 or 100Mbit) --->[*] Ethernet (1000 Mbit) --->[*] Ethernet (10000 Mbit) ---># 上面三個以太網絡網卡支持,不論是否用的到,細項請全編為模塊來待命吧!< > Token Ring driver support ---> <==IBM 的 LAN ,可不選!Wireless LAN --->WiMAX Wireless Broadband devices --->U盤 Network Adapters ---># 上面三個為現階段很熱門的無線網絡設備,所以全部內容的細項全選擇# 為模塊!免得未來你的主機加上新的無線設備時會找不到驅動程序![ ] Wan interfaces support ---> <==WAN 的廣域網絡設備應該就不用選擇了![ ] ATM drivers ---> <==高階的 ATM 設備也不用選吧!<*> Xen network device frontend driver<*> FDDI driver support<M> Digital DEFTA/DEFEA/DEFPA adapter support[ ] Use MMIO instead of PIO (NEW)<M> SysKonnect FDDI PCI support<M> PLIP (parallel port) support<M> PPP (point-to-point protocol) support[*] PPP filtering<M> PPP support for async serial ports<M> PPP support for sync tty ports<M> PPP Deflate compression<M> PPP BSD-Compress compression<M> PPP over ATM# 如果你有 ADSL 撥接的話,呵呵!PPP 的裝置也要選擇上喔!<M> SLIP (serial line) support[*] CSLIP compressed headers[*] Keepalive and linefill[ ] Six bit SLIP encapsulation[*] Fibre Channel driver support ================================================================================ [ ] ISDN support ---> < > Telephony support ---># 這兩個設備沒用到,所以也可以不要選擇!Input device support ---># 這里面含有鼠標、鍵盤、搖桿、觸控版等輸入裝置,盡量全選為模塊吧!Character devices ---># 周邊組件設備部分,也全選為模塊吧! {M} I2C support ---># 還記得我們去偵測主板的溫度與壓力吧?呵呵!那就是透過核心的這個 I2C # 的模塊功能!ALi 默認沒有被編入核心,所以請進入選擇成模塊! [ ] SPI support ---> [ ] GPIO Support ---> < > Dallas's 1-wire support ---> -*- Power supply class support ---># 絕大部分都沒有用到的咚咚,所以保留默認值,不選擇! <M> Hardware Monitoring support ---># 硬件偵測器的支持,記得也要挑選,然后內容全為模塊! -*- Generic Thermal sysfs driver ---> [*] Watchdog Timer Support ---> <==需搭配 watchdog 服務# 若搭配 watchdog 服務,可以配置在某些特定狀況下重新啟動主機!Sonics Silicon Backplane --->Multifunction device drivers ---># 鳥哥沒有這樣的設備,所以也沒有選擇! [ ] Voltage and Current Regulator Support --->Multimedia devices ---># 一堆多媒體裝置如影像擷取卡、FM 廣播聲卡。但如果你的 Linux 是桌上型計算機,# 里面需要挑選成模塊較佳!因為一大堆多媒體介面卡!Graphics support ---> <==這就重要了!顯卡選擇!# 嘿嘿!重點之一,顯卡的芯片組~剛剛前面提到的都是主板的對顯卡的# 匯流排支持 (PCI-E 與 AGP) ,這里則是針對顯卡芯片!鳥哥的顯卡是 NVidia # 的,所以將他選擇即可!其他的可以編成模塊! <M> Sound card support ---># 聲卡部分,也全部選擇成為模塊啦!反正編成模塊又不用錢~ [*] HID Devices ---> <==人機介面裝置,保留默認值即可(也可不選) [*] U盤 support ---># 不能不選的 U盤 ,內容也全部是模塊即可!尤其底下這三個:<M> EHCI HCD (U盤 2.0) support<M> OHCI HCD support<M> UHCI HCD (most Intel and VIA) support <M> MMC/SD/SDIO card support ---> <==多媒體介面卡,保留默認值 < > Sony MemoryStick card support (EXPERIMENTAL) ---> -*- LED Support ---> [ ] Accessibility support ---> <M> InfiniBand support ---> <==高階網絡設備 [*] EDAC - error detection and reporting ---> <M> Real Time Clock ---> <==內容選為模塊吧! [ ] DMA Engine support ---> [ ] Auxiliary Display support ---> < > Userspace I/O drivers ---> [*] Xen memory balloon driver [*] Scrub pages before returning them to system <*> Xen filesystem [*] Create compatibility mount point /proc/xen [ ] Staging drivers ---> [ ] X86 Platform Specific Device Drivers ---># 一堆筆記本計算機的驅動,可以不選啦!

底下則與 Firmware Drivers 有關喔!基本上,都保留默認值就好了!

<M> BIOS Enhanced Disk Drive calls determine boot disk [ ] Sets default behavior for EDD detection to off (NEW) <M> BIOS update support for DELL systems via sysfs <M> Dell Systems Management Base Driver [*] Export DMI identification via sysfs to userspace [*] iSCSI Boot Firmware Table Attributes <M> iSCSI Boot Firmware Table Attributes module


  • 文件系統的支持

文件系統的支持也是很重要的一項核心功能!因為如果不支持某個文件系統,那么我們的 Linux kernel 就無法認識,當然也就無法使用啦!例如 Quota, NTFS 等等特殊的 filesystem 。這部份也是有夠麻煩~因為涉及核心是否能夠支持某些文件系統,以及某些操作系統支持的partition table 項目。在進行選擇時,也務必要特別的小心在意喔!尤其是我們常常用到的網絡操作系統 (NFS/Samba 等等),以及基礎篇談到的 Quota 等,你都得要勾選啊!否則是無法被支持的。比較有趣的是 NTFS 在這一版的核心里面竟然有支持可寫入的項目,著實讓鳥哥嚇了一跳了!^_^

<*> Second extended fs support [*] Ext2 extended attributes [*] Ext2 POSIX Access Control Lists [*] Ext2 Security Labels [*] Ext2 execute in place support <*> Ext3 journalling file system support <==建議這里直接編進核心 [ ] Default to 'data=ordered' in ext3 (legacy option) [*] Ext3 extended attributes [*] Ext3 POSIX Access Control Lists [*] Ext3 Security Labels <M> The Extended 4 (ext4) filesystem [*] Enable ext4dev compatibility [*] Ext4 extended attributes (NEW) [*] Ext4 POSIX Access Control Lists [*] Ext4 Security Labels # 上面是傳統的 EXT2/EXT3 及進階的 EXT4 支持!除了 EXT4 外,其他編入核心吧! ================================================================================ [ ] JBD (ext3) debugging support [ ] JBD2 (ext4) debugging support (NEW) <M> Reiserfs support [ ] Enable reiserfs debug mode (NEW) [ ] Stats in /proc/fs/reiserfs (NEW) [ ] ReiserFS extended attributes (NEW) < > JFS filesystem support <M> XFS filesystem support [*] XFS Quota support [*] XFS POSIX ACL support [*] XFS Realtime subvolume support < > OCFS2 file system support [*] Dnotify support [*] Inotify file change notification support [*] Inotify support for userspace [*] Quota support [ ] Report quota messages through netlink interface [*] Print quota warnings to console (OBSOLETE) < > Old quota format support <*> Quota format v2 support <M> Kernel automounter support <M> Kernel automounter version 4 support (also supports v3) < > FUSE (Filesystem in Userspace) support # XFS 以及 Reiserfs 與 Quota 建議也是選擇起來放啦! ================================================================================Caches --->CD-ROM/DVD Filesystems ---> <==CD內的文件格式,默認值即可DOS/FAT/NT Filesystems ---> <==有支持 NTFS ,要進入挑挑!<M> MSDOS fs support<M> VFAT (Windows-95) fs support(950) Default codepage for FAT <==支持繁體中文(utf8) Default iocharset for FAT <==支持萬國碼<M> NTFS file system support[ ] NTFS debugging support (NEW)[*] NTFS write support ================================================================================Pseudo filesystems ---> <==類似 /proc ,保留默認值 [*] Miscellaneous filesystems ---> <==其他文件系統的支持,保留默認值 [*] Network File Systems ---> <==網絡文件系統!很重要!也要挑挑!--- Network File Systems<M> NFS client support[*] NFS client support for NFS version 3[*] NFS client support for the NFSv3 ACL protocol extension<M> NFS server support[*] NFS server support for NFS version 3[*] NFS server support for the NFSv3 ACL protocol extension< > SMB file system support (OBSOLETE, please use CIFS)<M> CIFS support (advanced network filesystem, SMBFS successor) # 最重要就這幾項,其他保留默認值即可! ================================================================================Partition Types ---> <==分割類型,也是保持默認值即可! -*- Native language support ---> <==選擇默認的語系--- Native language support(utf8) Default NLS Option<*> Traditional Chinese charset (utf-8)# 除了上述這兩個之外,其他的請選擇成為模塊即可!


  • 核心黑客、資訊安全、口令應用

再接下來有個『Kernel hacking』的項目,那是與核心開發者比較有關的部分,這部分建議保留默認值即可,應該不需要去修改他!除非你想要進行核心方面的研究喔。然后底下有個『 Security Options 』,那是屬於資訊安全方面的配置,包括 SELinux 這個細部權限強化模塊也在這里編入核心的!這部分可以作一些額外的配置。另外還有『 Cryptographic API 』這個口令應用程序介面工具選項,也是可以保留默認值啦!我們來看看有什么比較特殊的地方吧!

Security options ---> [*] Enable access key retention support [*] Enable the /proc/keys file by which keys may be viewed [*] Enable different security models [ ] Enable the securityfs filesystem [*] Socket and Networking Security Hooks [*] XFRM (IPSec) Networking Security Hooks [ ] Security hooks for pathname based access control [ ] File POSIX Capabilities [ ] Root Plug Support [*] NSA SELinux Support [*] NSA SELinux boot parameter (1) NSA SELinux boot parameter default value [*] NSA SELinux runtime disable [*] NSA SELinux Development Support [*] NSA SELinux AVC Statistics (1) NSA SELinux checkreqprot default value [ ] NSA SELinux maximum supported policy format version [ ] Simplified Mandatory Access Control Kernel Support [ ] TOMOYO Linux Support [ ] Integrity Measurement Architecture(IMA) # 基本上,這部分保留默認值就對了!你也會發現 NSA 的數據都是直接編進核心! ================================================================================ Cryptographic API ---> # 基本上,除了底下這兩個編譯進核心之外,其他的通通選擇成為模塊吧! {*} MD5 digest algorithm {*} SHA1 digest algorithm

在口令應用程序介面方面,一般我們使用的帳號口令登陸利用的就是 MD5 這個加密機制,要讓核心有支持才行啊!幾乎所有的項目都給他做成模塊即可!不過 MD5 與 SHA1 必須要直接由核心支持比較好!


  • 虛擬化與函式庫

虛擬化是近年來非常熱門的一個議題,因為計算機的能力太強,所以時常閑置在那邊,此時,我們可以透過虛擬化技術在一部主機上面同時啟動多個操作系統來運行,這就是所謂的虛擬化。Linux 核心已經主動的納入虛擬化功能喔!而 Linux 認可的虛擬化使用的機制為 KVM (Kernel base Virtual Machine)。至於常用的核心函式庫也可以全部編為模塊羅!

[*] Virtualization --->--- Virtualization<M> Kernel-based Virtual Machine (KVM) support<M> KVM for Intel processors support<M> KVM for AMD processors support[ ] KVM trace support (NEW)<M> Virtio balloon driver (EXPERIMENTAL) ================================================================================ Library routines --->{M} CRC-CCITT functions{M} CRC16 functions{M} CRC calculation for the T10 Data Integrity Field{M} CRC ITU-T V.41 functions-*- CRC32 functions<M> CRC7 functions{*} CRC32c (Castagnoli, et al) Cyclic Redundancy-Check

最后,還有底下這兩個項目,這兩個項目與核心功能無關,但是與挑選時的配置文件有關:

Load an Alternate Configuration File Save an Alternate Configuration File

這兩個項目分別是儲存剛剛做好的所有項目的配置數據,另一個則是將來自其他人作的選擇給他讀入!事實上,剛剛我們所做的配置只要在離開時選擇 SAVE ,那么這些項目通通會記錄到目前這個目錄下的 .config 文件內。而我們也可以使用上面提到的 Save Configuration 這個項目來將剛剛做完的配置儲存成另外的文件,做成這個文件的好處是,你可以在下次在其他版本的核心作選擇時,直接以 Load 來將這個文件的配置項目讀入,這樣可以減少你還要重新挑選一遍的困境啊!

要請你注意的是,上面的數據主要是適用在鳥哥的個人機器上面的,目前鳥哥比較習慣使用原本 distributions 提供的默認核心,因為他們也會主動的進行升級,所以鳥哥就懶的自己重編核心了~ ^_^

此外,因為鳥哥重視的地方在於『網絡服務器』上面,所以里頭的配置少掉了相當多的個人桌上型Linux 的硬件編譯!所以,如果你想要編譯出一個適合你的機器的核心,那么可能還有相當多的地方需要來修正的!不論如何,請隨時以Help 那個選項來看一看內容吧!反正 Kernel 重編的機率不大!花多一點時間重新編譯一次!然后將該編譯完成的參數文件儲存下來,未來就可以直接將該文件叫出來讀入了!所以花多一點時間安裝一次就好!那也是相當值得的!


核心的編譯與安裝

將最復雜的核心功能選擇完畢后,接下來就是進行這些核心、核心模塊的編譯了!而編譯完成后,當然就是需要使用嚕~那如何使用新核心呢?就得要考慮 grub 這個玩意兒啦!底下我們就來處理處理:


編譯核心與核心模塊

核心與核心模塊需要先編譯起來,而編譯的過程其實非常簡單,你可以先使用『 make help 』去查閱一下所有可用編譯參數,就會知道有底下這些基本功能:

[root@www linux-2.6.30.3]# make vmlinux <==未經壓縮的核心 [root@www linux-2.6.30.3]# make modules <==僅核心模塊 [root@www linux-2.6.30.3]# make bzImage <==經壓縮過的核心(默認) [root@www linux-2.6.30.3]# make all <==進行上述的三個動作

我們常見的在 /boot/ 底下的核心文件,都是經過壓縮過的核心文件,因此,上述的動作中比較常用的是 modules 與bzImage 這兩個,其中 bzImage 第三個字母是英文大寫的 I 喔!bzImage 可以制作出壓縮過后的核心,也就是一般我們拿來進行系統啟動的資訊羅!所以,基本上我們會進行的動作是:

[root@www linux-2.6.30.3]# make clean <==先清除緩存檔 [root@www linux-2.6.30.3]# make bzImage <==先編譯核心 [root@www linux-2.6.30.3]# make modules <==再編譯模塊

上述的動作會花費非常長的時間,編譯的動作依據你選擇的項目以及你主機硬件的效能而不同。最后制作出來的數據是被放置在 /usr/src/kernels/linux-2.6.30.3/ 這個目錄下,還沒有被放到系統的相關路徑中喔!在上面的編譯過程當中,如果有發生任何錯誤的話,很可能是由於核心項目的挑選選擇的不好,可能你需要重新以 make menuconfig 再次的檢查一下你的相關配置喔!如果還是無法成功的話,那么或許將原本的核心數據內的 .config 文件,復制到你的核心原始檔目錄下,然后據以修改,應該就可以順利的編譯出你的核心了。最后注意到,下達了 make bzImage 后,最終的結果應該會像這樣:

Root device is (8, 1) Setup is 12696 bytes (padded to 12800 bytes). System is 2207 kB CRC 7701ab0e Kernel: arch/x86/boot/bzImage is ready (#1) [root@www linux-2.6.30.3]# ll arch/x86/boot/bzImage -rw-r--r-- 1 root root 2272432 7月 30 13:35 arch/x86/boot/bzImage

可以發現你的核心已經編譯好而且放置在 /usr/src/kernels/linux-2.6.30.3/arch/x86/boot/bzImage里面羅~那個就是我們的核心文件!最重要就是他啦!我們等一下就會安裝到這個文件哩!然后就是編譯模塊的部分羅~ make modules 進行完畢后,就等著安裝啦! ^_^


實際安裝模塊

安裝模塊前有個地方得要特別強調喔!我們知道模塊是放置到 /lib/modules/$(uname -r) 目錄下的,那如果同一個版本的模塊被反覆編譯后來安裝時,會不會產生沖突呢?舉例來說,鳥哥這個 2.6.30.3的版本第一次編譯完成且安裝妥當后,發現有個小細節想要重新處理,因此又重新編譯過一次,那兩個版本一模一樣時,模塊放置的目錄會一樣,此時就會產生沖突了!如何是好?有兩個解決方法啦:

  • 先將舊的模塊目錄更名,然后才安裝核心模塊到目標目錄去;
  • 在 make menuconfig 時,那個 General setup 內的 Local version 修改成新的名稱。

鳥哥建議使用第二個方式,因為如此一來,你的模塊放置的目錄名稱就不會相同,這樣也就能略過上述的目錄同名問題羅!好,那么如何安裝模塊到正確的目標目錄呢?很簡單,同樣使用 make 的功能即可:

[root@www linux-2.6.30.3]# make modules_install [root@www linux-2.6.30.3]# ll /lib/modules/ drwxr-xr-x 3 root root 4096 7月 30 14:31 2.6.30.3vbird

看到否,最終會在 /lib/modules 底下創建起你這個核心的相關模塊喔!不錯吧!模塊這樣就已經處理妥當羅~接下來,就是準備要進行核心的安裝了!哈哈!又跟 grub 有關羅~


開始安裝新核心與多重核心菜單 (grub)

現在我們知道核心文件放置在 /usr/src/kernels/linux-2.6.30.3/arch/x86/boot/bzImage ,但是其實系統核心理論上都是擺在 /boot 底下,且為 vmlinuz 開頭的檔名。此外,我們也曉得一部主機是可以做成多重啟動系統的!這樣說,應該知道鳥哥想要干嘛了吧?對啦!我們將同時保留舊版的核心,并且新增新版的核心在我們的主機上面。


  • 移動核心到 /boot 且保留舊核心文件

保留舊核心有什么好處呢?最大的好處是可以確保系統能夠順利啟動啦!因為核心雖然被編譯成功了,但是并不保證我們剛剛挑選的核心項目完全適合於目前這部主機系統,可能有某些地方我們忘記選擇了,這將導致新核心無法順利驅動整個主機系統,更差的情況是,你的主機無法成功啟動成功!此時,如果我們保留舊的核心,呵呵!若新核心測試不通過,就用舊核心來啟動啊!嘿嘿!保證比較不會有問題嘛!新核心通常可以這樣作的:

[root@www ~]# cp /usr/src/kernels/linux-2.6.30.3/arch/x86/boot/bzImage \ > /boot/vmlinuz-2.6.30.3vbird <==實際核心 [root@www ~]# cp /usr/src/kernels/linux-2.6.30.3/.config \ > /boot/config-2.6.30.3vbird <==建議配置檔也復制備份


  • 創建相對應的 Initial Ram Disk (initrd)

還記得第二十章談過的 initrd 這個玩意兒吧!由於鳥哥的系統使用 SATA 磁碟,加上剛剛 SATA 磁碟支持的功能并沒有直接編譯到核心去,所以當然要使用 initrd 來加載才行!使用如下的方法來創建 initrd 吧!記得搭配正確的核心版本喔!

[root@www ~]# mkinitrd -v /boot/initrd-2.6.30.3vbird.img 2.6.30.3vbird ....(前面省略).... Adding module ehci-hcd Adding module ohci-hcd Adding module uhci-hcd ....(后面省略)....


  • 編輯啟動菜單 (grub)

鳥哥這部測試機之前是使用 Xen 的核心來啟動的,但因為 Xen 核心的制作比較復雜,本章并沒有實作出 Xen 虛擬機器的核心。底下鳥哥使用的是剛剛編譯成功的核心來進行啟動菜單的配置,你會看到的配置檔與你的環境可能會有不一樣喔!那就來看看吧!

[root@www ~]# vim /boot/grub/menu.lst default=0 timeout=10 splashimage=(hd0,0)/boot/grub/splash.xpm.gz #hiddenmenu title CentOS (2.6.18-128.2.1.el5xen)root (hd0,0)kernel /boot/xen.gz-2.6.18-128.2.1.el5module /boot/vmlinuz-2.6.18-128.2.1.el5xen ro root=LABEL=/ rhgb quietmodule /boot/initrd-2.6.18-128.2.1.el5xen.img title CentOS testing kernel from vbirdroot (hd0,0)kernel /boot/vmlinuz-2.6.30.3vbird ro root=LABEL=/ rhgbinitrd /boot/initrd-2.6.30.3vbird.img

新增上述的特殊字體到你的配置檔當中。另外,你會發現我上頭的 default 并沒有修改到最新的那個核心的菜單上,因為我必須要測試一下新核心能否順利啟動!如果順利啟動且運行沒有問題后,那么才來修訂這個 default 的值吧!


  • 重新以新核心啟動、測試、修改

如果上述的動作都成功后,接下來就是重新啟動并選擇新核心來啟動系統啦!如果系統順利啟動之后,你使用 uname -a會出現類似底下的數據:

[root@www ~]# uname -a Linux www.vbird.tsai 2.6.30.3vbird #1 SMP Thu Jul 30 13:34:31 CST 2009 x86_64 x86_64 x86_64 GNU/Linux

包括核心版本與支持的硬件平臺都是 OK 的!嘿嘿!那你所編譯的核心就是差不多成功的啦!如果運行一陣子后,你的系統還是穩定的情況下,那就能夠將 default 值使用這個新的核心來作為默認啟動羅!這就是核心編譯!那你也可以自己處理嵌入式系統的核心編譯羅! ^_^


額外(單一)核心模塊編譯

我們現在知道核心所支持的功能當中,有直接編譯到核心內部的,也有使用外掛模塊的,外掛模塊可以簡單的想成就是驅動程序 啦!那么也知道這些核心模塊依據不同的版本,被分別放置到 /lib/modules/$(uname -r)/kernel/ 目錄中,各個硬件的驅動程序則是放置到 /lib/modules/$(uname -r)/kernel/drivers/ 當中!換個角度再來思考一下,如果剛剛我自己編譯的數據中,有些驅動程序忘記編譯成為模塊了,那是否需要重新進行上述的所有動作?又如果我想要使用硬件廠商釋出的新驅動程序,那該如何是好?


編譯前注意事項

由於我們的核心原本就有提供很多的核心工具給硬件開發商來使用,而硬件開發商也需要針對核心所提供的功能來設計他們的驅動程序模塊,因此,我們如果想要自行使用硬件開發商所提供的模塊來進行編譯時,就需要使用到核心所提供的原始檔當中,所謂的標頭文件 (header include file) 來取得驅動模塊所需要的一些函式庫或標頭的定義啦!也因此我們常常會發現到,如果想要自行編譯核心模塊時,就得要擁有核心原始碼嘛!

那核心原始碼我們知道他是可能放置在 /usr/src/ 底下,早期的核心原始碼被要求一定要放置到 /usr/src/linux/目錄下,不過,如果你有多個核心在一個 Linux 系統當中,而且使用的原始碼并不相同時,呵呵~問題可就大了!所以,在 2.6 版以后,核心使用比較有趣的方法來設計他的原始碼放置目錄,那就是以 /lib/modules/$(uname -r)/build 及 /lib/modules/$(uname -r)/source這兩個連結檔來指向正確的核心原始碼放置目錄。如果以我們剛剛由 kernel 2.6.30.3 創建的核心模塊來說,那么他的核心模塊目錄底下有什么咚咚?

[root@www ~]# ll -h /lib/modules/2.6.30.3vbird/ lrwxrwxrwx 1 root root 31 7月 30 14:29 build -> /usr/src/kernels/linux-2.6.30.3 drwxr-xr-x 10 root root 4.0K 7月 30 14:30 kernel -rw-r--r-- 1 root root 337K 7月 30 14:31 modules.alias -rw-r--r-- 1 root root 69 7月 30 14:31 modules.ccwmap -rw-r--r-- 1 root root 224K 7月 30 14:31 modules.dep ....(中間省略).... lrwxrwxrwx 1 root root 31 7月 30 14:29 source -> /usr/src/kernels/linux-2.6.30.3

比較有趣的除了那兩個連結檔之外,還有那個 modules.dep 文件也挺有趣的,那個文件是記錄了核心模塊的相依屬性的地方,依據該文件,我們可以簡單的使用modprobe 這個命令來加載模塊呢!至於核心原始碼提供的標頭檔,在上面的案例當中,則是放置到 /usr/src/kernels/linux-2.6.30.3/include/ 目錄中,當然就是藉由 build/source這兩個連結文件來取得目錄所在的啦!^_^

由於核心模塊的編譯其實與核心原本的原始碼有點關系的,因此如果你需要重新編譯模塊時,那除了 make, gcc 等主要的編譯軟件工具外,你還需要的就是 kernel-devel 這個軟件!記得一定要安裝喔!而如果你想要在默認的核心底下新增模塊的話,那么就得要找到 kernel 的 SRPM 文件了!將該文件給他安裝,并且取得 source code 后,才能夠順利的編譯喔!


單一模塊編譯

想像兩個情況:

  • 如果我的默認核心忘記加入某個功能,而且該功能可以編譯成為模塊,不過,默認核心卻也沒有將該項功能編譯成為模塊,害我不能使用時,該如何是好?

  • 如果 Linux 核心原始碼并沒有某個硬件的驅動程序 (module) ,但是開發該硬件的廠商有提供給Linux 使用的驅動程序原始碼,那么我又該如何將該項功能編進核心模塊呢?

很有趣對吧!不過,在這樣的情況下其實沒有什么好說的,反正就是『去取得原始碼后,重新編譯成為系統可以加載的模塊』啊!很簡單,對吧!^_^!但是,上面那兩種情況的模塊編譯行為是不太一樣的,不過,都是需要 make, gcc 以及核心所提供的 include 標頭檔與函式庫等等。


  • 硬件開發商提供的額外模塊

很多時候,可能由於核心默認的核心驅動模塊所提供的功能你不滿意,或者是硬件開發商所提供的核心模塊具有更強大的功能,又或者該硬件是新的,所以默認的核心并沒有該硬件的驅動模塊時,那你只好自行由硬件開發商處取得驅動模塊,然后自行編譯羅!

如果你的硬件開發商有提供驅動程序的話,那么真的很好解決,直接下載該原始碼,重新編譯,將他放置到核心模塊該放置的地方后就能夠使用了!舉個例子來說,為了省電,鳥哥在 2009 年初買了整合型主板來架設家用的服務器,沒想到 CentOS 5.1 以前的版本對鳥哥新買的主板內建網卡支持度不足,使用的網卡驅動程序 r8169 有問題!搜尋了 google 才發現大家都有這個問題。解決方法就是到 Realtek官網下載網卡驅動程序來編譯即可。

  • Realtek 的 r8168 網卡驅動程序:http://www.realtek.com.tw/downloads/
  • 選擇『Communications Network ICs』-->『Network Interface Controlllers』-->『10/100/1000M Gigabit Ethernet』--> 『PCI Express』-->『Software』就能夠下載了!

你可以利用各種方法將他下載后,假設這個文件放置到 /root ,那么直接將他解壓縮吧!之后就可以讀一讀 INSTALL/README ,然后找一下 Makefile ,就能夠編譯了。整體流程有點像這樣:

# 1. 將文件解壓縮: [root@www ~]# cd /usr/local/src [root@www src]# tar -jxvf /root/r8168-8.013.00.tar.bz2 [root@www src]# cd r8168-8.013.00/# 2. 開始進行編譯與安裝: [root@www r8168-8.013.00]# vi readme <==注意查一下該文件內容 [root@www r8168-8.013.00]# make clean modules [root@www r8168-8.013.00]# ll src/*.ko <==創建底下的模塊檔! -rw-r--r-- 1 root root 112216 7月 31 01:11 src/r8168.ko [root@www r8168-8.013.00]# make install install -m 744 -c r8168.ko /lib/modules/2.6.30.3vbird/kernel/drivers/net/ # 重點在上面這行!會發現模塊已經被移動到核心模塊目錄!4. 升級模塊相依屬性! [root@www r8168-8.013.00]# depmod -a

有趣吧!透過這樣的動作,我們就可以輕易的將模塊編譯起來,并且還可以將他直接放置到核心模塊目錄中,同時以 depmod 將模塊創建相關性,未來就能夠利用 modprobe 來直接取用啦!但是需要提醒你的是,當自行編譯模塊時,若你的核心有升級 (例如利用自動升級機制進行線上升級) 時,則你必須要重新編譯該模塊一次,重復上面的步驟才行!因為這個模塊僅針對目前的核心來編譯的啊!對吧!


  • 利用舊有的核心原始碼進行編譯

如果你后來發現忘記加入某個模塊功能了,那該如何是好?其實如果僅是重新編譯模塊的話,那么整個過程就會變的非常簡單!我們先到目前的核心原始碼所在目錄下達 make menuconfig ,然后將 NTFS 的選項配置成為模塊,之后直接下達:

make fs/ntfs/

那么 ntfs 的模塊 (ntfs.ko) 就會自動的被編譯出來了!然后將該模塊復制到 /lib/modules/2.6.30.3vbird/kernel/fs/ntsf/ 目錄下,再運行 depmod -a ,呵呵~就可以在原來的核心底下新增某個想要加入的模塊功能羅~ ^_^


核心模塊管理

核心與核心模塊是分不開的,至於驅動程序模塊在編譯的時候,更與核心的原始碼功能分不開~因此,你必須要先了解到:核心、核心模塊、驅動程序模塊、核心原始碼與標頭文件的相關性,然后才有辦法了解到為何編譯驅動程序的時候老是需要找到核心的原始碼才能夠順利編譯!然后也才會知道,為何當核心升級之后,自己之前所編譯的核心模塊會失效~

此外,與核心模塊有相關的,還有那個很常被使用的 modprobe 命令,以及啟動的時候會讀取到的模塊定義數據文件 /etc/modprobe.conf ,這些數據你也必須要了解才行~相關的命令說明我們已經在第二十章內談過了,你應該要自行前往了解喔! ^_^


重點回顧
  • 其實核心就是系統上面的一個文件而已,這個文件包含了驅動主機各項硬件的偵測程序與驅動模塊;
  • 上述的核心模塊放置於:/lib/modules/$(uname -r)/kernel/
  • 『驅動程序開發』的工作上面來說,應該是屬於硬件發展廠商的問題
  • 一般的使用者,由於系統已經將核心編譯的相當的適合一般使用者使用了,因此一般入門的使用者,基本上,不太需要編譯核心
  • 編譯核心的一般目的:新功能的需求、原本的核心太過臃腫、與硬件搭配的穩定性、其他需求(如嵌入式系統)
  • 編譯核心前,最好先了解到您主機的硬件,以及主機的用途,才能選擇好核心功能;
  • 編譯前若想要保持核心原始碼的干凈,可使用 make mrproper 來清除緩存檔與配置檔;
  • 挑選核心功能與模塊可用 make 配合:menuconfig, oldconfig, xconfig, gconfig 等等
  • 核心功能挑選完畢后,一般常見的編譯過程為:make bzImage, make modules
  • 模塊編譯成功后的安裝方式為: make modules_install
  • 核心的安裝過程中,需要移動 bzImage 文件、創建 initrd 文件、編輯 /boot/grub/menu.lst 等動作;
  • 我們可以自行由硬件開發商之官網下載驅動程序來自行編譯核心模塊!

本章習題
( 要看答案請將鼠標移動到『答:』底下的空白處,按下左鍵圈選空白處即可察看)
  • 簡單說明核心編譯的步驟為何?
  • 先下載核心原始碼,可以從 http://www.kernel.org 或者是 distributions 的 SRPM 來著手;
  • 以下以 Tarball 來處理,解開原始碼到 /usr/src/kernels 目錄下;
  • 先進行舊數據刪除的動作:『make mrproper』;
  • 開始挑選核心功能,可以利用『make menuconfig』、『make oldconfig』、『make gconfig』等等;
  • 清除過去的中間緩存檔數據:『make clean』
  • 開始核心文件與核心模塊的編譯:『make bzImage』、『make modules』
  • 開始核心模塊的安裝:『make modules_install』
  • 開始核心文件的安裝,可以使用的方式有:『make install』或者是透過手動的方式復制核心文件到 /boot/grub 當中;
  • 創建 initrd 文件;
  • 修改 /boot/grub/menu.lst 文件;
  • 如果你利用新編譯的核心來操作系統,發現系統并不穩定,你想要移除這個自行編譯的核心該如何處理? 首先,可以將原始碼刪除:rm -rf /usr/src/kernels/linux-2.6.30
    再者,刪除掉核心模塊的目錄: rm -rf /lib/modules/2.6.30
    最后刪除掉 /boot/ 內的核心文件與 initrd 文件,以及 /boot/grub/menu.lst 內的 title 配置即可。

參考數據與延伸閱讀
  • 注1:透過在 /usr/src/kernels/linux-2.6.30.3 底下的 README 以及『 make help 』可以得到相當多的解釋
  • 核心編譯的功能:可以用來測試 CPU 效能喔!因為 compile 非常耗系統資源!
  • http://lxr.xensource.com/lxr/source/README?a=x86_64

2002/05/29:第一次完成
2003/02/11:重新編排與加入 FAQ
2004/06/11:原本的 2.4.xx 版本核心被移動到 此處
2005/11/15:原本的模塊管理已經先移動到啟動流程管理那一篇羅!
2005/12/05:經過將近一個月,呵呵!終於給他整理出來這一篇了~真難得~
2007/06/27:添加了 initrd 的簡單說明,詳細還是得看 loader 那一章。
2009/07/21:將基於 FC4 所撰寫的文章移動到此處
2009/08/03:原本的 KDE/GNOME 使用的引擎寫錯了! KDE 用 Qt ,而 GNOME 是用 Gtk !非常感謝 Chua Tze An 兄提供的指正!

2009/09/18:加入兩個簡單的題目,給大家思考一下而已。


出處:http://vbird.dic.ksu.edu.tw/linux_basic/0540kernel.php

總結

以上是生活随笔為你收集整理的鸟哥的Linux私房菜(基础篇)- 第二十六章、Linux 核心编译与管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

精品aⅴ一区二区三区 | 亚洲码国产精品高潮在线 | 久久人人97超碰a片精品 | 国产在线一区二区三区四区五区 | 免费网站看v片在线18禁无码 | 国产精品美女久久久网av | 久久久无码中文字幕久... | 漂亮人妻洗澡被公强 日日躁 | 国产超碰人人爽人人做人人添 | 成年美女黄网站色大免费全看 | 99riav国产精品视频 | 亚洲阿v天堂在线 | 亚洲va中文字幕无码久久不卡 | 亚洲一区二区三区在线观看网站 | 国产又爽又黄又刺激的视频 | 中文字幕乱码亚洲无线三区 | 免费视频欧美无人区码 | 人人爽人人澡人人人妻 | 动漫av网站免费观看 | 高潮毛片无遮挡高清免费视频 | 荫蒂添的好舒服视频囗交 | 97久久精品无码一区二区 | 男女超爽视频免费播放 | 亚洲自偷自偷在线制服 | 色五月丁香五月综合五月 | 图片小说视频一区二区 | 国产热a欧美热a在线视频 | 久久精品成人欧美大片 | 亚洲伊人久久精品影院 | 中文字幕无码人妻少妇免费 | 亚洲综合久久一区二区 | 欧美日韩综合一区二区三区 | 又黄又爽又色的视频 | 青草视频在线播放 | 国产精品美女久久久网av | 一本久久a久久精品亚洲 | 女高中生第一次破苞av | 美女毛片一区二区三区四区 | 18禁黄网站男男禁片免费观看 | 无码播放一区二区三区 | 99久久久无码国产aaa精品 | 色婷婷综合中文久久一本 | 国产精品成人av在线观看 | 又紧又大又爽精品一区二区 | 久久精品国产一区二区三区肥胖 | 中文字幕色婷婷在线视频 | 欧美日本免费一区二区三区 | 人人爽人人澡人人人妻 | 中文字幕av无码一区二区三区电影 | 午夜性刺激在线视频免费 | 婷婷丁香五月天综合东京热 | 国产激情精品一区二区三区 | 999久久久国产精品消防器材 | 亚洲经典千人经典日产 | 亚洲色大成网站www国产 | 国产另类ts人妖一区二区 | 无码中文字幕色专区 | 人妻有码中文字幕在线 | 天堂а√在线中文在线 | 日韩欧美中文字幕在线三区 | 色婷婷久久一区二区三区麻豆 | 亚洲第一网站男人都懂 | 午夜精品久久久久久久久 | 亚洲午夜福利在线观看 | 久久久国产一区二区三区 | 性欧美牲交xxxxx视频 | 国产两女互慰高潮视频在线观看 | 久久99精品久久久久久动态图 | 无码av最新清无码专区吞精 | 国产精品人人爽人人做我的可爱 | 内射后入在线观看一区 | 久久无码专区国产精品s | 国产亚洲精品久久久ai换 | 久久www免费人成人片 | 国产乡下妇女做爰 | 日韩少妇白浆无码系列 | 国产三级精品三级男人的天堂 | 亚洲国精产品一二二线 | 亚洲精品一区二区三区在线 | 男女下面进入的视频免费午夜 | 国产精品嫩草久久久久 | 2020久久超碰国产精品最新 | 性啪啪chinese东北女人 | 国产成人av免费观看 | 波多野结衣av在线观看 | 理论片87福利理论电影 | 欧美日韩人成综合在线播放 | 欧美zoozzooz性欧美 | 日本精品久久久久中文字幕 | 日本一区二区更新不卡 | 日本精品人妻无码77777 天堂一区人妻无码 | 乱人伦人妻中文字幕无码久久网 | 亚洲高清偷拍一区二区三区 | 亚洲乱码中文字幕在线 | 婷婷色婷婷开心五月四房播播 | 在线观看欧美一区二区三区 | 国产激情一区二区三区 | 青草视频在线播放 | 精品久久久中文字幕人妻 | 亚洲人成影院在线观看 | 久久综合激激的五月天 | 丰满人妻被黑人猛烈进入 | 久久精品国产99久久6动漫 | 亚洲国产精品久久久天堂 | 日韩 欧美 动漫 国产 制服 | 亚洲精品午夜国产va久久成人 | 亚洲精品久久久久久一区二区 | 男人的天堂2018无码 | 人人澡人人透人人爽 | 无码帝国www无码专区色综合 | 国产精品人人妻人人爽 | 男女猛烈xx00免费视频试看 | 色欲综合久久中文字幕网 | 亚拍精品一区二区三区探花 | 国产成人午夜福利在线播放 | 成人一区二区免费视频 | 女人被爽到呻吟gif动态图视看 | 一本一道久久综合久久 | 在线视频网站www色 | 中文久久乱码一区二区 | 久久久久免费精品国产 | 国产精品久久国产精品99 | 狠狠色欧美亚洲狠狠色www | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 爱做久久久久久 | 欧美精品无码一区二区三区 | 中文字幕无码日韩欧毛 | 无套内谢的新婚少妇国语播放 | 无遮无挡爽爽免费视频 | 国产莉萝无码av在线播放 | 亚洲精品午夜国产va久久成人 | 中文字幕av无码一区二区三区电影 | 亚洲日韩av片在线观看 | 沈阳熟女露脸对白视频 | 久久五月精品中文字幕 | 国产手机在线αⅴ片无码观看 | a在线亚洲男人的天堂 | 漂亮人妻洗澡被公强 日日躁 | 日韩人妻少妇一区二区三区 | www一区二区www免费 | 国产手机在线αⅴ片无码观看 | 亲嘴扒胸摸屁股激烈网站 | 熟妇人妻激情偷爽文 | 在线观看国产午夜福利片 | 小鲜肉自慰网站xnxx | 日日橹狠狠爱欧美视频 | 久久人人爽人人人人片 | 4hu四虎永久在线观看 | 99视频精品全部免费免费观看 | 国产高清不卡无码视频 | 永久免费观看美女裸体的网站 | 亚洲aⅴ无码成人网站国产app | 免费国产成人高清在线观看网站 | 日韩人妻少妇一区二区三区 | 国产人妻精品午夜福利免费 | 3d动漫精品啪啪一区二区中 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 双乳奶水饱满少妇呻吟 | 色婷婷av一区二区三区之红樱桃 | 欧美精品免费观看二区 | 欧美激情综合亚洲一二区 | 国产真实乱对白精彩久久 | 国产va免费精品观看 | 久久国产36精品色熟妇 | 国产精品视频免费播放 | 精品国产一区二区三区av 性色 | 日韩成人一区二区三区在线观看 | 欧美日韩人成综合在线播放 | 国产一区二区不卡老阿姨 | 天堂亚洲2017在线观看 | 国产黄在线观看免费观看不卡 | 亚洲 高清 成人 动漫 | 国产真人无遮挡作爱免费视频 | 无码国产激情在线观看 | 内射巨臀欧美在线视频 | 国产精品va在线观看无码 | 性生交大片免费看l | 国产精品无码成人午夜电影 | 强辱丰满人妻hd中文字幕 | 亚洲日韩乱码中文无码蜜桃臀网站 | 少妇无码av无码专区在线观看 | 男女下面进入的视频免费午夜 | 成人免费视频视频在线观看 免费 | 精品国产福利一区二区 | 久久99久久99精品中文字幕 | 最近的中文字幕在线看视频 | 国产av一区二区三区最新精品 | 亚洲精品午夜无码电影网 | 成人性做爰aaa片免费看 | 日韩av无码一区二区三区不卡 | 久久久精品成人免费观看 | 久久综合香蕉国产蜜臀av | 帮老师解开蕾丝奶罩吸乳网站 | 色综合久久久无码中文字幕 | 4hu四虎永久在线观看 | 国产黄在线观看免费观看不卡 | 国精产品一品二品国精品69xx | 成人av无码一区二区三区 | 在线精品亚洲一区二区 | 成人免费视频在线观看 | 亚洲性无码av中文字幕 | 久久亚洲a片com人成 | 熟妇女人妻丰满少妇中文字幕 | 300部国产真实乱 | 在线精品亚洲一区二区 | 久久亚洲日韩精品一区二区三区 | 中国女人内谢69xxxxxa片 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产精品久久久午夜夜伦鲁鲁 | 亚洲综合色区中文字幕 | 丰满少妇熟乱xxxxx视频 | 亚洲色www成人永久网址 | 久久 国产 尿 小便 嘘嘘 | 久久久无码中文字幕久... | 妺妺窝人体色www婷婷 | 国产成人无码av在线影院 | 无码人中文字幕 | 亚洲综合无码久久精品综合 | 无码av中文字幕免费放 | 国产av剧情md精品麻豆 | 中文字幕中文有码在线 | 荫蒂添的好舒服视频囗交 | 欧美 丝袜 自拍 制服 另类 | 人妻有码中文字幕在线 | 久久久婷婷五月亚洲97号色 | 色一情一乱一伦一视频免费看 | 麻豆av传媒蜜桃天美传媒 | 国产乱人伦偷精品视频 | 国产精品内射视频免费 | 久久久久久av无码免费看大片 | 性生交大片免费看l | 男人扒开女人内裤强吻桶进去 | 伊人色综合久久天天小片 | 天天躁日日躁狠狠躁免费麻豆 | 天天综合网天天综合色 | 精品国偷自产在线视频 | 夜夜躁日日躁狠狠久久av | 欧美激情一区二区三区成人 | 特大黑人娇小亚洲女 | 欧美第一黄网免费网站 | 亚洲s色大片在线观看 | 狠狠色噜噜狠狠狠7777奇米 | 日本精品久久久久中文字幕 | 国产av一区二区三区最新精品 | 国产精品va在线播放 | 日本一卡二卡不卡视频查询 | 日韩 欧美 动漫 国产 制服 | 无码午夜成人1000部免费视频 | 妺妺窝人体色www婷婷 | 亚洲自偷自偷在线制服 | 少妇性l交大片欧洲热妇乱xxx | 无码国产乱人伦偷精品视频 | 精品人妻人人做人人爽 | 成熟妇人a片免费看网站 | 伊人久久大香线蕉亚洲 | 领导边摸边吃奶边做爽在线观看 | 天下第一社区视频www日本 | 国产精品亚洲一区二区三区喷水 | 97精品人妻一区二区三区香蕉 | 日日摸天天摸爽爽狠狠97 | 伊人久久大香线蕉午夜 | 亚洲乱码日产精品bd | 亚洲成av人片在线观看无码不卡 | 天天拍夜夜添久久精品 | 亚洲色欲色欲天天天www | 日韩视频 中文字幕 视频一区 | 久久综合给久久狠狠97色 | 亚洲精品午夜国产va久久成人 | 免费网站看v片在线18禁无码 | 亚洲无人区午夜福利码高清完整版 | 无码中文字幕色专区 | 黄网在线观看免费网站 | 一本久道久久综合狠狠爱 | 亚洲精品美女久久久久久久 | 亚洲成a人片在线观看无码 | 精品久久久久久人妻无码中文字幕 | 中文字幕 人妻熟女 | 小泽玛莉亚一区二区视频在线 | 亚洲国产av精品一区二区蜜芽 | 中文字幕日韩精品一区二区三区 | 国产内射老熟女aaaa | 激情国产av做激情国产爱 | 秋霞成人午夜鲁丝一区二区三区 | 亚洲色在线无码国产精品不卡 | 成人试看120秒体验区 | 久久久亚洲欧洲日产国码αv | 野外少妇愉情中文字幕 | 十八禁视频网站在线观看 | 伊人久久婷婷五月综合97色 | 亚洲 a v无 码免 费 成 人 a v | 亚洲精品国产精品乱码不卡 | 国产香蕉尹人综合在线观看 | 无码帝国www无码专区色综合 | 特级做a爰片毛片免费69 | 亚洲人成影院在线无码按摩店 | 人妻互换免费中文字幕 | 国产99久久精品一区二区 | 亚洲色欲久久久综合网东京热 | 国产精品毛多多水多 | 亚洲色欲色欲天天天www | 国产成人综合色在线观看网站 | 亚洲午夜无码久久 | 国产av剧情md精品麻豆 | 狠狠色欧美亚洲狠狠色www | 国产激情综合五月久久 | 午夜精品久久久久久久久 | 无码帝国www无码专区色综合 | 荫蒂被男人添的好舒服爽免费视频 | 国产成人一区二区三区别 | 日本精品久久久久中文字幕 | 精品 日韩 国产 欧美 视频 | 色综合久久88色综合天天 | 国产极品视觉盛宴 | 人妻少妇精品久久 | 日韩欧美中文字幕在线三区 | 亚洲精品国偷拍自产在线麻豆 | 在线观看欧美一区二区三区 | 欧美日韩综合一区二区三区 | 无码人妻久久一区二区三区不卡 | 精品厕所偷拍各类美女tp嘘嘘 | 小sao货水好多真紧h无码视频 | 丁香花在线影院观看在线播放 | 天天综合网天天综合色 | 大色综合色综合网站 | 最新国产麻豆aⅴ精品无码 | 国产成人无码区免费内射一片色欲 | 亚洲 高清 成人 动漫 | 欧美大屁股xxxxhd黑色 | 国产成人无码区免费内射一片色欲 | 无码精品人妻一区二区三区av | 99精品无人区乱码1区2区3区 | 成人无码视频在线观看网站 | 高清国产亚洲精品自在久久 | 成人三级无码视频在线观看 | 色情久久久av熟女人妻网站 | 亚洲国精产品一二二线 | 亚洲精品一区三区三区在线观看 | 亚洲人成影院在线观看 | 国产一区二区三区四区五区加勒比 | 无码乱肉视频免费大全合集 | 日韩在线不卡免费视频一区 | 精品一区二区三区无码免费视频 | 国产精品.xx视频.xxtv | 国产午夜手机精彩视频 | 久久久久久九九精品久 | 亚洲の无码国产の无码影院 | 亚洲精品一区国产 | 欧洲极品少妇 | 好爽又高潮了毛片免费下载 | 亚洲男人av天堂午夜在 | 精品欧洲av无码一区二区三区 | 欧美亚洲国产一区二区三区 | 久久久久亚洲精品中文字幕 | 国产无遮挡吃胸膜奶免费看 | 黑森林福利视频导航 | 国产一区二区三区精品视频 | 狠狠cao日日穞夜夜穞av | 国产无遮挡又黄又爽又色 | www一区二区www免费 | 亚洲码国产精品高潮在线 | 婷婷综合久久中文字幕蜜桃三电影 | 中文字幕日产无线码一区 | 国产精品亚洲综合色区韩国 | 日本一本二本三区免费 | 色综合视频一区二区三区 | 九一九色国产 | 领导边摸边吃奶边做爽在线观看 | 乱中年女人伦av三区 | 性生交大片免费看l | 人妻与老人中文字幕 | 综合激情五月综合激情五月激情1 | 国内精品久久久久久中文字幕 | 日韩精品无码一本二本三本色 | 久9re热视频这里只有精品 | 丰满人妻一区二区三区免费视频 | 欧美国产亚洲日韩在线二区 | 欧美激情综合亚洲一二区 | 131美女爱做视频 | 日本精品高清一区二区 | 精品久久久中文字幕人妻 | 国产成人无码a区在线观看视频app | 暴力强奷在线播放无码 | 国精产品一区二区三区 | 成人无码精品1区2区3区免费看 | 精品久久综合1区2区3区激情 | 色窝窝无码一区二区三区色欲 | 搡女人真爽免费视频大全 | 亚洲爆乳无码专区 | 国产性生大片免费观看性 | 久久成人a毛片免费观看网站 | 狠狠色色综合网站 | 精品一区二区三区无码免费视频 | 日韩人妻无码中文字幕视频 | 成人无码精品1区2区3区免费看 | 久久久国产一区二区三区 | 国产成人无码av一区二区 | 天天做天天爱天天爽综合网 | 中文字幕人妻无码一夲道 | 18无码粉嫩小泬无套在线观看 | 国产偷抇久久精品a片69 | 又大又黄又粗又爽的免费视频 | 伊人色综合久久天天小片 | 日本一区二区更新不卡 | 中文字幕无码免费久久99 | 亚洲精品一区二区三区大桥未久 | 中文字幕乱码中文乱码51精品 | 免费无码一区二区三区蜜桃大 | 亚洲 日韩 欧美 成人 在线观看 | 人妻aⅴ无码一区二区三区 | 无码人妻精品一区二区三区不卡 | 国产成人精品视频ⅴa片软件竹菊 | 无码国产色欲xxxxx视频 | 精品厕所偷拍各类美女tp嘘嘘 | 无码人妻丰满熟妇区毛片18 | 亚洲精品一区二区三区大桥未久 | 欧美日韩人成综合在线播放 | 波多野结衣乳巨码无在线观看 | 久久综合狠狠综合久久综合88 | 亚洲 激情 小说 另类 欧美 | 日本大乳高潮视频在线观看 | 日产精品高潮呻吟av久久 | 婷婷丁香五月天综合东京热 | 在线а√天堂中文官网 | 亚洲一区二区三区四区 | 一本大道伊人av久久综合 | 丰满人妻精品国产99aⅴ | 97精品国产97久久久久久免费 | 老熟妇乱子伦牲交视频 | 思思久久99热只有频精品66 | 亚洲人成影院在线无码按摩店 | 乌克兰少妇xxxx做受 | 一本加勒比波多野结衣 | 亚洲爆乳精品无码一区二区三区 | 俄罗斯老熟妇色xxxx | 亚洲日韩精品欧美一区二区 | 亚洲精品一区三区三区在线观看 | 大地资源中文第3页 | 少妇无套内谢久久久久 | 天堂亚洲免费视频 | 精品无码av一区二区三区 | 精品欧美一区二区三区久久久 | 久久99国产综合精品 | 欧美高清在线精品一区 | 99久久精品日本一区二区免费 | 精品无码国产一区二区三区av | 2020久久超碰国产精品最新 | 亚洲の无码国产の无码影院 | 亚洲中文字幕无码中文字在线 | 久久国语露脸国产精品电影 | 扒开双腿吃奶呻吟做受视频 | ass日本丰满熟妇pics | 日本护士毛茸茸高潮 | 精品久久久久久人妻无码中文字幕 | 亚洲精品一区二区三区大桥未久 | 3d动漫精品啪啪一区二区中 | 天海翼激烈高潮到腰振不止 | 日韩亚洲欧美精品综合 | 日本va欧美va欧美va精品 | 亚洲自偷自拍另类第1页 | 一个人免费观看的www视频 | 无码av岛国片在线播放 | av小次郎收藏 | 国产香蕉97碰碰久久人人 | 精品国产一区二区三区四区在线看 | 亚洲国精产品一二二线 | 精品无码国产一区二区三区av | 国产成人无码区免费内射一片色欲 | 亚洲国产综合无码一区 | 中文字幕av无码一区二区三区电影 | 午夜理论片yy44880影院 | 少妇愉情理伦片bd | 丁香花在线影院观看在线播放 | 国产精品无码一区二区三区不卡 | 亚欧洲精品在线视频免费观看 | 久久综合九色综合97网 | 国产一区二区三区日韩精品 | 十八禁真人啪啪免费网站 | 国产三级久久久精品麻豆三级 | 日韩精品久久久肉伦网站 | 久久精品中文字幕大胸 | 牲欲强的熟妇农村老妇女 | 中文字幕无码热在线视频 | 精品欧美一区二区三区久久久 | 日本欧美一区二区三区乱码 | 强伦人妻一区二区三区视频18 | 在线观看欧美一区二区三区 | 欧美日韩一区二区免费视频 | 扒开双腿疯狂进出爽爽爽视频 | 鲁鲁鲁爽爽爽在线视频观看 | 少妇无码一区二区二三区 | www国产亚洲精品久久久日本 | 中国大陆精品视频xxxx | 欧美精品一区二区精品久久 | 国产亚洲精品久久久久久 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 人妻人人添人妻人人爱 | 亚洲爆乳精品无码一区二区三区 | 秋霞成人午夜鲁丝一区二区三区 | 亚洲日韩av片在线观看 | 国产亚洲人成a在线v网站 | 九一九色国产 | 色五月五月丁香亚洲综合网 | 99视频精品全部免费免费观看 | 麻豆果冻传媒2021精品传媒一区下载 | 亚洲精品久久久久久一区二区 | 激情爆乳一区二区三区 | 中文字幕人成乱码熟女app | 性欧美牲交xxxxx视频 | 亚洲日韩av一区二区三区中文 | 久久综合色之久久综合 | 久久无码人妻影院 | 中文字幕无线码免费人妻 | 亚洲精品综合五月久久小说 | 美女黄网站人色视频免费国产 | 国产肉丝袜在线观看 | 国精品人妻无码一区二区三区蜜柚 | 亚洲精品中文字幕 | 蜜桃视频韩日免费播放 | 久久久精品人妻久久影视 | 久久午夜夜伦鲁鲁片无码免费 | 亚洲精品中文字幕 | 色一情一乱一伦一区二区三欧美 | 国产成人午夜福利在线播放 | 天天拍夜夜添久久精品大 | 亚洲小说春色综合另类 | 性欧美熟妇videofreesex | 国产性生交xxxxx无码 | 成年美女黄网站色大免费全看 | 亚洲男女内射在线播放 | 亚洲中文字幕在线无码一区二区 | 亚洲日韩av一区二区三区中文 | 亚洲国产成人a精品不卡在线 | 国产精品久久久久久亚洲毛片 | 亚洲理论电影在线观看 | 樱花草在线播放免费中文 | 国产乱人伦av在线无码 | 中文字幕+乱码+中文字幕一区 | 麻花豆传媒剧国产免费mv在线 | 亚洲乱码国产乱码精品精 | 2020久久超碰国产精品最新 | 51国偷自产一区二区三区 | 亚洲精品国偷拍自产在线麻豆 | 国产熟妇高潮叫床视频播放 | 一本久久a久久精品vr综合 | 欧美野外疯狂做受xxxx高潮 | 无码一区二区三区在线观看 | 亚洲精品午夜无码电影网 | 久久国产36精品色熟妇 | 国产内射老熟女aaaa | 理论片87福利理论电影 | 日韩少妇内射免费播放 | 麻豆果冻传媒2021精品传媒一区下载 | 欧美日韩一区二区综合 | 成人精品一区二区三区中文字幕 | 精品国产aⅴ无码一区二区 | 亚洲一区二区观看播放 | 亚洲乱亚洲乱妇50p | 麻豆精产国品 | 午夜丰满少妇性开放视频 | 伊人久久大香线焦av综合影院 | 色婷婷综合中文久久一本 | 在线a亚洲视频播放在线观看 | 一本一道久久综合久久 | 亚洲一区二区三区四区 | 特级做a爰片毛片免费69 | 国产精品igao视频网 | 伦伦影院午夜理论片 | 国产性生交xxxxx无码 | 亚洲精品中文字幕久久久久 | 中文无码伦av中文字幕 | 亚洲国产精品无码一区二区三区 | 少妇性l交大片欧洲热妇乱xxx | 亚洲小说春色综合另类 | 成年美女黄网站色大免费全看 | 在线a亚洲视频播放在线观看 | 白嫩日本少妇做爰 | 国产成人精品视频ⅴa片软件竹菊 | aa片在线观看视频在线播放 | 色综合久久88色综合天天 | 真人与拘做受免费视频一 | 男人扒开女人内裤强吻桶进去 | 亚洲va欧美va天堂v国产综合 | 福利一区二区三区视频在线观看 | 免费看男女做好爽好硬视频 | 国产精品久免费的黄网站 | 丰满妇女强制高潮18xxxx | 日日橹狠狠爱欧美视频 | 亚洲熟妇色xxxxx欧美老妇y | 天天燥日日燥 | 色婷婷久久一区二区三区麻豆 | 水蜜桃色314在线观看 | 无码免费一区二区三区 | 国产亚洲精品精品国产亚洲综合 | 无遮无挡爽爽免费视频 | 亚洲中文字幕在线无码一区二区 | 在线观看免费人成视频 | 久久综合九色综合欧美狠狠 | 丰满少妇熟乱xxxxx视频 | 成人性做爰aaa片免费看 | 日韩av无码一区二区三区 | 领导边摸边吃奶边做爽在线观看 | 亚洲人亚洲人成电影网站色 | 国产精品亚洲一区二区三区喷水 | 7777奇米四色成人眼影 | 亚洲 激情 小说 另类 欧美 | 无码人妻久久一区二区三区不卡 | 蜜桃臀无码内射一区二区三区 | 真人与拘做受免费视频 | 天天拍夜夜添久久精品大 | 成人精品视频一区二区 | 久久久久久久久蜜桃 | 国产精品手机免费 | 日本一本二本三区免费 | 少妇厨房愉情理9仑片视频 | 曰韩少妇内射免费播放 | 综合网日日天干夜夜久久 | 国产黄在线观看免费观看不卡 | 色婷婷综合激情综在线播放 | 性啪啪chinese东北女人 | 97夜夜澡人人爽人人喊中国片 | 国产女主播喷水视频在线观看 | 无码人妻出轨黑人中文字幕 | 2020久久香蕉国产线看观看 | 色情久久久av熟女人妻网站 | 永久免费观看美女裸体的网站 | 国产内射爽爽大片视频社区在线 | 男女猛烈xx00免费视频试看 | 亚洲欧美日韩综合久久久 | 国产97在线 | 亚洲 | 精品亚洲韩国一区二区三区 | 伊人久久大香线蕉午夜 | 久久天天躁夜夜躁狠狠 | 无码人妻久久一区二区三区不卡 | 亚洲欧洲中文日韩av乱码 | 无套内谢的新婚少妇国语播放 | 欧美 日韩 人妻 高清 中文 | 99久久精品国产一区二区蜜芽 | 久久人人爽人人人人片 | 国产精品亚洲а∨无码播放麻豆 | 999久久久国产精品消防器材 | 四十如虎的丰满熟妇啪啪 | 成人欧美一区二区三区黑人免费 | 成人性做爰aaa片免费看不忠 | 无码人妻丰满熟妇区毛片18 | 亚洲热妇无码av在线播放 | 成人无码视频免费播放 | 色综合久久久久综合一本到桃花网 | 国色天香社区在线视频 | 国产精品无码永久免费888 | 成人无码影片精品久久久 | 久久精品国产精品国产精品污 | 性欧美熟妇videofreesex | 大肉大捧一进一出视频出来呀 | 精品无码一区二区三区的天堂 | 精品偷拍一区二区三区在线看 | 中文无码成人免费视频在线观看 | 亚洲国产精品一区二区美利坚 | 成人精品视频一区二区 | 国精品人妻无码一区二区三区蜜柚 | 国产三级精品三级男人的天堂 | 国产婷婷色一区二区三区在线 | 亚洲精品久久久久久一区二区 | 亚洲日韩一区二区 | 亚洲高清偷拍一区二区三区 | 老司机亚洲精品影院无码 | 成人亚洲精品久久久久 | а√天堂www在线天堂小说 | 少女韩国电视剧在线观看完整 | 全黄性性激高免费视频 | 国产麻豆精品精东影业av网站 | 真人与拘做受免费视频一 | 大色综合色综合网站 | 人妻插b视频一区二区三区 | 亚洲男女内射在线播放 | 色综合久久网 | 免费看男女做好爽好硬视频 | 国产97色在线 | 免 | 亚洲熟妇色xxxxx欧美老妇 | 亚洲国产精品成人久久蜜臀 | 国产内射爽爽大片视频社区在线 | 国产精品第一国产精品 | 久久国产精品萌白酱免费 | 丰满妇女强制高潮18xxxx | 亚洲欧美综合区丁香五月小说 | 荫蒂添的好舒服视频囗交 | 亚洲中文无码av永久不收费 | 最近中文2019字幕第二页 | 国产香蕉尹人综合在线观看 | www国产亚洲精品久久网站 | 又粗又大又硬毛片免费看 | 国产艳妇av在线观看果冻传媒 | 无码国产乱人伦偷精品视频 | 亚洲综合色区中文字幕 | 精品无码一区二区三区的天堂 | 亚洲国精产品一二二线 | 天堂а√在线地址中文在线 | 久久久精品人妻久久影视 | 色婷婷香蕉在线一区二区 | 蜜桃av抽搐高潮一区二区 | 欧美亚洲日韩国产人成在线播放 | 国产综合色产在线精品 | 未满小14洗澡无码视频网站 | 97久久精品无码一区二区 | 日韩欧美群交p片內射中文 | 亚洲国产一区二区三区在线观看 | 久久精品中文闷骚内射 | 色综合久久中文娱乐网 | 午夜无码人妻av大片色欲 | 亚洲成av人在线观看网址 | 成人毛片一区二区 | 99精品视频在线观看免费 | 亚洲午夜福利在线观看 | 精品人妻人人做人人爽夜夜爽 | 少妇无套内谢久久久久 | 中文字幕久久久久人妻 | 国产精品无码永久免费888 | 国产三级精品三级男人的天堂 | 国产sm调教视频在线观看 | 亚洲色成人中文字幕网站 | 55夜色66夜色国产精品视频 | 亚洲精品美女久久久久久久 | www成人国产高清内射 | 美女黄网站人色视频免费国产 | 动漫av一区二区在线观看 | 亚洲 高清 成人 动漫 | 性欧美熟妇videofreesex | 少妇无码吹潮 | 99国产精品白浆在线观看免费 | 欧洲熟妇精品视频 | 黑人巨大精品欧美一区二区 | 又色又爽又黄的美女裸体网站 | 亚洲第一网站男人都懂 | 国产综合久久久久鬼色 | 欧美日韩在线亚洲综合国产人 | 天天拍夜夜添久久精品 | 性欧美牲交在线视频 | 永久黄网站色视频免费直播 | 成 人 免费观看网站 | 亚洲毛片av日韩av无码 | 成人av无码一区二区三区 | 国内揄拍国内精品人妻 | 波多野结衣高清一区二区三区 | 国产国语老龄妇女a片 | 4hu四虎永久在线观看 | 欧美色就是色 | 亚洲欧美精品伊人久久 | 国产精品久久精品三级 | 欧美猛少妇色xxxxx | 超碰97人人射妻 | 好屌草这里只有精品 | 日韩av无码一区二区三区 | 夜夜高潮次次欢爽av女 | 国产成人精品久久亚洲高清不卡 | 三上悠亚人妻中文字幕在线 | 疯狂三人交性欧美 | 久久五月精品中文字幕 | 人人妻人人澡人人爽欧美精品 | 成人aaa片一区国产精品 | 中文字幕亚洲情99在线 | 青青久在线视频免费观看 | 国产精品99爱免费视频 | 一本久久a久久精品亚洲 | 亚洲国产精品无码久久久久高潮 | 亚洲精品综合一区二区三区在线 | 国产va免费精品观看 | 精品国产成人一区二区三区 | 色婷婷av一区二区三区之红樱桃 | 欧美 亚洲 国产 另类 | 中文无码精品a∨在线观看不卡 | 亚洲gv猛男gv无码男同 | 中文无码成人免费视频在线观看 | 亚洲国产成人a精品不卡在线 | 国产人妻大战黑人第1集 | 国产精品99爱免费视频 | 日韩亚洲欧美中文高清在线 | 无码人妻av免费一区二区三区 | 在教室伦流澡到高潮hnp视频 | a在线亚洲男人的天堂 | 丰满少妇女裸体bbw | 亚洲人交乣女bbw | 亚洲 欧美 激情 小说 另类 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产国产精品人在线视 | 4hu四虎永久在线观看 | 国产精品视频免费播放 | 久久亚洲日韩精品一区二区三区 | 麻豆精产国品 | 国产综合久久久久鬼色 | 丰满人妻精品国产99aⅴ | 成人亚洲精品久久久久 | 国产成人人人97超碰超爽8 | 精品久久久久久人妻无码中文字幕 | 一本大道久久东京热无码av | 亚洲人交乣女bbw | 亚洲国产精品一区二区美利坚 | 成人免费无码大片a毛片 | 无码人妻丰满熟妇区毛片18 | 午夜精品久久久久久久久 | 在线 国产 欧美 亚洲 天堂 | 亚洲成av人综合在线观看 | 中文字幕无线码免费人妻 | 99精品久久毛片a片 | 国产精品爱久久久久久久 | 久久久久成人片免费观看蜜芽 | 午夜丰满少妇性开放视频 | 国产精品无码久久av | 人妻少妇精品无码专区动漫 | 亚洲精品综合一区二区三区在线 | 婷婷五月综合激情中文字幕 | 色婷婷久久一区二区三区麻豆 | 久久无码专区国产精品s | 一本久道久久综合婷婷五月 | 在线播放亚洲第一字幕 | 国产成人精品必看 | 人人爽人人澡人人人妻 | 亚洲国产欧美日韩精品一区二区三区 | 性色欲情网站iwww九文堂 | 亚洲综合无码久久精品综合 | 欧美 日韩 人妻 高清 中文 | 在线视频网站www色 | 亚洲欧美中文字幕5发布 | 九九在线中文字幕无码 | 亚洲 高清 成人 动漫 | 对白脏话肉麻粗话av | 六十路熟妇乱子伦 | 一个人免费观看的www视频 | 亚洲精品综合五月久久小说 | 欧美性黑人极品hd | 老头边吃奶边弄进去呻吟 | 少妇无码吹潮 | 在线播放亚洲第一字幕 | 1000部啪啪未满十八勿入下载 | 丁香花在线影院观看在线播放 | 丰满人妻被黑人猛烈进入 | 精品一区二区不卡无码av | 狠狠色噜噜狠狠狠7777奇米 | 国产人妻精品一区二区三区不卡 | 免费男性肉肉影院 | 亚洲无人区午夜福利码高清完整版 | 久久久精品成人免费观看 | 18精品久久久无码午夜福利 | 精品久久久久久亚洲精品 | 樱花草在线社区www | 亚洲一区二区三区香蕉 | 婷婷六月久久综合丁香 | 欧美熟妇另类久久久久久多毛 | 水蜜桃亚洲一二三四在线 | 中文字幕乱妇无码av在线 | 国产无遮挡吃胸膜奶免费看 | 老司机亚洲精品影院 | 国产97人人超碰caoprom | 亚洲欧美综合区丁香五月小说 | 日韩精品成人一区二区三区 | 精品亚洲韩国一区二区三区 | 四虎永久在线精品免费网址 | 少妇性l交大片欧洲热妇乱xxx | av小次郎收藏 | 中文字幕无码视频专区 | 欧美丰满熟妇xxxx | 无码av中文字幕免费放 | 2020久久香蕉国产线看观看 | 中文字幕人成乱码熟女app | 国色天香社区在线视频 | 麻豆国产人妻欲求不满谁演的 | 欧美freesex黑人又粗又大 | 亚洲精品中文字幕 | 中文字幕无码日韩专区 | 国产精品无码一区二区桃花视频 | 欧美丰满熟妇xxxx性ppx人交 | 天堂亚洲2017在线观看 | 18禁黄网站男男禁片免费观看 | 又紧又大又爽精品一区二区 | 国产午夜精品一区二区三区嫩草 | 人妻人人添人妻人人爱 | 亚洲 欧美 激情 小说 另类 | 丝袜人妻一区二区三区 | 久久成人a毛片免费观看网站 | 色欲人妻aaaaaaa无码 | 欧美成人家庭影院 | 日日躁夜夜躁狠狠躁 | 狠狠躁日日躁夜夜躁2020 | 亚洲熟妇自偷自拍另类 | 夜夜躁日日躁狠狠久久av | 久久精品国产日本波多野结衣 | 乱人伦人妻中文字幕无码久久网 | 乌克兰少妇xxxx做受 | 久久久久久a亚洲欧洲av冫 | 精品无码国产一区二区三区av | 99久久99久久免费精品蜜桃 | 亚洲欧美日韩综合久久久 | 日韩人妻系列无码专区 | 欧美精品无码一区二区三区 | v一区无码内射国产 | 国产精品爱久久久久久久 | 欧美日韩一区二区免费视频 | 人妻少妇被猛烈进入中文字幕 | 久久国产精品精品国产色婷婷 | 欧美老妇交乱视频在线观看 | 蜜桃av抽搐高潮一区二区 | 男人的天堂2018无码 | 亚洲欧美国产精品专区久久 | 国产午夜精品一区二区三区嫩草 | 国产亚av手机在线观看 | 亚洲国产成人av在线观看 | 成人av无码一区二区三区 | 青草青草久热国产精品 | 亚洲欧美色中文字幕在线 | 妺妺窝人体色www婷婷 | 亚洲精品综合一区二区三区在线 | 狠狠躁日日躁夜夜躁2020 | 午夜免费福利小电影 | 国产亚洲人成a在线v网站 | 成人精品天堂一区二区三区 | 亚洲一区二区三区国产精华液 | 国产激情综合五月久久 | 亚洲成av人片在线观看无码不卡 | 欧美激情综合亚洲一二区 | 狠狠色欧美亚洲狠狠色www | 国产精品二区一区二区aⅴ污介绍 | 性生交大片免费看l | 色噜噜亚洲男人的天堂 | 九一九色国产 | 人妻人人添人妻人人爱 | 欧美日韩色另类综合 | 亚洲人成网站在线播放942 | 成 人 网 站国产免费观看 | 中文字幕无码免费久久9一区9 | 国产明星裸体无码xxxx视频 | 久久婷婷五月综合色国产香蕉 | 久久久久国色av免费观看性色 | 香蕉久久久久久av成人 | 国产一精品一av一免费 | 精品熟女少妇av免费观看 | 亚洲七七久久桃花影院 | 国产精品无码一区二区桃花视频 | 毛片内射-百度 | 少妇高潮喷潮久久久影院 | 欧美精品国产综合久久 | 婷婷色婷婷开心五月四房播播 | 久久精品国产99久久6动漫 | 精品一区二区三区无码免费视频 | 人人妻人人澡人人爽欧美一区九九 | 女人和拘做爰正片视频 | 在线观看欧美一区二区三区 | 欧美日本精品一区二区三区 | 日韩少妇白浆无码系列 | 天堂亚洲免费视频 | 亚洲呦女专区 | 国产精品沙发午睡系列 | 丰满人妻翻云覆雨呻吟视频 | 美女毛片一区二区三区四区 | 性开放的女人aaa片 | 精品午夜福利在线观看 | 中文字幕 人妻熟女 | 国产精品亚洲lv粉色 | 国产精品国产自线拍免费软件 | 国产在线一区二区三区四区五区 | 荫蒂被男人添的好舒服爽免费视频 | 丝袜人妻一区二区三区 | 亚洲日韩av一区二区三区四区 | 亚洲综合另类小说色区 | 中文字幕乱码亚洲无线三区 | 日本一卡二卡不卡视频查询 | 亚洲中文字幕无码中字 | 无码任你躁久久久久久久 | 少妇人妻av毛片在线看 | 捆绑白丝粉色jk震动捧喷白浆 | 在线成人www免费观看视频 | 巨爆乳无码视频在线观看 | 色欲av亚洲一区无码少妇 | 夜夜影院未满十八勿进 | 精品国产aⅴ无码一区二区 | 强奷人妻日本中文字幕 | 国产精品对白交换视频 | 亚洲精品国产精品乱码不卡 | 国产av一区二区精品久久凹凸 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 99久久人妻精品免费二区 | 国产免费久久精品国产传媒 | 性欧美大战久久久久久久 | 色情久久久av熟女人妻网站 | 强伦人妻一区二区三区视频18 | 波多野42部无码喷潮在线 | 中文精品久久久久人妻不卡 | 国产精品无码一区二区桃花视频 | 日本高清一区免费中文视频 | 无码人中文字幕 | 亚洲精品www久久久 | 国产乱码精品一品二品 | 亚洲精品成人av在线 | 色一情一乱一伦一视频免费看 | 四虎影视成人永久免费观看视频 | 一本大道久久东京热无码av | 国产成人无码av在线影院 | 人人妻人人澡人人爽欧美一区 | 亚洲国产精品久久人人爱 | 国产成人综合美国十次 | 永久免费观看美女裸体的网站 | 熟妇女人妻丰满少妇中文字幕 | 久久久www成人免费毛片 | 国产成人久久精品流白浆 | 国产精品a成v人在线播放 | 99国产欧美久久久精品 | 中文字幕无码热在线视频 | 亚洲综合久久一区二区 | 麻豆果冻传媒2021精品传媒一区下载 | 伊人色综合久久天天小片 | 久久精品人人做人人综合试看 | 老太婆性杂交欧美肥老太 | 牛和人交xxxx欧美 | 四虎影视成人永久免费观看视频 | 熟妇人妻无乱码中文字幕 | 亚洲 日韩 欧美 成人 在线观看 | 国产精品对白交换视频 | 亚洲s码欧洲m码国产av | 香港三级日本三级妇三级 | 在线成人www免费观看视频 | 丰满人妻精品国产99aⅴ | 水蜜桃亚洲一二三四在线 | 免费人成在线观看网站 | 精品久久久久香蕉网 | 内射巨臀欧美在线视频 | 久久精品国产99久久6动漫 | 给我免费的视频在线观看 | 天天摸天天碰天天添 | 丰满人妻一区二区三区免费视频 | 香蕉久久久久久av成人 | 亚洲va欧美va天堂v国产综合 | 无码精品人妻一区二区三区av | 国产无av码在线观看 | 精品水蜜桃久久久久久久 | 男女下面进入的视频免费午夜 | 免费无码一区二区三区蜜桃大 | 日韩精品久久久肉伦网站 | 台湾无码一区二区 | 日韩欧美中文字幕公布 | 日本高清一区免费中文视频 | 超碰97人人做人人爱少妇 | 日本丰满护士爆乳xxxx | 国产一区二区三区四区五区加勒比 | 中文字幕日韩精品一区二区三区 | 欧美精品国产综合久久 | 粉嫩少妇内射浓精videos | 99久久人妻精品免费二区 | 国产午夜精品一区二区三区嫩草 | 未满小14洗澡无码视频网站 | 成人片黄网站色大片免费观看 | 东京热男人av天堂 | 午夜时刻免费入口 | a国产一区二区免费入口 | 人人妻人人澡人人爽人人精品 | 色情久久久av熟女人妻网站 | 国精产品一区二区三区 | 伊在人天堂亚洲香蕉精品区 | 精品乱子伦一区二区三区 | 粉嫩少妇内射浓精videos | 亚洲精品久久久久中文第一幕 | 高清不卡一区二区三区 | 男女作爱免费网站 | 无码成人精品区在线观看 | 欧美人妻一区二区三区 | 久久伊人色av天堂九九小黄鸭 | 日本又色又爽又黄的a片18禁 | 亚洲精品一区二区三区婷婷月 | 亚洲欧美中文字幕5发布 | 日本精品高清一区二区 | 樱花草在线社区www | 亚洲热妇无码av在线播放 | 久久精品国产日本波多野结衣 | 一本加勒比波多野结衣 | 狠狠色噜噜狠狠狠狠7777米奇 | 51国偷自产一区二区三区 | 无码精品人妻一区二区三区av | 蜜臀av在线播放 久久综合激激的五月天 | 国产成人精品优优av | 激情五月综合色婷婷一区二区 | 狠狠色噜噜狠狠狠7777奇米 | 中文字幕无线码免费人妻 | 亚洲大尺度无码无码专区 | 2020最新国产自产精品 | 六十路熟妇乱子伦 | 欧美熟妇另类久久久久久多毛 | 一区二区三区乱码在线 | 欧洲 | 麻豆蜜桃av蜜臀av色欲av | 久久久www成人免费毛片 | 国精品人妻无码一区二区三区蜜柚 | 日日天干夜夜狠狠爱 | 曰韩无码二三区中文字幕 | 欧美丰满熟妇xxxx | 欧美激情一区二区三区成人 | 日韩精品乱码av一区二区 | 精品国产青草久久久久福利 | 免费无码一区二区三区蜜桃大 | 美女张开腿让人桶 | 300部国产真实乱 | 亚洲最大成人网站 | 一区二区传媒有限公司 | 美女黄网站人色视频免费国产 | 中文字幕乱码亚洲无线三区 | 精品无码国产一区二区三区av | 国产片av国语在线观看 | 中文字幕无码免费久久9一区9 | 精品久久久久久亚洲精品 | 久久人人爽人人爽人人片ⅴ | 国产人妻久久精品二区三区老狼 | 国产亚洲精品久久久久久 | 亚洲熟妇色xxxxx欧美老妇y | 性生交大片免费看l | 日本大乳高潮视频在线观看 | 久久久久久久久蜜桃 | 麻豆蜜桃av蜜臀av色欲av | 亚洲色偷偷偷综合网 | 亚洲精品久久久久久久久久久 | 大肉大捧一进一出视频出来呀 | 无遮挡国产高潮视频免费观看 | 一本大道久久东京热无码av | 欧美 丝袜 自拍 制服 另类 | 亚洲日本va午夜在线电影 | 成年女人永久免费看片 | 在线成人www免费观看视频 | 日本va欧美va欧美va精品 | 亚洲一区二区三区四区 | 国产sm调教视频在线观看 | 中文久久乱码一区二区 | 国产舌乚八伦偷品w中 | 国产精品久久久久久亚洲影视内衣 | 性欧美大战久久久久久久 | 少妇无码一区二区二三区 | 波多野结衣一区二区三区av免费 | 日本大乳高潮视频在线观看 | 99精品国产综合久久久久五月天 | 国产av剧情md精品麻豆 | 老熟妇乱子伦牲交视频 | 久久亚洲日韩精品一区二区三区 | 爽爽影院免费观看 | 亚洲中文字幕无码中文字在线 | 亚洲色在线无码国产精品不卡 | 丁香花在线影院观看在线播放 | 2020久久超碰国产精品最新 | 欧美成人家庭影院 | 高清国产亚洲精品自在久久 | 人妻无码久久精品人妻 | 东北女人啪啪对白 | 亚洲色欲色欲欲www在线 | 无码人妻丰满熟妇区毛片18 | 国产熟女一区二区三区四区五区 | 午夜福利不卡在线视频 | 久久久久久av无码免费看大片 | 亚洲精品无码人妻无码 | 亚洲精品无码国产 | 国产综合久久久久鬼色 | 国产精华av午夜在线观看 | 国产乱码精品一品二品 | 亚洲码国产精品高潮在线 | 国产精华av午夜在线观看 | 久久精品人人做人人综合试看 | 国产精品内射视频免费 | 欧美人与牲动交xxxx | 无码国产色欲xxxxx视频 | 国产午夜无码视频在线观看 | 亚洲毛片av日韩av无码 | 日韩av无码一区二区三区 | 精品午夜福利在线观看 | 久久 国产 尿 小便 嘘嘘 | a片免费视频在线观看 | aⅴ亚洲 日韩 色 图网站 播放 | ass日本丰满熟妇pics | 荫蒂添的好舒服视频囗交 | 福利一区二区三区视频在线观看 | 国产口爆吞精在线视频 | 国产乱人伦av在线无码 | 亚洲一区二区三区播放 | 秋霞成人午夜鲁丝一区二区三区 | 女人被爽到呻吟gif动态图视看 | 131美女爱做视频 | 亚洲成av人影院在线观看 | 爱做久久久久久 | 国产日产欧产精品精品app | 日本护士毛茸茸高潮 | 高清不卡一区二区三区 | 国产亚洲美女精品久久久2020 | 黑人巨大精品欧美一区二区 | 国产香蕉尹人综合在线观看 | 又黄又爽又色的视频 | 久久人人爽人人爽人人片av高清 | 亚洲精品久久久久久一区二区 | 欧美精品无码一区二区三区 | 国产色在线 | 国产 | 欧美黑人性暴力猛交喷水 | 日产精品99久久久久久 | 麻豆国产97在线 | 欧洲 | 久久国产精品二国产精品 | 狂野欧美激情性xxxx | 99国产欧美久久久精品 | 日韩精品乱码av一区二区 | 日韩人妻少妇一区二区三区 | 国产精品毛多多水多 | 日日鲁鲁鲁夜夜爽爽狠狠 | 人人超人人超碰超国产 | 一本无码人妻在中文字幕免费 | 日本在线高清不卡免费播放 | 欧美一区二区三区视频在线观看 | 亚洲日韩乱码中文无码蜜桃臀网站 | 4hu四虎永久在线观看 | 无码福利日韩神码福利片 | 97色伦图片97综合影院 | 麻花豆传媒剧国产免费mv在线 | 亚洲精品成人福利网站 | 久久精品丝袜高跟鞋 | 无码午夜成人1000部免费视频 | 丝袜足控一区二区三区 | 成人毛片一区二区 | 欧美性生交活xxxxxdddd | 在线精品亚洲一区二区 | 蜜臀aⅴ国产精品久久久国产老师 | 国产另类ts人妖一区二区 | 亚洲熟熟妇xxxx | 成人毛片一区二区 | 亚洲国产成人av在线观看 | 999久久久国产精品消防器材 | 亚欧洲精品在线视频免费观看 | 国产亚洲tv在线观看 | 国产精品久久久久久久9999 | 亚洲成av人片在线观看无码不卡 | 无码乱肉视频免费大全合集 | 人人妻人人澡人人爽人人精品 | 2019午夜福利不卡片在线 | 偷窥日本少妇撒尿chinese | 人人妻人人藻人人爽欧美一区 | 精品夜夜澡人妻无码av蜜桃 | 蜜桃视频插满18在线观看 | 欧美 日韩 人妻 高清 中文 | 鲁鲁鲁爽爽爽在线视频观看 | 成人av无码一区二区三区 | 少妇人妻大乳在线视频 | 一本久久伊人热热精品中文字幕 | 无码国产乱人伦偷精品视频 | 国产婷婷色一区二区三区在线 | 东京热无码av男人的天堂 | 国产精品久久久av久久久 | 亚洲の无码国产の无码影院 | 无码人妻精品一区二区三区不卡 | 久久久www成人免费毛片 | 国产激情无码一区二区 | 无码吃奶揉捏奶头高潮视频 | 亚洲区欧美区综合区自拍区 | 亚洲日韩一区二区 | 亚洲欧洲日本综合aⅴ在线 | 99久久99久久免费精品蜜桃 | 55夜色66夜色国产精品视频 | 亚洲中文字幕在线无码一区二区 | 精品熟女少妇av免费观看 | 国产精品人人妻人人爽 | www国产亚洲精品久久久日本 | 自拍偷自拍亚洲精品被多人伦好爽 | 亚洲一区二区三区香蕉 | 欧洲熟妇精品视频 | 欧美老人巨大xxxx做受 | 亚洲成在人网站无码天堂 | 性欧美牲交xxxxx视频 | 乌克兰少妇性做爰 | 午夜时刻免费入口 | 国产人成高清在线视频99最全资源 | 人人爽人人澡人人高潮 | 97精品人妻一区二区三区香蕉 | 无码毛片视频一区二区本码 | 男人的天堂2018无码 | 99精品视频在线观看免费 | 鲁大师影院在线观看 | 国产一区二区三区四区五区加勒比 | 亚洲国产欧美国产综合一区 | 俺去俺来也在线www色官网 | 国产香蕉尹人综合在线观看 | 十八禁视频网站在线观看 | 国产精品久久久av久久久 | 日韩精品一区二区av在线 | 日本熟妇人妻xxxxx人hd | 国产成人无码av一区二区 | 日本在线高清不卡免费播放 | 国产av无码专区亚洲awww | 亚洲中文字幕av在天堂 | 内射欧美老妇wbb | 蜜桃无码一区二区三区 | 日日橹狠狠爱欧美视频 | 亚洲色欲久久久综合网东京热 | 成人性做爰aaa片免费看不忠 | 欧美精品无码一区二区三区 | 亚洲精品美女久久久久久久 | 日产精品高潮呻吟av久久 | 99久久久无码国产aaa精品 | 精品亚洲韩国一区二区三区 | 动漫av一区二区在线观看 | 最近中文2019字幕第二页 | 无码毛片视频一区二区本码 | 亚洲精品国产品国语在线观看 | 日韩人妻少妇一区二区三区 | 久久综合久久自在自线精品自 | 亚洲va欧美va天堂v国产综合 | 国产精品丝袜黑色高跟鞋 | 亚洲精品国偷拍自产在线麻豆 | 久久国产自偷自偷免费一区调 | 中文精品无码中文字幕无码专区 | 久久久av男人的天堂 | 亚洲国产精品久久久久久 | 国产精华av午夜在线观看 | 99久久久无码国产aaa精品 | 99麻豆久久久国产精品免费 | 国产人妻精品一区二区三区不卡 | 欧美国产日韩久久mv | 无码任你躁久久久久久久 | 久久久久人妻一区精品色欧美 | 免费人成在线观看网站 | 亚洲狠狠婷婷综合久久 | 国产成人无码午夜视频在线观看 | 亚洲精品久久久久avwww潮水 | 欧美国产亚洲日韩在线二区 | 国产无av码在线观看 | 久久精品人人做人人综合 | 麻豆国产97在线 | 欧洲 | 四虎4hu永久免费 | 国产舌乚八伦偷品w中 | 亚洲精品无码人妻无码 | 伦伦影院午夜理论片 | 三级4级全黄60分钟 | 老司机亚洲精品影院无码 | 日韩精品成人一区二区三区 | 欧美丰满熟妇xxxx | 狂野欧美性猛交免费视频 | 日韩精品成人一区二区三区 | 国产精品办公室沙发 | 日日噜噜噜噜夜夜爽亚洲精品 | 伊人久久婷婷五月综合97色 | 中文字幕av伊人av无码av | 久久www免费人成人片 | 亚洲人成影院在线观看 | 亚洲狠狠色丁香婷婷综合 | 一区二区三区乱码在线 | 欧洲 | 国产精品久久国产三级国 | 18禁黄网站男男禁片免费观看 | 精品久久久久久人妻无码中文字幕 | 国内精品人妻无码久久久影院蜜桃 | 暴力强奷在线播放无码 | 正在播放东北夫妻内射 | 精品无人国产偷自产在线 | 国产电影无码午夜在线播放 | 亚洲一区二区三区香蕉 | 精品无码国产自产拍在线观看蜜 | 日韩人妻无码中文字幕视频 | 久久久精品国产sm最大网站 | 国产超碰人人爽人人做人人添 | 国内综合精品午夜久久资源 | 亚洲人亚洲人成电影网站色 | 日韩无套无码精品 | 欧美国产日韩久久mv | 国产午夜亚洲精品不卡下载 | 国产真实乱对白精彩久久 | 成人免费视频视频在线观看 免费 | 久久精品视频在线看15 | 亚洲日韩一区二区三区 | 色综合久久久无码网中文 | 色婷婷欧美在线播放内射 | 精品 日韩 国产 欧美 视频 | 无码人妻精品一区二区三区不卡 | 亚洲成色www久久网站 | 熟女俱乐部五十路六十路av | 亚洲va中文字幕无码久久不卡 | 水蜜桃亚洲一二三四在线 | 两性色午夜免费视频 | 荫蒂添的好舒服视频囗交 | 色婷婷av一区二区三区之红樱桃 | 亚洲啪av永久无码精品放毛片 | 亚洲精品一区二区三区在线 | 国产精品无码成人午夜电影 | 亚洲一区二区三区在线观看网站 | 国产偷自视频区视频 | 久久精品一区二区三区四区 | 激情爆乳一区二区三区 | 亚洲の无码国产の无码步美 | 嫩b人妻精品一区二区三区 | 麻豆精品国产精华精华液好用吗 | 国产精品va在线观看无码 | 鲁大师影院在线观看 | 亚洲综合精品香蕉久久网 | 国产精品第一国产精品 | 亚洲成av人片天堂网无码】 | 中文字幕人成乱码熟女app | 国产精品久久久久无码av色戒 | 人人爽人人爽人人片av亚洲 | 精品国产一区二区三区四区在线看 | 狠狠cao日日穞夜夜穞av | 国产人妻精品一区二区三区不卡 | 人人超人人超碰超国产 | 大肉大捧一进一出视频出来呀 | 76少妇精品导航 | 成 人 网 站国产免费观看 | 野外少妇愉情中文字幕 | 欧美激情一区二区三区成人 | 久久久久久亚洲精品a片成人 | 久久99热只有频精品8 | 国产精品无码永久免费888 | 国产亚洲日韩欧美另类第八页 | 精品国产一区二区三区四区在线看 | 欧美日韩人成综合在线播放 | 国产激情综合五月久久 | 国产美女极度色诱视频www | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲欧美中文字幕5发布 | 欧美人与善在线com | 欧洲极品少妇 | 日韩av无码一区二区三区不卡 | 中文字幕无码免费久久9一区9 | 鲁鲁鲁爽爽爽在线视频观看 | 99久久精品国产一区二区蜜芽 | 亚洲精品国产品国语在线观看 | 精品人妻中文字幕有码在线 | 伊人久久大香线蕉亚洲 | 国产黑色丝袜在线播放 | 久久人人爽人人人人片 | 精品一区二区三区波多野结衣 | 波多野结衣av一区二区全免费观看 | 色综合久久88色综合天天 | 黑人大群体交免费视频 | 久久亚洲国产成人精品性色 | 婷婷五月综合激情中文字幕 | 国产九九九九九九九a片 | 精品国产精品久久一区免费式 | 精品久久综合1区2区3区激情 | 人人妻人人澡人人爽精品欧美 | 久久精品人人做人人综合试看 | 老子影院午夜精品无码 | 无码人妻出轨黑人中文字幕 | 国产激情一区二区三区 | 亚洲成色在线综合网站 | 色综合久久网 | 思思久久99热只有频精品66 | 国产精品久久久久久无码 | 亚洲国产综合无码一区 | 欧美35页视频在线观看 | 精品熟女少妇av免费观看 | 国产真实夫妇视频 | 乱码av麻豆丝袜熟女系列 | 亚洲综合伊人久久大杳蕉 | 精品国偷自产在线 | 免费国产成人高清在线观看网站 | 国产精品美女久久久 | а天堂中文在线官网 | 中文字幕久久久久人妻 | 76少妇精品导航 | 内射白嫩少妇超碰 | 自拍偷自拍亚洲精品被多人伦好爽 | 国产免费久久久久久无码 | 日韩精品一区二区av在线 | 老子影院午夜精品无码 | 一个人免费观看的www视频 | 亚洲日本va中文字幕 | 久久精品视频在线看15 | 国产熟妇高潮叫床视频播放 | 国产精品办公室沙发 | 国产精品久久久久久亚洲影视内衣 | 精品无码成人片一区二区98 | 无码福利日韩神码福利片 | 色欲久久久天天天综合网精品 | 日韩人妻少妇一区二区三区 | 无码纯肉视频在线观看 | 东京无码熟妇人妻av在线网址 | 久久综合网欧美色妞网 | 亚洲中文字幕va福利 | 亚洲欧美色中文字幕在线 | 国产精品亚洲一区二区三区喷水 | 中文无码精品a∨在线观看不卡 | 欧美人与物videos另类 | 久久综合网欧美色妞网 | 国产午夜手机精彩视频 | 亚洲精品国产精品乱码视色 | 无码人妻丰满熟妇区五十路百度 | 未满小14洗澡无码视频网站 | 永久免费精品精品永久-夜色 | 久久国产精品偷任你爽任你 | 性生交大片免费看女人按摩摩 | 中文字幕无码av波多野吉衣 | 久久久久久久人妻无码中文字幕爆 | 爱做久久久久久 | 亚洲乱码国产乱码精品精 | av无码久久久久不卡免费网站 | 亚洲人亚洲人成电影网站色 | 精品亚洲韩国一区二区三区 | 欧美人与牲动交xxxx | 国产午夜福利亚洲第一 | 欧美三级a做爰在线观看 | 性做久久久久久久久 | 日韩精品无码一区二区中文字幕 | 自拍偷自拍亚洲精品被多人伦好爽 | 亚洲 日韩 欧美 成人 在线观看 | 野外少妇愉情中文字幕 | 亚洲欧美日韩综合久久久 | 亚洲综合精品香蕉久久网 | 67194成是人免费无码 | 国产亚洲欧美日韩亚洲中文色 | 欧美第一黄网免费网站 | 成人女人看片免费视频放人 | 亚洲 激情 小说 另类 欧美 | 东京热无码av男人的天堂 | 国产精品a成v人在线播放 | 亚欧洲精品在线视频免费观看 | 牲欲强的熟妇农村老妇女视频 | 男女下面进入的视频免费午夜 | 精品无人区无码乱码毛片国产 | 亚洲中文字幕在线无码一区二区 | 欧美亚洲国产一区二区三区 | 欧美熟妇另类久久久久久不卡 | 无码国模国产在线观看 | 午夜性刺激在线视频免费 | 乱人伦人妻中文字幕无码 | 国产成人综合色在线观看网站 | 国产精品国产三级国产专播 | 亚洲一区二区观看播放 | 欧美日韩久久久精品a片 | 蜜臀av无码人妻精品 | 久久久亚洲欧洲日产国码αv | 亚洲精品成人av在线 | 国产亚洲tv在线观看 | 亚洲人亚洲人成电影网站色 | 在线观看国产午夜福利片 | 亚洲人成网站在线播放942 | 国产av一区二区三区最新精品 | 强奷人妻日本中文字幕 | 国产免费无码一区二区视频 | 日韩欧美中文字幕在线三区 | 性史性农村dvd毛片 | 狠狠色欧美亚洲狠狠色www | 精品国产一区二区三区四区 | 人妻夜夜爽天天爽三区 | 国产精品99爱免费视频 | 亚洲中文字幕在线无码一区二区 | 国产精华av午夜在线观看 | 亚洲精品国偷拍自产在线麻豆 | 色五月丁香五月综合五月 | 国产精品高潮呻吟av久久4虎 | 性欧美大战久久久久久久 | 亚洲va欧美va天堂v国产综合 | 99精品久久毛片a片 | 亚洲人成影院在线无码按摩店 | 黑人粗大猛烈进出高潮视频 | 国产综合色产在线精品 | 人妻无码αv中文字幕久久琪琪布 | 国产亚av手机在线观看 | 欧美国产日产一区二区 | 久久精品人妻少妇一区二区三区 | 久久99精品久久久久久动态图 | 2020久久超碰国产精品最新 | 国产精品久久久久久亚洲影视内衣 | 欧美性生交xxxxx久久久 | 奇米影视7777久久精品 | 国产在线无码精品电影网 | 精品国偷自产在线 | 欧美野外疯狂做受xxxx高潮 | 永久黄网站色视频免费直播 | 精品少妇爆乳无码av无码专区 | 天天躁日日躁狠狠躁免费麻豆 | 荫蒂添的好舒服视频囗交 | 色情久久久av熟女人妻网站 | 日本又色又爽又黄的a片18禁 | av香港经典三级级 在线 | 人人澡人人透人人爽 | 精品国产福利一区二区 | 色一情一乱一伦一视频免费看 | 精品国产av色一区二区深夜久久 | 成人一在线视频日韩国产 | 国产特级毛片aaaaaaa高清 | 又湿又紧又大又爽a视频国产 | 性做久久久久久久免费看 | 2019nv天堂香蕉在线观看 | 国产精华av午夜在线观看 | 国产小呦泬泬99精品 | 99麻豆久久久国产精品免费 | 99久久人妻精品免费二区 | 国产内射老熟女aaaa | 日韩精品a片一区二区三区妖精 | 鲁鲁鲁爽爽爽在线视频观看 | 高清无码午夜福利视频 | 人人爽人人爽人人片av亚洲 | 老子影院午夜精品无码 | 久久久久久国产精品无码下载 | 欧美 丝袜 自拍 制服 另类 | 给我免费的视频在线观看 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 蜜桃av抽搐高潮一区二区 | 国产又爽又猛又粗的视频a片 | 日本熟妇大屁股人妻 | 免费播放一区二区三区 | 日韩在线不卡免费视频一区 | 亚洲中文字幕在线无码一区二区 | 国产熟女一区二区三区四区五区 | 亚洲精品一区二区三区婷婷月 | 久久久精品国产sm最大网站 | 国产精品人人妻人人爽 | 高清国产亚洲精品自在久久 | 色综合视频一区二区三区 | 日韩亚洲欧美中文高清在线 | 日本精品久久久久中文字幕 | 国产乱人伦av在线无码 | 国产成人一区二区三区在线观看 | 午夜丰满少妇性开放视频 | 欧美激情综合亚洲一二区 | 精品国产一区二区三区av 性色 | 无码人妻丰满熟妇区毛片18 | 在线 国产 欧美 亚洲 天堂 | 国产精品久久久久影院嫩草 | 欧美丰满熟妇xxxx | 永久免费精品精品永久-夜色 | 无码纯肉视频在线观看 | 免费人成在线观看网站 | 亚无码乱人伦一区二区 | 国产成人精品一区二区在线小狼 | 中文字幕无码人妻少妇免费 | 亚洲人成网站色7799 | aⅴ在线视频男人的天堂 | 国产真实乱对白精彩久久 | 又粗又大又硬毛片免费看 | 欧美性色19p | 成人片黄网站色大片免费观看 | 亚洲午夜久久久影院 | 久久人妻内射无码一区三区 | 中文字幕+乱码+中文字幕一区 | 丰满少妇弄高潮了www | 久久婷婷五月综合色国产香蕉 | 亚洲一区二区三区播放 | 欧美freesex黑人又粗又大 | 18无码粉嫩小泬无套在线观看 | 国产精品久久久久久久9999 | 日韩欧美群交p片內射中文 | 色诱久久久久综合网ywww | 成人综合网亚洲伊人 | 欧美变态另类xxxx | 免费看男女做好爽好硬视频 | 国产综合色产在线精品 | 伊人久久大香线焦av综合影院 | 亚洲人亚洲人成电影网站色 | 人妻少妇精品视频专区 | 老熟女重囗味hdxx69 | 极品嫩模高潮叫床 | 成年美女黄网站色大免费全看 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 未满成年国产在线观看 | 久久视频在线观看精品 | 亚洲精品午夜国产va久久成人 | 性生交片免费无码看人 | 久久精品国产亚洲精品 | 在线精品国产一区二区三区 | 中文字幕人妻丝袜二区 | 精品欧洲av无码一区二区三区 | 在教室伦流澡到高潮hnp视频 | 久久国产劲爆∧v内射 | 又紧又大又爽精品一区二区 | 老熟女重囗味hdxx69 | 精品久久久中文字幕人妻 | 国产成人无码av片在线观看不卡 | 日日躁夜夜躁狠狠躁 | 国产超级va在线观看视频 | 国产精品久久久久7777 | 国产精品毛片一区二区 | 动漫av网站免费观看 | 亚洲精品国偷拍自产在线麻豆 | 国产成人精品视频ⅴa片软件竹菊 | 中文字幕乱妇无码av在线 | 人人妻人人澡人人爽精品欧美 | 在线 国产 欧美 亚洲 天堂 | 中文字幕+乱码+中文字幕一区 | 少妇性l交大片欧洲热妇乱xxx | 国产99久久精品一区二区 | 大地资源网第二页免费观看 | 国产xxx69麻豆国语对白 | 无码人妻丰满熟妇区五十路百度 | 国产 浪潮av性色四虎 | 亚洲 高清 成人 动漫 | 亚洲爆乳精品无码一区二区三区 |