當前位置:首頁 » 操作系統 » linux內核選項

linux內核選項

發布時間: 2022-08-05 23:32:01

㈠ 如何定製自己的linux內核

一 前言

為什麼要編譯自己的內核?這可能會有各種不同的答案,列舉如下:
1 為了研究,學習內核源碼
2 為了支持新的硬體或者打開某項內核功能。
3 升級內核到更新版本。
4 按自己的要求定製和優化內核功能。
如此種種...
折騰不需要理由,這里我就不在多說,下面直接進入主題。
編譯方式
編譯內核有多種方式,從kernel.org下載選擇下載需要的版本的內核源碼,
如:linux-2.6.32-rc1.tar.bz2,下載內核源碼到/home/user/目錄,進入下載目錄,解壓壓縮包。

#cd /home/user/
#tar -xjvf linux-2.6.32-rc1.tar.bz2

二 准備編譯環境

開始之前,首先確認下面軟體包已經安裝(編譯中標普華4.0時,直接全部安裝CD3可保證此條件)。
* rpmdevtools
* yum-utils
fedora系統可以使用如下命令安裝:
#yum install yum-utils rpmdevtools

1. 生成一個rpmbuild命令工作所需的目錄樹,下面命令可以完成該操作,也可以手動建立目錄樹。
命令建立:
#rpmdev-setuptree

此命令將會在/usr/src/rpmbuild/目錄下生成如下目錄結構(如果此位置沒有,則可能在當前用戶目錄下).

# tree /usr/src/rpmbuild/
rpmbuild/
|-- BUILD
|-- RPMS
|-- SOURCES
|-- SPECS
`-- SRPMS
上面部分是rpmbuild的環境建立。rpm
3. 安裝內核源碼包需要的依賴組件(在此可以跳過此步操作)

su -c 'yum-builddep kernel-<version>.src.rpm'
4.安裝內核源碼到系統,默認目錄在/usr/src/neoshine:

rpm -Uvh kernel-<version>.src.rpm

三 配置內核(生成config配置文件)

下面將介紹如何解開源碼包,並修改,配置和重新打包源碼
1. 解開源碼包並打上所有的補丁到BUILD目錄

cd ~/rpmbuild/SPECS
rpmbuild -bp --target=`uname -m` kernel.spec

kernel源碼將在這里找到:

/usr/src/neoshine/rpmbuild/BUILD/kernel-<version>/linux-<version>.<arch> directory

配置內核源碼
1. 進入內核源碼:

cd ~/rpmbuild/BUILD/kernel-2.6.$ver/linux-2.6.$ver.$arch/
2. 復制/boot/config*配置文件到源碼目錄下,此config文件也可以是已經配好或者其他地方備份的kernel配置文件:

cp /boot/config2.6- 2.6.$ver.$arch .config
3. 先檢查kernel配置中新增的選項:

make oldconfig
4. 定製內核功能,關閉initrd支持選項,執行圖形化內核配置工具:

make menuconfig
註:在generic setup選項下找到initial RAM system and RAM disk(initramfs and initrd) support 項,取消編譯。同時確保跟文件系統對應的驅動和系統所在存儲器對應的驅動都已經編譯到內核(否則會無法啟動系統).

5. 在.config文件第一行改為下面內容(注意:沒有此行時,後面的編譯會報錯)

# i386
6. 拷貝.config到SOURCES/:

cp .config ../SOURCES/config-$arch

四 編譯新內核

1. 下面開始准備編譯新的內核包
打開SPEC/kernel.spec

vim SPEC/kernel.spec
改變下面行內容,可以定製自己的內核擴展名(如fc10之類):

%define buildid .<自己內核的小版本名>
下一步將生成一個新內核的rpm包,此過程需要編譯內核源碼包
使用下面命令生成新的內核源碼包
rpmbuild -bb --with baseonly --without debuginfo --target=`uname -m` kernel.spec

參數說明:bb表示只編譯二進制包,即不生成源碼包,without debuginfo 表示沒有調試信息,
target=`uname -r`表示生成對應當前平台的內核包
如果上面的命令成功執行完成,那麼會在BUILD/i686目錄下生成新的內核安裝包

五 安裝新內核

rpm -ivh kernel-$ver-$arch.rpm
此步操作會自動安裝內核到boot目錄下,安裝對應內核模塊到/lib/moles/目錄下,並且生成新內核對應的grub引導菜單。
修改grub引導菜單為以下格式

title new kernel
kernel /boot/vmlinuz-$ver-$arch root=/dev/sdax(hdax)

注意,此處不要使用uuid指定跟文件系統(可能會無法掛載根分區而導致內核死機),也不要再加和顯示相關的參數(內核不支持對應設置時,只會看到一個黑黑的屏幕)。
至此一個禁用initrd的新內核配置安裝完畢!

㈡ linux啟動時怎麼選擇新舊內核

已安裝內核的新版本(例如,實現 SMP 支持),那不需要下載任何代碼 -- 跳過此部分繼續下一屏。
您可以在 上找到內核代碼。當您進入到那後,您將發現內核的源代碼按內核版本(v2.2、v2.3 等),被組織到多個不同的目錄中。在每個目錄中,您將發現文件被冠以"linux-x.y.z.tar.gz"和"linux-x.y.z.tar.bz2"。這些就是 Linux 內核的源代碼。您也將看到冠以 "patch-x.y.z.gz" 和 "patch-x.y.z.bz2" 的文件。這些是用來更新前面完整的內核源代碼的補丁包。如果您希望編譯一個新的內核版本,您將需要下載這些"linux"文件其中之一。
內核解包
如果您已從 kernel.org 下載一個新的內核,現在是要將其解包時候了。首先,cd /usr/src。如果這里有一個存在的"linux"目錄,將其改名為"linux.old" ("mv linux linux.old",以 root 許可權)。
現在,可以解開新的內核包了。仍然在 /usr/src 目錄下,輸入 tar xzvf /path/to/my/kernel-x.y.z.tar.gz 或者 cat /path/to/my/kernel-x.y.z.tar.bz2 | bzip2 -d | tar xvf -,根據您下載的源代碼是用 gzip 或 bzip2 壓縮的。在輸入完此命令後,您下載的內核源代碼會被釋放到一個新的"linux"目錄下。注意 -- 全套內核源代碼通常將在硬碟上佔用超過 50 兆空間!
討論配置問題
在您編譯內核前,您需要配置它,配置是您精確控制在新內核中啟用(禁止)哪些內核功能的機會。您也將控制哪些會被編譯到內核的二進制映像(在啟動時被載入)而哪些被編譯到需要時載入的內核模塊文件。
老式配置內核的方法是極為痛苦的過程,並涉及到進入 /usr/src/linux 目錄並輸入 make config 命令。請放棄這種配置內核的方式 -- 除非您想在命令行上回答幾百個(對!幾百個)「yes/no」的問題。
配置的新途徑
我們是現代人類,我們不在輸入 make config,而是輸入 make menuconfig 或者 make xconfig。如果您想要配置您的內核,使用上述選擇之一。如果您輸入 make menuconfig,您將使用一個漂亮的基於文本的彩色菜單系統來配置內核。如果您輸入 make xconfig,您將使用一個更漂亮的基於 X-Window 的 GUI 界面來配置內核的各種選項。這里有一個使用 "make menuconfig" 的屏幕截圖:

當使用 "make menuconfig" 時,在左面出現一個 "< >" 的選項能被編譯成為一個模塊。當選項被選中,按下空格鍵來循環選擇選項是被選中或未選中, ("<*>")表示將被編譯成內核映像而("<M>")表示將被編譯成模塊。
配置技巧
在這里有極其多的內核選項,而且我們無法在此一一解釋 -- 所以請利用內核內置的幫助功能。基本上每個選項都至少有一些描述,而且每個通常都有一行"如果您不知道這個選項的含義,輸入 Y。(或者 N)"。這些提示在您不知道一個特定選項的含義時能幫助您。要使用幫助,選中您有疑問的選項然後按 "?" 鍵。
編譯和安裝內核
make dep; make clean
一旦您的內核配置完畢,就可開始編譯它了。在我們能編譯它前,我們需要生成依賴(dependency)信息並清除任何老的"編譯結果"。這可以通過在 /usr/src/linux 下輸入 make dep; make clean 完成。
make bzImage
現在是編譯真正的二進制內核映像時候了。輸入 make bzImage。過幾分鍾後,編譯會結束而且您在 /usr/src/linux/arch/i386/boot(x86 PC 內核)目錄下找到 bzImage 文件。我們將待會告訴您如何安裝這個新內核,但是現在我們要看看模塊編譯了。
編譯模塊
現在我們有了 bzImage,下面要編譯模塊了。即使您在配置內核時沒有使用任何模塊,也不要跳過此步驟 -- 在編譯完 bzImage 後立刻編譯模塊是個好習慣。而且,如果您真的沒有模塊需要編譯,這個步驟也非常快就結束了。輸入 make moles; make moles_install。這將導致模塊被編譯而且被安裝到 /usr/lib/<內核版本號> 目錄下。
祝賀您!您的內核已經被編譯完成了,您的內核模塊也編譯完成並被安裝。現在是要重新配置 LILO,這樣您能使用新的內核。
啟動配置
LILO 入門
現在是最後來重新配置 LILO 的時候了,它將負責載入新的內核。LILO 是最流行的 Linux 引導工具,而且為所有的主流 Linux 發行商所採用。您要作的第一件事是察看您的 /etc/lilo.conf 文件。它將包含一行看似 "image=/vmlinuz" 的語句。該語句告訴 LILO 到何處找到內核。
啟動配置, 第二部分
要配置 LILO 來使用新的內核,您有兩種選擇。第一個是覆蓋您現有的內核 -- 除非您手頭上有一些緊急啟動措施如還有此內核的引導盤,這很危險的方法。
更為安全的選擇是配置 LILO 是得它能從新的或舊的內核引導。LILO 可配置成從新內核預設啟動,但仍提供一種方法讓您遇上問題時能選擇舊的內核來啟動。這是推薦的作法,也是我們將隨後介紹的方法。
啟動配置, 第三部分
您的 lilo.conf 文件有可能看起來如下:
boot=/dev/hda
delay=20
vga=normal
root=/dev/hda1
read-only

image=/vmlinuz
label=linux
要在您的 lilo.conf 文件中增添新的項目,參見下列步驟。首先,拷貝 /usr/src/linux/arch/i386/boot/bzImage 到您的根(root)分區上的一個文件,例如 /vmlinuz2。一旦拷貝完畢,復制您 lilo.conf 文件的最後三行並將它們添加到該文件的最後... 我們即將結束整個步驟了...
啟動配置, 第四部分
現在,您的 lilo.conf 文件應該看起來如下:
boot=/dev/hda
delay=20
vga=normal
root=/dev/hda1
read-only

image=/vmlinuz
label=linux

image=/vmlinuz
label=linux
首先,將第一個 "image=" 行改為 "image=/vmlinuz2"。其次,將第二個 "label=" 行改為 "label=oldlinux"。然後,確定在文件的開始有一行 "delay=20" -- 如果沒有,增添一行。如果它已經存在,將數字至少設為 20。
啟動配置, 第五部分
您最後的 lilo.conf 文件將看起來如下:
boot=/dev/hda
delay=20
vga=normal
root=/dev/hda1
read-only

image=/vmlinuz2
label=linux

image=/vmlinuz
label=oldlinux
作完這些修改後,您將需要以 root 身份運行 "lilo"。這非常重要!如果您不執行此步,啟動的過程無法繼續。運行 "lilo" 將給 lilo 一個機會來更新它的啟動映射。
啟動配置, 詳解
現在我們詳細地解釋一下我們所作的改動。這個 lilo.conf 文件可以用來允許您啟動兩個不同的內核。它允許您啟動您原來的內核,位於 /vmlinuz 目錄下。它也允許您啟動新的內核,位於 /vmlinuz2 目錄下。在預設情況下,它將嘗試啟動您的新內核(指向新內核的 image/label 行首先出現在配置文件中)。
如果,出於某種原因,您需要啟動舊內核,只需在重新啟動計算機時按住 Shift 鍵。LILO 將會監測到此操作,然後允許您輸入要啟動的映像標簽名。要啟動舊內核,您需要輸入 "oldlinux",然後按回車鍵。要看到有哪些選擇,您可按 TAB 鍵。

㈢ Linux中為什麼要配置內核,怎樣重新配置內核

新的內核修訂了舊內核的bug,並增加了許多新的特性。如果用戶想要使用這些新特性,或想根據自己的系統度身定製一個更高效,更穩定的內核,就需要重新編譯Linux內核。
為了正確的合理地設置內核編譯配置選項,從而只編譯系統需要的功能的代碼,一般主要有下面四個考慮:
(1)自己定製編譯的內核運行更快(具有更少的代碼)
(2)系統將擁有更多的內存(內核部分將不會被交換到虛擬內存中)
(3)不需要的功能編譯進入內核可能會增加被系統攻擊者利用的漏洞
(4)
將某種功能編譯為模塊方式會比編譯到內核內的方式速度要慢一些

㈣ 一般優化linux的內核,需要優化什麼參數

作為高性能WEB伺服器,只調整Nginx本身的參數是不行的,因為Nginx服務依賴於高性能的操作系統。

以下為常見的幾個Linux內核參數優化方法。

  • net.ipv4.tcp_max_tw_buckets

  • 對於tcp連接,服務端和客戶端通信完後狀態變為timewait,假如某台伺服器非常忙,連接數特別多的話,那麼這個timewait數量就會越來越大。
    畢竟它也是會佔用一定的資源,所以應該有一個最大值,當超過這個值,系統就會刪除最早的連接,這樣始終保持在一個數量級。
    這個數值就是由net.ipv4.tcp_max_tw_buckets這個參數來決定的。
    CentOS7系統,你可以使用sysctl -a |grep tw_buckets來查看它的值,默認為32768,
    你可以適當把它調低,比如調整到8000,畢竟這個狀態的連接太多也是會消耗資源的。
    但你不要把它調到幾十、幾百這樣,因為這種狀態的tcp連接也是有用的,
    如果同樣的客戶端再次和服務端通信,就不用再次建立新的連接了,用這個舊的通道,省時省力。

  • net.ipv4.tcp_tw_recycle = 1

  • 該參數的作用是快速回收timewait狀態的連接。上面雖然提到系統會自動刪除掉timewait狀態的連接,但如果把這樣的連接重新利用起來豈不是更好。
    所以該參數設置為1就可以讓timewait狀態的連接快速回收,它需要和下面的參數配合一起使用。

  • net.ipv4.tcp_tw_reuse = 1

  • 該參數設置為1,將timewait狀態的連接重新用於新的TCP連接,要結合上面的參數一起使用。

  • net.ipv4.tcp_syncookies = 1

  • tcp三次握手中,客戶端向服務端發起syn請求,服務端收到後,也會向客戶端發起syn請求同時連帶ack確認,
    假如客戶端發送請求後直接斷開和服務端的連接,不接收服務端發起的這個請求,服務端會重試多次,
    這個重試的過程會持續一段時間(通常高於30s),當這種狀態的連接數量非常大時,伺服器會消耗很大的資源,從而造成癱瘓,
    正常的連接進不來,這種惡意的半連接行為其實叫做syn flood攻擊。
    設置為1,是開啟SYN Cookies,開啟後可以避免發生上述的syn flood攻擊。
    開啟該參數後,服務端接收客戶端的ack後,再向客戶端發送ack+syn之前會要求client在短時間內回應一個序號,
    如果客戶端不能提供序號或者提供的序號不對則認為該客戶端不合法,於是不會發ack+syn給客戶端,更涉及不到重試。

  • net.ipv4.tcp_max_syn_backlog

  • 該參數定義系統能接受的最大半連接狀態的tcp連接數。客戶端向服務端發送了syn包,服務端收到後,會記錄一下,
    該參數決定最多能記錄幾個這樣的連接。在CentOS7,默認是256,當有syn flood攻擊時,這個數值太小則很容易導致伺服器癱瘓,
    實際上此時伺服器並沒有消耗太多資源(cpu、內存等),所以可以適當調大它,比如調整到30000。

  • net.ipv4.tcp_syn_retries

  • 該參數適用於客戶端,它定義發起syn的最大重試次數,默認為6,建議改為2。

  • net.ipv4.tcp_synack_retries

  • 該參數適用於服務端,它定義發起syn+ack的最大重試次數,默認為5,建議改為2,可以適當預防syn flood攻擊。

  • net.ipv4.ip_local_port_range

  • 該參數定義埠范圍,系統默認保留埠為1024及以下,以上部分為自定義埠。這個參數適用於客戶端,
    當客戶端和服務端建立連接時,比如說訪問服務端的80埠,客戶端隨機開啟了一個埠和服務端發起連接,
    這個參數定義隨機埠的范圍。默認為32768 61000,建議調整為1025 61000。

  • net.ipv4.tcp_fin_timeout

  • tcp連接的狀態中,客戶端上有一個是FIN-WAIT-2狀態,它是狀態變遷為timewait前一個狀態。
    該參數定義不屬於任何進程的該連接狀態的超時時間,默認值為60,建議調整為6。

  • net.ipv4.tcp_keepalive_time

  • tcp連接狀態里,有一個是established狀態,只有在這個狀態下,客戶端和服務端才能通信。正常情況下,當通信完畢,
    客戶端或服務端會告訴對方要關閉連接,此時狀態就會變為timewait,如果客戶端沒有告訴服務端,
    並且服務端也沒有告訴客戶端關閉的話(例如,客戶端那邊斷網了),此時需要該參數來判定。
    比如客戶端已經斷網了,但服務端上本次連接的狀態依然是established,服務端為了確認客戶端是否斷網,
    就需要每隔一段時間去發一個探測包去確認一下看看對方是否在線。這個時間就由該參數決定。它的默認值為7200秒,建議設置為30秒。

  • net.ipv4.tcp_keepalive_intvl

  • 該參數和上面的參數是一起的,服務端在規定時間內發起了探測,查看客戶端是否在線,如果客戶端並沒有確認,
    此時服務端還不能認定為對方不在線,而是要嘗試多次。該參數定義重新發送探測的時間,即第一次發現對方有問題後,過多久再次發起探測。
    默認值為75秒,可以改為3秒。

  • net.ipv4.tcp_keepalive_probes

  • 第10和第11個參數規定了何時發起探測和探測失敗後再過多久再發起探測,但並沒有定義一共探測幾次才算結束。
    該參數定義發起探測的包的數量。默認為9,建議設置2。
    設置和範例
    在Linux下調整內核參數,可以直接編輯配置文件/etc/sysctl.conf,然後執行sysctl -p命令生效

㈤ 如何配置linux內核

在做Virtualization這段時間,編譯過多次Linux kernel,編譯Kernel過程中配置config這一步是相對來說比較復雜的。對編譯內核過程中的配置這一步做詳細的說明吧,總結一下,多數內容源於網上的多篇文章。

首發在我的博客:http://renyongjie668.blog.163.com/blog/static/1600531201143010295156/

首先,配置時可能出現的選項,對其選擇先來個說明吧。
Typically, your choices for each option are shown in the format [Y/m/n/?] The capitalized letter is the default, and can be selected by just pressing the Enter key. The four choices are:
y Build directly into the kernel.
n Leave entirely out of the kernel.
m Build as a mole, to be loaded if needed.
? Print a brief descriptive message and repeat the prompt.
y表示是(相應功能將直接編譯進內核),m表示模塊(相應功能將編譯為一個模塊,在需要時載入),以及n表示否(相應功能不會包含進內核)。?則(對該配置項)列印出簡要的描述信息並重復剛才的選擇提示。
其次,我使用的最多的兩個配置命令分別是:make muneconfig和make oldconfig
make oldconfig和make config類似,但是它的作用是在現有的內核設置文件基礎上建立一個新的設置文件,只會向用戶提供有關新內核特性的問題,在新內核升級的過程 中,make oldconfig非常有用,用戶將現有的配置文件.config復制到新內核的源碼中,執行make oldconfig,此時,用戶只需要回答那些針對新增特性的問題。
make menuconfig基於終端的一種配置方式,提供了文本模式的圖形用戶界面,用戶可以通過游標移動來瀏覽所支持的各種特性。使用這用配置方式時,系統中必須安裝有ncurese庫。

在內核樹的根目錄中,有一個.config文件,它記錄了內核的配置選項,可直接對它進行修改,再運行。在.config文件中,每個配置和選項的值只能為」y」和」m」兩者之一,如果不需要這個特性不再支持她,那麼可以將對應的選項用」#」注釋掉。實際上,如果你手頭有合適的.config文件,可以運行make oldconfig 直接按.config的內容來配置$ sudo make oldconfig
對內核的配置都是圍繞.config來展開的. 即便開始.config文件不存在,進行配置後會創造它.
一般來說,內核配置保存於/usr/src/linux-*/.config文件中。在/boot/config-<版本>有其備份。請保留它以備後用。

常見的幾種配置方式:
為了完成內核的配置,必須切換到root用戶,然後轉入內核源碼目錄(就是你下載新內核的目錄):
#cd /usr/src/linux/linux-2.6.38
然後執行下面命令之一:
#make config
#make oldconfig
#make menuconfig
#make gconfig
#make defconfig
#make allyesconfig
#make allmodconfig

1.make config
基於文本的最為傳統的也是最為枯草的一種配置方式,但是它可以使用任何情況,這種方式會為每一個內核支持的特性向用戶提問,如果用戶回答「y」,則把特性編譯進內核;回答「m」,則它特性作為模塊進行編譯;回答「n」,則表示不對該特性提供支持
如果回答每個問題前,必須考慮清楚,如果在配置過程中犯了錯誤給了錯誤的回答,就只能按「ctcl+c」強行退出了

2.make oldconfig
make oldconfig和make config類似,但是它的作用是在現有的內核設置文件基礎上建立一個新的設置文件,只會向用戶提供有關新內核特性的問題,在新內核升級的過程 中,make oldconfig非常有用,用戶將現有的配置文件.config復制到新內核的源碼中,執行make oldconfig,此時,用戶只需要回答那些針對新增特性的問題
make silentoldconfig : Like above, but avoids cluttering the screen with questions already answered.和上面oldconfig一樣,但在屏幕上不再出現已在.config中配置好的選項。

3.make menuconfig
基於終端的一種配置方式,提供了文本模式的圖形用戶界面,用戶可以通過游標移動來瀏覽所支持的各種特性。使用這用配置方式時,系統中必須安裝有ncurese庫,否則會顯示「Unable to find the Ncurses libraies」的錯誤提示

4.make xoncifg
基 於X Winodws的一種配置方式,提供了漂亮的配置窗口,不過只有能夠在X Server上使用root用戶欲行X應用程序時,才能夠使用,它依賴於QT,如果系統中沒有安裝QT庫,則會出現「Unable to find the QT installation」的錯誤提示

5.make gconfig
與make xocnifg類似,不同的是make gconfig依賴於GTK庫

6.make defconfig
按照默認的配置文件arch/i386/defconfig對內核進行配置,生成.config可以用作初始化配置,然後再使用make menuconfig進行定製化配置

7.make allyesconfig
盡量多地使用「y」設置內核選項值,生成的配置中包含了全部的內核特性
make allnoconfig :除必須的選項外,其它選項一律不選. (常用於嵌入式系統).

8.make allmodconfig
盡可能多的使用「m」設置內核選項值來生成配置文件

下載好Linux內核源代碼後,在源代碼的根目錄執行
make localyesconfig或者make localmodconfig
然後系統就會根據你的硬體自動生成一個適應你的硬體的.config (內核的配置文件)
make localmodconfig會執行lsmod命令查看當前系統中載入了哪些模塊(Moles),並最後將原來的.config中不需要的模塊去掉,僅保留前面lsmod出來的這些模塊,從而簡化了內核的配置過程。
這樣做確實方便了很多,但是也有個缺點:該方法僅能使編譯出的內核支持當前內核已經載入的模塊。因為該方法使用的是lsmod的結果,如果有的模塊當前沒有載入,那麼就不會編到新的內核中。
There』s an additional 「make localyesconfig」 target, in case you don』t want to use moles and/or initrds.

幾條好的建議:
除非您使用初始化ramdisk (initrd),否則絕不要把掛載根文件系統必需的驅動程序(硬體驅動以及文件系統驅動)編譯成模塊!而如果您確實使用初始化ramdisk,請為ext2FS支持選項選擇Y,因為ramdisk使用該文件系統。您還需要initrd支持。
如果您系統中有網卡,將它們的驅動編譯成模塊。這樣,您就能夠在/etc/moles.conf中用別名定義哪一塊網卡第一,哪一塊第二,等等。如果您將驅動程序編譯進了內核,它們載入的順序將取決於當初它們鏈接進內核的順序,而這不一定是您想要的。
最後,如果您不清楚某個選項的含義,請閱讀其幫助!而如果該幫助信息依然不能解決您的困惑,請保留該選項原來的樣子。(在config和oldconfig中可以按?鍵訪問幫助。)
配置最終結束後,請保存您的配置並退出。

參考資料:

http://www.cnmaizi.com/tech/elebuild/simplify-linux-kernel-config-rapid-compile-method-collect/

http://man.ddvip.com/linux/Mandrakelinuxref/compiling-conf.html

http://www.huomo.cn/os/article-5d18.html

編譯 Linux2.6 內核總結: http://www.cublog.cn/u/13991/showart.php?id=79823

編譯內核:http://my.chinaunix.net/space.php?uid=25806768&do=blog&id=302764

內核_.config 內核配置及Makefile:http://www.cnblogs.com/parrynee/archive/2010/05/13/1734689.html

㈥ 如何看linux內核的配置選項

你要在目標文件夾(一般是/usr/src/kernels)下先解壓內核源代碼:tar jxvf linux-2.6.xx.xx.tar.bz2,然後cd到解壓後的源代碼目錄樹的根目錄下運行make指令。 make clean應該是支持的。如果還不行可以試試 make mrproper,這個清除得更徹底。

㈦ linux內核配置哪些是必須的

內核配置注意事項

如果打算自己編譯內核的話(內核源代碼可以到ftp://ftp.kernel.org/pub/kernel/ 下載,國內下載可以到ftp://ftp.cn.kernel.org/pub/kernel/ 這樣下載速度更快),在編譯之前一般都要先用make menuconfig或make xconfig配置內核。我的系統中沒有xconfig,所以只能用menuconfig。在我的Compaq Presario V3414TX laptop上編譯2.6.23.x內核時,以下選項是必須要注意的:

1、Networking -->

Wireless LAN -->

[M]Generic IEEE 802.11 Networking Stack (mac80211)

這是Linux當前使用的網路棧模塊。如果想要使用無線網卡(我的是Intel PRO/3945 ABG),就要將此選項編為模塊(或者編入內核也可以,那樣啟動時就會自動載入mac80211模塊)。否則到時候就要自己去intellinuxwireless.org下載該模塊進行安裝。

2、Device Drivers -->

Network Drivers -->

Wireless LAN-->

[M]Intel PRO/Wireless 3945ABG Network Connection

Intel PRO/Wireless 3945ABG Network Connection這一項可以換成你的任何無線網卡。同樣,如果你想使用無線網卡的話,這一項也是要編為模塊的。但是我最後編譯的2.6.23.14內核中沒有這一項,因此就必須到intellinuxwireless.org下載3495ABG的驅動了。

3、File System -->

DOS/FAT/NT Filesystems -->

<*> VFAT (Windows-95) fs support

(437) Default codepage for FAT (NEW)

(utf8) Default iocharset for FAT (NEW)

將 VFAT (Windows-95) fs support 選為y是為了讓內核能支持FAT格式硬碟的掛載。這里codepage要用437;在網上很多文章都說要用936,這樣才能讓FAT硬碟的文件名顯示支持中文,但事實上我這么做之後,在掛載FAT分區時卻被新內核提示無法掛載,系統日誌顯示找不到codepage 936——可是我已經將codepage 936編進內核了啊(下文會說明),因此在這一點上我相當困惑。後來發現FAT分區的中文文件名能否正確顯示是取決於 Default iocharset for FAT 這一項,其字元編碼要使用utf8才行。原因上,也許是因為Windows的FAT分區默認的字元編碼是ascii或gb2312,而Linux默認的是utf8編碼,認不得gb2312……這個地方我也不太明白。

4、File System -->

Native Language Support -->

[M]Simplified Chinese charset (CP936, GB2312)

想要中文支持的話,當然要選上這一項(事實上Native Language Support 這一欄我就沒動,默認是全部選上的,其中ASCII一項默認被編進內核)。

5、Kernel hacking -->

[ ]Use 4Kb for kernel stacks instead of 8Kb

如果想要使用ndiswrapper作為無線網卡驅動的話,這一項就要選為n。因為據說Windows和Linux的棧結構是不一樣的。

㈧ linux內核選項 experimental

除了硬體相關的選項應該說都是可有可無的
就是影響功能
experimental的功能肯定都是新引入的
所以保留默認應該影響不到正常使用

就是這些功能啟用的話有很小的概率會出現BUG(不過只要是正式版(不是rc mm之類的)就都還是很穩定的),求穩的話可以不用

內核的選項基本都是這么回事

㈨ linux內核選項,定製自己的linux內核

那個 munuconfig 看文檔沒用的,大部分都是驅動,和硬體相關的設置。沒有一定的計算機知識,你是搞不定的。
建議先安裝你的 Linux 發行版的內核源代碼,之後用你發行版提供的內核配置來編譯一個內核,等編譯好了再修改這個內核配置來常識。多多編譯多多用你編譯的內核啟動就行了。

PS:內核可以 xconfig 啟用 QT 界面的圖形配置界面,這個方便、直觀些。不過需要安裝很多附加的開發環境的。建議改用 Fedora 系統來研究。

熱點內容
安卓手機的雲備份在哪裡能找到 發布:2025-01-17 00:14:12 瀏覽:471
詐騙的腳本 發布:2025-01-16 23:51:27 瀏覽:314
電腦配置有點低怎麼玩和平精英 發布:2025-01-16 23:46:14 瀏覽:818
ipfs分布式伺服器是什麼幣種 發布:2025-01-16 23:32:29 瀏覽:991
android動態icon 發布:2025-01-16 23:03:12 瀏覽:605
優酷電腦緩存在哪 發布:2025-01-16 22:58:29 瀏覽:298
進口途銳哪個配置好 發布:2025-01-16 22:35:24 瀏覽:962
骨幹路由器怎麼配置 發布:2025-01-16 22:24:39 瀏覽:244
途安2021款買哪個配置 發布:2025-01-16 22:21:01 瀏覽:329
圖片的壓縮原理 發布:2025-01-16 22:17:15 瀏覽:493