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

linux內核配置

發布時間: 2023-06-03 11:07:27

㈠ 如何配置linux內核具有nfs的功能

1、使用的技術

NFS

2、測試環境

NFS伺服器:192.168.255.18

NFS客戶端:192.168.255.11

操作系統:REDHAT4

3、NFS伺服器配置

(1)配置 /etc/hosts.deny

禁止任何客戶端能和你的NFS伺服器進行NFS連接:

### NFS DAEMONS
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

(2)配置/etc/hosts.allow

允許那些你想要的客戶端和你的NFS伺服器建立連接。下列步驟將允許任何IP地址
以192.168.2開頭的主機(連接到NFS伺服器上),也可以指定特定的IP地址。

### NFS DAEMONS
portmap: 192.168.255.
lockd: 192.168.255.
rquotad: 192.168.255.
mountd: 192.168.255.
statd: 192.168.255.

(3)重啟portmap

運行 $ /etc/init.d/portmap restart 重啟portmap daemon。

(4)配置/etc/exports

NFS掛載目錄及許可權由/etc/exports文件定義。比如要將我的/tmp目錄讓
192.168.255.*的IP共享, 則在該文件末尾添加下列語句:

/tmp 192.168.255.*(rw,sync,no_root_squash)

192.168.255.* 網段內的NFS客戶端能夠共享NFS伺服器/tmp目錄內容,且有讀,寫
許可權,並且該用戶進入/home/zp/share目錄後的身份為root,最好加上sync,否則
$ sudo exportfs -r 時會給出警告, sync是NFS的默認選項。

(5)重啟NFS服務

運行 $ /etc/init.d/nfs-kernel-server restart 重啟nfs服務)

(6)NFS伺服器查看共享是否成功

$ Showmount –e 192.168.255.18

/tmp 192.168.255.*

(6)NFS客戶端啟動NFS服務

service nfs start

(7)NFS客戶端查看伺服器共享目錄

Showmount –e 192.168.255.18

(8)掛載NFS伺服器共享目錄

mount –t nfs -o tcp192.168.255.18:/tmp /tmp

4、錯誤排查

當/etc/exports設置的許可權,不符合client端的來源時,則會出現以下錯誤信息:

mount: hostname:/dir failed, reason given by server: Permission denied

㈡ Linux內核dvfs之cpufreq配置

本文基於 RockPi 4A 單板 Linux4.4 內核介紹 OPP Table 。

內核中將頻率、電壓的相關配置放在 DTSI 文件中,這些配置信息組成的節點被稱為 OPP Table(Operating Performance Points) 。

定義文件: arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi ,內容如下:

上面節點中的相關屬性含義如下:

1、 opp-shared :表示 opp-table1 是小核的各 CPU 共用。

2、 rockchip,temp-hysteresis :遲滯參數,防止頻繁進入高溫或低溫,單位:毫攝氏度。

3、 rockchip,low-temp :低溫閾值。小於該值時,進入低溫,大於『該值+遲滯參數』時,恢復常溫。

4、 rockchip,low-temp-min-volt :低溫下最低電壓,單位:微伏。

5、 nvmem-cells :從 eFUSE 中讀取相關信息值(小核漏電流)。

6、 rockchip,pvtm-voltage-sel :min-pvtm(單位KHz)、max-pvtm(單位KHz)和 voltage-selector (用於匹配 opp 節點中 opp-microvolt-L* 屬性的序列號)。例:pvtm值為:0 ~ 143500 使用 opp-microvolt-L0 ,143501 ~ 148500使用 opp-microvolt-L1

7、 rockchip,pvtm-freq :時鍾頻率(KHz),在獲取 pvtm 的頻率前,先設置 CPU 頻率。

8、 rockchip,pvtm-volt :電壓(微伏),在獲取 pvtm 的頻率前,先設置 CPU 電壓。

9、 rockchip,pvtm-ch : PVTM 通道,格式<通道號 sel的序號>

10、 rockchip,pvtm-sample-time : PVTM 采樣時間,單位:毫秒。

11、 rockchip,pvtm-number : PVTM 采樣個數。

12、 rockchip,pvtm-error :允許采樣數據之間的誤差。

13、 rockchip,pvtm-ref-temp :參考溫度。

14、 rockchip,pvtm-temp-prop : PVTM 隨溫度變化的比例系數,格式<小於參考溫度的比例系數 大於參考溫度的比例系數>。

15、 rockchip,thermal-zone :獲取溫度的 thermal-zone 。

16、 opp-microvolt-L* :電壓(微伏),格式<target min max>

17、 clock-latency-ns :完成變頻需要的時間,單位:納秒。

在 RK3399 中,除了配置上述小核的 opp table 外,還設置了大核( cluster1_opp )、 gpu(gpu_opp_table) 等的相關值。查看命令如下:

註:

CPU PVTM(Process Voltage Temperature Monitor) 是一個位於 CPU 附近,能反應出不同晶元之間性能差異的模塊,受工藝,電壓和溫度 的影響。

參考:

Documentation/devicetree/bindings/cpufreq/cpufreq-rockchip.txt

Documentation/devicetree/bindings/cpufreq/cpufreq-rockchip.txt

㈢ Linux內核根目錄中的配置文件.config中包含了許多宏定義,

一、Linux內核的配置系統由三個部分組成,分別是:
1、Makefile:分布在 Linux 內核源代碼根目錄及各層目錄中,定義 Linux 內核的編譯規則;
2、配置文件(config.in(2.4內核,2.6內核)):給用戶提供配置選擇的功能;
3、配置工具:包括配置命令解釋器(對配置腳本中使用的配置命令進行解釋)和配置用戶界面(提供基於字元界面、基於 Ncurses 圖形界面以及基於 Xwindows 圖形界面的用戶配置界面,各自對應於 Make config、Make menuconfig 和 make xconfig)。這些配置工具都是使用腳本語言,如 Tcl/TK、Perl 編寫的(也包含一些用 C 編寫的代碼)。本文並不是對配置系統本身進行分析,而是介紹如何使用配置系統。所以,除非是配置系統的維護者,一般的內核開發者無須了解它們的原理,只需要知道如何編寫 Makefile 和配置文件就可以。

二、Make menuconfig過程分析

1、scripts文件夾存放的是跟make menuconfig配置界面的圖形繪制相關的文件,我們作為使用者無需關心這個文件夾的內容
2、讀取arch/arch/$ARCH/Kconfig以及各子目錄下的Kcondig文件,生成配置條目。
$ARCH由linux內核根目錄下的makefile文件決定
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
Kconfig文件中為配置信息的宏定義,與我們在make menuconfig圖形界面看到的信息一致。
例如:
config CPU_S3C2410_DMA
bool
depends on S3C2410_DMA && (CPU_S3C2410 || CPU_S3C2442)
default y if CPU_S3C2410 || CPU_S3C2442
help
DMA device selection for S3C2410 and compatible CPUs
因此,Kconfig文件很重要的作用就是:定義配置宏、相關依賴關系、幫助信息
3、讀取內核根目錄下.config文件,生成配置選項:[*]編譯進內核 [M]編譯為模塊 [ ]不編譯
arch/arm/configs/文件夾下存放了一些配置模板
我們可以通過cp /arch/arm/configs/xx_defconfig .config來使用這些配置模板
通過圖形界面變更配置選項會自動更新到.config文件中
make disclean 會刪除.config
4、編譯過程根據.config生成 Linux內核根目錄下的 include/config/auto.conf文件
CONFIG_EEPROM_93CX6=m
CONFIG_DM9000=y
根目錄Makefile以及子目錄的Makefile根據auto.conf生成編譯條件
obj-$(CONFIG_DM9000) += dm9000.o //obj-m += dm9000.o
5、編譯過程根據.config生成Linux內核根目錄下的 include/linux/autoconf.h文件
.config 或 auto.conf 中定義要編譯為 m 模塊的項,如:
CONFIG_DEBUG_NX_TEST=m
在 autoconf.h 中會被定義為:
#define CONFIG_DEBUG_NX_TEST_MODULE 1

.config或auto.conf 中定義為編譯為 y 的選項,如:
CONFIG_DM9000= y
在 autoconf.h 中會被定義為:
#define CONFIG_DM9000 1
autoconf.h中是.config或者auto.conf中配置信息的另一種體現形式,它是站在源碼的角度,供源碼使用的C語言宏定義。
6、總結
我們在使用make menuconfig時,首先會確定架構arch,然後讀取arch目錄的Kconfig中的配置宏定義,生成編譯條目,然後讀取Linux內核根目錄下的.config選項, 將.config中的配置信息顯示在圖形界面上[*] [M] or []。我們在圖形界面中更改配置選項會自動保存到.config文件中。編譯過程根據.config隨後生成auto.conf文件,它決定了makefile中各個文件的編譯類型,靜態編譯進內核、編譯成模塊、不編譯;同時生成autoconf.h,它以C語言宏定義的形式表達了 各個文件是否被編譯,源碼中會判斷某文件是否被編譯進行不同的處理。

三、將自定義文件添加進內核配置系統
1、修改文件目錄下Kconfig文件
添加:
config HELLO
tristate "just a test hello"
default y
---help---
This is a test
//tristate 或 bool 表示可選擇種類數量3[*][M][ ]、2
// "just a test hello"將作為標題顯示在配置的圖形界面
2、修改文件目錄下makefile文件
obj-$(CONFIG_HELLO) += hello_drv.o
3、make menuconfig 我們會在字元設備驅動的界面看到 ust a test hello 並且默認編譯進內核

4、make編譯內核發現
autoconfig.h 自動添加 #define CONFIG_HELLO 1
auto.conf 自動添加 CONFIG_HELLO=y

㈣ 如何修改 Linux 內核配置

由於Linux的內核參數信息都存在內存中,因此可以通過命令直接修改,並且修改後直接生效。但是,當系統重新啟動後,原來設置的參數值就會丟失,而系統每次啟動時都會自動去/etc/sysctl.conf文件中讀取內核參數,因此將內核的參數配置寫入這個文件中,是一個比較好的選擇。
首先打開/etc/sysctl.conf文件,查看如下兩行的設置值,這里是:
kernel.shmall
=
2097152
kernel.shmmax
=
4294967295
如果系統默認的配置比這里給出的值大,就不要修改原有配置。同時在/etc/sysctl.conf文件最後,添加以下內容:
fs.file-max
=
6553600
kernel.shmmni
=
4096
kernel.sem
=
250
32000
100
128
net.ipv4.ip_local_port_range
=
1024
65000
net.core.rmem_default
=
4194304
net.core.rmem_max
=
4194304
net.core.wmem_default
=
262144
net.core.wmem_max
=
262144
這里的「fs.file-max
=
6553600」其實是由「fs.file-max
=
512
*
PROCESSES」得到的,我們指定PROCESSES的值為12800,即為「fs.file-max
=512
*12800」。
sysctl.conf文件修改完畢後,接著執行「sysctl
-p」使設置生效。
[root@localhost
~]#
sysctl
-p
常用的內核參數的含義如下。
kernel.shmmax:表示單個共享內存段的最大值,以位元組為單位,此值一般為物理內存的一半,不過大一點也沒關系,這里設定的為4GB,即「4294967295/1024/1024/1024=4G」。
kernel.shmmni:表示單個共享內存段的最小值,一般為4kB,即4096bit.
kernel.shmall:表示可用共享內存的總量,單位是頁,在32位系統上一頁等於4kB,也就是4096位元組。
fs.file-max:表示文件句柄的最大數量。文件句柄表示在Linux系統中可以打開的文件數量。
ip_local_port_range:表示埠的范圍,為指定的內容。
kernel.sem:表示設置的信號量,這4個參數內容大小固定。
net.core.rmem_default:表示接收套接字緩沖區大小的預設值(以位元組為單位)。
net.core.rmem_max
:表示接收套接字緩沖區大小的最大值(以位元組為單位)
net.core.wmem_default:表示發送套接字緩沖區大小的預設值(以位元組為單位)。
net.core.wmem_max:表示發送套接字緩沖區大小的最大值(以位元組為單位)。

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

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

㈥ 如何給linux安裝新內核

一、獲取內核源碼

二、解壓內核源碼

首先以root帳號登錄,然後進入/usr/src子目錄。如果用戶在安裝Linux時,安裝了內核的源代碼,則會發現一個linux-x.y.z的子目錄。該目錄下存放著內核x.y.z的源代碼。此外,還會發現一個指向該目錄的鏈接linux。刪除該連接,然後將新內核的源文件拷貝到/usr/src目錄中,並解壓:

#tarzxvfLinux-2.3.14.tar.gz

文件釋放成功後,在/usr/src目錄下會生成一個linux子目錄。其中包含了內核2.3.14的全部源代碼。將/usr/include/asm、/usr/inlude/linux、/usr/include/scsi鏈接到/usr/src/linux/include目錄下的對應目錄中。

#cd/usr/include

#rm-Rfasmlinux

#ln-s/usr/src/linux/include/asm-i386asm

#ln-s/usr/src/linux/include/linuxlinux

#ln-s/usr/src/linux/include/scsiscsi

刪除源代碼目錄中殘留的.o文件和其它從屬文件。

#cd/usr/src/linux

#makemrproper

三.增量補丁

有時不需要完全重新安裝,只需打增量補丁,類似升級,在內核源碼樹根目錄運行:

patch-p1<../patch-x.y.z

四.內核源碼樹目錄:

arch:包含和硬體體系結構相關的代碼,每種平台佔一個相應基啟的目錄。和32位PC相關的代碼存放在i386目錄下,其中比較重要的包括kernel(內核核心部分)、mm(內存管理)、math-emu(浮點單元模擬)、lib(硬體相關工具函數)、boot(引導程序)、pci(PCI匯流排)和power(CPU相關狀態)。

block:部分塊設備驅動程序。

crypto:常用加密和散列演算法(如AES、SHA等),還有一些壓縮和CRC校驗演算法。

Documentation:關於內核各部分的通用解釋和注釋。

drivers:設備驅動程序,每個不同的驅動占亂明用一個子目錄。

fs:各種支持的文件系統,如ext、fat、ntfs等。

include:頭文件。其中,和系統相關的頭文件被放置在linux子目錄下。

init:內核初始化代碼(注意不是系統引導代碼)。

ipc:進程間通信的代碼。

kernel:內核的最核心部分,包括進程調度、定時器等,和平台相關的一部分代碼放在arch/*/kernel目錄下。

lib:庫文件代碼。

mm:內存管理代碼,和平台相關的一部分代碼放在arch/*/mm目錄下。

net:網路相關代碼,實現了各種常見的網路協議。

scripts:用於配置內核文件的腳本文件。

security:主要是一個SELinux的模塊。

sound:常用音頻設備的驅動程序等。

usr:實現了一個cpio。

在i386體系下,系統引導將從arch/i386/kernel/head.s開始執行,並進而轉移到init/main.c中的main()函數初始化內核。

五.配置內核

#cd/usr/src/linux

內核配置方法有三種:

(1)命令行:makeconfig

(2)菜單模式的配置界面:makemenuconfig

(3)Xwindow:makexconfig

Linux的內核配置程序提供了一系列配置選項。對於每一個配置選項,用戶可以回答"y"、"m"或"n"。其中"y"表示將相應特性的支持或設備驅動程序編譯進內核;"m"表示將相應特性的支持或設備驅動程序編譯成可載入模塊,在需要時,可由系統或用戶自行加入到內核中去;"n"表示內核不提供相應特性或驅動程序的支持。由於內核的配置選項非常多,本文只介紹一些比較重要的選項。

1、Codematurityleveloptions(代碼成熟度選項)

Promptfordevelopmentand/orincompletecode/drivers(CONFIG_EXPERIMENTAL)[N/y/?]如果用戶想要使用還處於測試階段的代碼或驅搏陪如動,可以選擇「y」。如果想編譯出一個穩定的內核,則要選擇「n」。

2、Processortypeandfeatures(處理器類型和特色)

(1)、Processorfamily(386,486/Cx486,586/K5/5x86/6x86,Pentium/K6/TSC,PPro/6x86MX)[PPro/6x86MX]選擇處理器類型,預設為Ppro/6x86MX。

(2)、MaximumPhysicalMemory(1GB,2GB)[1GB]內核支持的最大內存數,預設為1G。

(3)、Mathemulation(CONFIG_MATH_EMULATION)[N/y/?]協處理器模擬,預設為不模擬。

(4)、MTRR(MemoryTypeRangeRegister)support(CONFIG_MTRR)[N/y/?]

選擇該選項,系統將生成/proc/mtrr文件對MTRR進行管理,供Xserver使用。

(5)、Symmetricmulti-processingsupport(CONFIG_SMP)[Y/n/?]選擇「y」,內核將支持對稱多處理器。

3、Loadablemolesupport(可載入模塊支持)

(1)、Enableloadablemolesupport(CONFIG_MODULES)[Y/n/?]選擇「y」,內核將支持載入模塊。

(2)、Kernelmoleloader(CONFIG_KMOD)[N/y/?]選擇「y」,內核將自動載入那些可載入模塊,否則需要用戶手工載入。

4、Generalsetup(一般設置)

(1)、Networkingsupport(CONFIG_NET)[Y/n/?]該選項設置是否在內核中提供網路支持。

(2)、PCIsupport(CONFIG_PCI)[Y/n/?]該選項設置是否在內核中提供PCI支持。

(3)、PCIaccessmode(BIOS,Direct,Any)[Any]該選項設置Linux探測PCI設備的方式。選擇「BIOS」,Linux將使用BIOS;選擇「Direct」,Linux將不通過BIOS;選擇「Any」,Linux將直接探測PCI設備,如果失敗,再使用BIOS。

(4)Parallelportsupport(CONFIG_PARPORT)[N/y/m/?]選擇「y」,內核將支持平行口。

5、PlugandPlayconfiguration(即插即用設備支持)

(1)、PlugandPlaysupport(CONFIG_PNP)[Y/m/n/?]選擇「y」,內核將自動配置即插即用設備。

(2)、ISAPlugandPlaysupport(CONFIG_ISAPNP)[Y/m/n/?]選擇「y」,內核將自動配置基於ISA匯流排的即插即用設備。

6、Blockdevices(塊設備)

(1)、NormalPCfloppydisksupport(CONFIG_BLK_DEV_FD)[Y/m/n/?]選擇「y」,內核將提供對軟盤的支持。

(2)、EnhancedIDE/MFM/RLLdisk/cdrom/tape/floppysupport(CONFIG_BLK_DEV_IDE)[Y/m/n/?]選擇「y」,內核將提供對增強IDE硬碟、CDROM和磁帶機的支持。

7、Networkingoptions(網路選項)

(1)、Packetsocket(CONFIG_PACKET)[Y/m/n/?]選擇「y」,一些應用程序將使用Packet協議直接同網路設備通訊,而不通過內核中的其它中介協議。

(2)、Networkfirewalls(CONFIG_FIREWALL)[N/y/?]選擇「y」,內核將支持防火牆。

(3)、TCP/IPnetworking(CONFIG_INET)[Y/n/?]選擇「y」,內核將支持TCP/IP協議。

(4)TheIPXprotocol(CONFIG_IPX)[N/y/m/?]選擇「y」,內核將支持IPX協議。

(5)、AppletalkDDP(CONFIG_ATALK)[N/y/m/?]選擇「y」,內核將支持AppletalkDDP協議。

8、SCSIsupport(SCSI支持)

如果用戶要使用SCSI設備,可配置相應選項。

9、Networkdevicesupport(網路設備支持)

Networkdevicesupport(CONFIG_NETDEVICES)[Y/n/?]選擇「y」,內核將提供對網路驅動程序的支持。

10、Ethernet(10or100Mbit)(10M或100M乙太網)

在該項設置中,系統提供了許多網卡驅動程序,用戶只要選擇自己的網卡驅動就可以了。此外,用戶還可以根據需要,在內核中加入對FDDI、PPP、SLIP和無線LAN(WirelessLAN)的支持。

11、Characterdevices(字元設備)

(1)、Virtualterminal(CONFIG_VT)[Y/n/?]選擇「y」,內核將支持虛擬終端。

(2)、(CONFIG_VT_CONSOLE)[Y/n/?]

選擇「y」,內核可將一個虛擬終端用作系統控制台。

(3)、Standard/generic(mb)serialsupport(CONFIG_SERIAL)[Y/m/n/?]

選擇「y」,內核將支持串列口。

(4)、Supportforconsoleonserialport(CONFIG_SERIAL_CONSOLE)[N/y/?]

選擇「y」,內核可將一個串列口用作系統控制台。

12、Mice(滑鼠)

PS/2mouse(aka"auxiliarydevice")support(CONFIG_PSMOUSE)[Y/n/?]如果用戶使用的是PS/2滑鼠,則該選項應該選擇「y」。

13、Filesystems(文件系統)

(1)、Quotasupport(CONFIG_QUOTA)[N/y/?]選擇「y」,內核將支持磁碟限額。

(2)、Kernelautomountersupport(CONFIG_AUTOFS_FS)[Y/m/n/?]選擇「y」,內核將提供對automounter的支持,使系統在啟動時自動mount遠程文件系統。

(3)、DOSFATfssupport(CONFIG_FAT_FS)[N/y/m/?]選擇「y」,內核將支持DOSFAT文件系統。

(4)、ISO9660CDROMfilesystemsupport(CONFIG_ISO9660_FS)[Y/m/n/?]

選擇「y」,內核將支持ISO9660CDROM文件系統。

(5)、NTFSfilesystemsupport(readonly)(CONFIG_NTFS_FS)[N/y/m/?]

選擇「y」,用戶就可以以只讀方式訪問NTFS文件系統。

(6)、/procfilesystemsupport(CONFIG_PROC_FS)[Y/n/?]/proc是存放Linux系統運行狀態的虛擬文件系統,該項必須選擇「y」。

(7)、Secondextendedfssupport(CONFIG_EXT2_FS)[Y/m/n/?]EXT2是Linux的標准文件系統,該項也必須選擇「y」。

14、NetworkFileSystems(網路文件系統)

(1)、NFSfilesystemsupport(CONFIG_NFS_FS)[Y/m/n/?]選擇「y」,內核將支持NFS文件系統。

(2)、SMBfilesystemsupport(tomountWfWsharesetc.)(CONFIG_SMB_FS)

選擇「y」,內核將支持SMB文件系統。

(3)、NCPfilesystemsupport(tomountNetWarevolumes)(CONFIG_NCP_FS)

選擇「y」,內核將支持NCP文件系統。

15、PartitionTypes(分區類型)

該選項支持一些不太常用的分區類型,用戶如果需要,在相應的選項上選擇「y」即可。

16、Consoledrivers(控制台驅動)

VGAtextconsole(CONFIG_VGA_CONSOLE)[Y/n/?]選擇「y」,用戶就可以在標準的VGA顯示方式下使用Linux了。

17、Sound(聲音)

Soundcardsupport(CONFIG_SOUND)[N/y/m/?]選擇「y」,內核就可提供對音效卡的支持。

18、Kernelhacking(內核監視)

MagicSysRqkey(CONFIG_MAGIC_SYSRQ)[N/y/?]選擇「y」,用戶就可以對系統進行部分控制。一般情況下選擇「n」。

六、編譯內核

(一)、建立編譯時所需的從屬文件

#cd/usr/src/linux

#makedep

(二)、清除內核編譯的目標文件

#makeclean

(三)、編譯內核

#makezImage

內核編譯成功後,會在/usr/src/linux/arch/i386/boot目錄中生成一個新內核的映像文件zImage。如果編譯的內核很大的話,系統會提示你使用makebzImage命令來編譯。這時,編譯程序就會生成一個名叫bzImage的內核映像文件。

(四)、編譯可載入模塊

如果用戶在配置內核時設置了可載入模塊,則需要對這些模塊進行編譯,以便將來使用insmod命令進行載入。

#makemoles

#makemodelus_install

編譯成功後,系統會在/lib/moles目錄下生成一個2.3.14子目錄,裡面存放著新內核的所有可載入模塊。

七、啟動新內核

(一)、將新內核和System.map文件拷貝到/boot目錄下

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

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

#cd/boot

#rm-fSystem.map

#ln-sSystem.map-2.3.14System.map

(二)、配置/etc/lilo.conf文件。在該文件中加入下面幾行:

default=linux-2.3.14

image=/boot/vmlinuz-2.3.14

label=linux-2.3.14

root=/dev/hda1

read-only

(三)、使新配置生效

#/sbin/lilo

(四)、重新啟動系統

#/sbin/reboot

新內核如果不能正常啟動,用戶可以在LILO:提示符下啟動舊內核。然後查出故障原因,重新編譯新內核即可。


㈦ 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內核支持sata

(1)首先,用內核的 allnoconfig 配置目標,得到一個最最基本的內核配置。即,執行下面的命令:
make allnoconfig
內核的 allnoconfig 配置目標會把所有的內核選項都設置為no,也就是把它們既不編譯進內核,也不編譯成模塊。
有了這個最基本的配置,我們再添加必須的配置項:再執行
make menuconfig
命令,按下面的步驟添加其他的配置——
(2)把 Executable file formats 下的ELF 和 emulations for 32bit ELF 選項編譯進內核。
(3)在 Processor type and features 下面,選擇合適的CPU類型。
(4)選擇PCI/PCI-Express支持,位於Bus options (PCI, PCMCIA, EISA, MCA, ISA) 配置目錄下。
(5)加入對根文件系統所在磁碟控制器的驅動:
Device Driver
|---->SCSI device support
|---->SCSI disk support
|----->SCSI low-level drivers
|---->Serial ATA (SATA) support
|---->intel PIIX/ICH SATA support
(6)加入Ext2文件系統的支持:在 File systems 配置目錄下,選擇 Second extended fs support。如果根文件系統是Ext3,則選擇 Ext3 journalling file system support。
(7)為了是 Udev 正常工作,需要內核支持 Unix domain sockets。此配置選項位於 Networking 配置目錄中的 Networking support ---> Networking options 下。
(8)使內核支持 /proc 虛擬文件系統和 tmpfs 文件系統:
File systems ---> Pseudo filesystems ---> /proc file system support / Virtual memory file system support (former shm fs)
(9)支持 swap 分區:
General setup ---> Support for paging of anonymous memory (swap)
(10)支持 RTC 設備:
Device Drivers ---> Character devices ---> Enhanced Real Time Clock Support
(11)為了充分發揮我的雙核CPU的能力,我又加入了對SMP的支持:
Processor type and features ---> Symmetric multi-processing support。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:631
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:360
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:76
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:301
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:789
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:339
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:204
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:804
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:358
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:584