日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

如何给linux安装新内核?

發(fā)布時間:2023/12/1 综合教程 35 生活家
生活随笔 收集整理的這篇文章主要介紹了 如何给linux安装新内核? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、獲取內(nèi)核源碼

二、解壓內(nèi)核源碼

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

#tarzxvfLinux-2.3.14.tar.gz

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

 #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

三.增量補(bǔ)丁

有時不需要完全重新安裝,只需打增量補(bǔ)丁,類似升級,在內(nèi)核源碼樹根目錄運(yùn)行:

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

四.內(nèi)核源碼樹目錄:

arch:包含和硬件體系結(jié)構(gòu)相關(guān)的代碼,每種平臺占一個相應(yīng)的目錄。和32位PC相關(guān)的代碼存放在i386目錄下,其中比較重要的包括kernel(內(nèi)核核心部分)、mm(內(nèi)存管理)、math-emu(浮點(diǎn)單元仿真)、lib(硬件相關(guān)工具函數(shù))、boot(引導(dǎo)程序)、pci(PCI總線)和power(CPU相關(guān)狀態(tài))。

block:部分塊設(shè)備驅(qū)動程序。

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

Documentation:關(guān)于內(nèi)核各部分的通用解釋和注釋。

drivers:設(shè)備驅(qū)動程序,每個不同的驅(qū)動占用一個子目錄。

fs:各種支持的文件系統(tǒng),如ext、fat、ntfs等。

include:頭文件。其中,和系統(tǒng)相關(guān)的頭文件被放置在linux子目錄下。

init:內(nèi)核初始化代碼(注意不是系統(tǒng)引導(dǎo)代碼)。

ipc:進(jìn)程間通信的代碼。

kernel:內(nèi)核的最核心部分,包括進(jìn)程調(diào)度、定時器等,和平臺相關(guān)的一部分代碼放在arch/*/kernel目錄下。

lib:庫文件代碼。

mm:內(nèi)存管理代碼,和平臺相關(guān)的一部分代碼放在arch/*/mm目錄下。

net:網(wǎng)絡(luò)相關(guān)代碼,實(shí)現(xiàn)了各種常見的網(wǎng)絡(luò)協(xié)議。

scripts:用于配置內(nèi)核文件的腳本文件。

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

sound:常用音頻設(shè)備的驅(qū)動程序等。

usr:實(shí)現(xiàn)了一個cpio。

在i386體系下,系統(tǒng)引導(dǎo)將從arch/i386/kernel/head.s開始執(zhí)行,并進(jìn)而轉(zhuǎn)移到init/main.c中的main()函數(shù)初始化內(nèi)核。

五.配置內(nèi)核

#cd/usr/src/linux

內(nèi)核配置方法有三種:

(1)命令行:makeconfig

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

(3)Xwindow:makexconfig

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

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

  Promptfordevelopmentand/orincompletecode/drivers(CONFIG_EXPERIMENTAL)如果用戶想要使用還處于測試階段的代碼或驅(qū)動,可以選擇“y”。如果想編譯出一個穩(wěn)定的內(nèi)核,則要選擇“n”。

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

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

  (2)、MaximumPhysicalMemory(1GB,2GB)內(nèi)核支持的最大內(nèi)存數(shù),缺省為1G。

  (3)、Mathemulation(CONFIG_MATH_EMULATION)協(xié)處理器仿真,缺省為不仿真。

  (4)、MTRR(MemoryTypeRangeRegister)support(CONFIG_MTRR)

  選擇該選項,系統(tǒng)將生成/proc/mtrr文件對MTRR進(jìn)行管理,供Xserver使用。

  (5)、Symmetricmulti-processingsupport(CONFIG_SMP)選擇“y”,內(nèi)核將支持對稱多處理器。

  3、Loadablemodulesupport(可加載模塊支持)

  (1)、Enableloadablemodulesupport(CONFIG_MODULES)選擇“y”,內(nèi)核將支持加載模塊。

  (2)、Kernelmoduleloader(CONFIG_KMOD)選擇“y”,內(nèi)核將自動加載那些可加載模塊,否則需要用戶手工加載。

  4、Generalsetup(一般設(shè)置)

  (1)、Networkingsupport(CONFIG_NET)該選項設(shè)置是否在內(nèi)核中提供網(wǎng)絡(luò)支持。

  (2)、PCIsupport(CONFIG_PCI)該選項設(shè)置是否在內(nèi)核中提供PCI支持。

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

  (4)Parallelportsupport(CONFIG_PARPORT)選擇“y”,內(nèi)核將支持平行口。

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

  (1)、PlugandPlaysupport(CONFIG_PNP)選擇“y”,內(nèi)核將自動配置即插即用設(shè)備。

  (2)、ISAPlugandPlaysupport(CONFIG_ISAPNP)選擇“y”,內(nèi)核將自動配置基于ISA總線的即插即用設(shè)備。

  6、Blockdevices(塊設(shè)備)

  (1)、NormalPCfloppydisksupport(CONFIG_BLK_DEV_FD)選擇“y”,內(nèi)核將提供對軟盤的支持。

  (2)、EnhancedIDE/MFM/RLLdisk/cdrom/tape/floppysupport(CONFIG_BLK_DEV_IDE)選擇“y”,內(nèi)核將提供對增強(qiáng)IDE硬盤、CDROM和磁帶機(jī)的支持。

  7、Networkingoptions(網(wǎng)絡(luò)選項)

  (1)、Packetsocket(CONFIG_PACKET)選擇“y”,一些應(yīng)用程序?qū)⑹褂肞acket協(xié)議直接同網(wǎng)絡(luò)設(shè)備通訊,而不通過內(nèi)核中的其它中介協(xié)議。

  (2)、Networkfirewalls(CONFIG_FIREWALL)選擇“y”,內(nèi)核將支持防火墻。

  (3)、TCP/IPnetworking(CONFIG_INET)選擇“y”,內(nèi)核將支持TCP/IP協(xié)議。

  (4)TheIPXprotocol(CONFIG_IPX)選擇“y”,內(nèi)核將支持IPX協(xié)議。

  (5)、AppletalkDDP(CONFIG_ATALK)選擇“y”,內(nèi)核將支持AppletalkDDP協(xié)議。

  8、SCSIsupport(SCSI支持)

  如果用戶要使用SCSI設(shè)備,可配置相應(yīng)選項。

  9、Networkdevicesupport(網(wǎng)絡(luò)設(shè)備支持)

  Networkdevicesupport(CONFIG_NETDEVICES)選擇“y”,內(nèi)核將提供對網(wǎng)絡(luò)驅(qū)動程序的支持。

  10、Ethernet(10or100Mbit)(10M或100M以太網(wǎng))

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

  11、Characterdevices(字符設(shè)備)

  (1)、Virtualterminal(CONFIG_VT)選擇“y”,內(nèi)核將支持虛擬終端。

  (2)、Supportforconsoleonvirtualterminal(CONFIG_VT_CONSOLE)

  選擇“y”,內(nèi)核可將一個虛擬終端用作系統(tǒng)控制臺。

  (3)、Standard/generic(dumb)serialsupport(CONFIG_SERIAL)

  選擇“y”,內(nèi)核將支持串行口。

  (4)、Supportforconsoleonserialport(CONFIG_SERIAL_CONSOLE)

  選擇“y”,內(nèi)核可將一個串行口用作系統(tǒng)控制臺。

  12、Mice(鼠標(biāo))

  PS/2mouse(aka"auxiliarydevice")support(CONFIG_PSMOUSE)如果用戶使用的是PS/2鼠標(biāo),則該選項應(yīng)該選擇“y”。

  13、Filesystems(文件系統(tǒng))

  (1)、Quotasupport(CONFIG_QUOTA)選擇“y”,內(nèi)核將支持磁盤限額。

  (2)、Kernelautomountersupport(CONFIG_AUTOFS_FS)選擇“y”,內(nèi)核將提供對automounter的支持,使系統(tǒng)在啟動時自動mount遠(yuǎn)程文件系統(tǒng)。

  (3)、DOSFATfssupport(CONFIG_FAT_FS)選擇“y”,內(nèi)核將支持DOSFAT文件系統(tǒng)。

  (4)、ISO9660CDROMfilesystemsupport(CONFIG_ISO9660_FS)

  選擇“y”,內(nèi)核將支持ISO9660CDROM文件系統(tǒng)。

  (5)、NTFSfilesystemsupport(readonly)(CONFIG_NTFS_FS)

  選擇“y”,用戶就可以以只讀方式訪問NTFS文件系統(tǒng)。

  (6)、/procfilesystemsupport(CONFIG_PROC_FS)/proc是存放Linux系統(tǒng)運(yùn)行狀態(tài)的虛擬文件系統(tǒng),該項必須選擇“y”。

  (7)、Secondextendedfssupport(CONFIG_EXT2_FS)EXT2是Linux的標(biāo)準(zhǔn)文件系統(tǒng),該項也必須選擇“y”。

  14、NetworkFileSystems(網(wǎng)絡(luò)文件系統(tǒng))

  (1)、NFSfilesystemsupport(CONFIG_NFS_FS)選擇“y”,內(nèi)核將支持NFS文件系統(tǒng)。

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

  選擇“y”,內(nèi)核將支持SMB文件系統(tǒng)。

  (3)、NCPfilesystemsupport(tomountNetWarevolumes)(CONFIG_NCP_FS)

  選擇“y”,內(nèi)核將支持NCP文件系統(tǒng)。

  15、PartitionTypes(分區(qū)類型)

  該選項支持一些不太常用的分區(qū)類型,用戶如果需要,在相應(yīng)的選項上選擇“y”即可。

  16、Consoledrivers(控制臺驅(qū)動)

  VGAtextconsole(CONFIG_VGA_CONSOLE)選擇“y”,用戶就可以在標(biāo)準(zhǔn)的VGA顯示方式下使用Linux了。

  17、Sound(聲音)

  Soundcardsupport(CONFIG_SOUND)選擇“y”,內(nèi)核就可提供對聲卡的支持。

  18、Kernelhacking(內(nèi)核監(jiān)視)

  MagicSysRqkey(CONFIG_MAGIC_SYSRQ)選擇“y”,用戶就可以對系統(tǒng)進(jìn)行部分控制。一般情況下選擇“n”。

六、編譯內(nèi)核

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

  #cd/usr/src/linux

  #makedep

  (二)、清除內(nèi)核編譯的目標(biāo)文件

  #makeclean

  (三)、編譯內(nèi)核

  #makezImage

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

  (四)、編譯可加載模塊

  如果用戶在配置內(nèi)核時設(shè)置了可加載模塊,則需要對這些模塊進(jìn)行編譯,以便將來使用insmod命令進(jìn)行加載。

  #makemodules

  #makemodelus_install

  編譯成功后,系統(tǒng)會在/lib/modules目錄下生成一個2.3.14子目錄,里面存放著新內(nèi)核的所有可加載模塊。

七、啟動新內(nèi)核

  (一)、將新內(nèi)核和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

  (四)、重新啟動系統(tǒng)

  #/sbin/reboot

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

總結(jié)

以上是生活随笔為你收集整理的如何给linux安装新内核?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。