當前位置:首頁 » 編程軟體 » linux內核的配置與編譯實驗

linux內核的配置與編譯實驗

發布時間: 2023-08-07 11:36:31

linux內核編譯

首先到www.kernel.org網站去下載一個2.6以上版本的內核。因為舊版本在編譯時的指令與2.6版本有些不同。用tar zxvf 或 jxvf 結壓。解壓後進入文件夾,輸入 make menuconfig 後可以看到一個圖形界面,用於對內核進行配置。具體的配置項請參考《linux 2.6 內核配置》,該文章可以從網路文庫中下載。配置完成後,記住一定要保存到.config系統文件中。最後輸入make,進行編譯。編譯完成後在boot文件夾下會自動生成zImage文件,這就是新內核的鏡像文件。編譯一般需要兩個小時。

⑵ Linux內核編譯

內核,是一個操作系統的核心。它負責管理系統的進程、內存、設備驅動程序、文件和網路系統,決定著系統的性能和穩定性。Linux作為一個自由軟體,
在廣大愛好者的支持下,內核版本不斷更新。新的內核修訂了舊內核的bug,並增加了許多新的特性。如果用戶想要使用這些新特性,或想根據自己的系統度身定
制一個更高效,更穩定的內核,就需要重新編譯內核。本文將以RedHat Linux 6.0(kernel
2.2.5)為操作系統平台,介紹在Linux上進行內核編譯的方法。

一、 下載新內核的源代碼

目前,在Internet上提供Linux源代碼的站點有很多,讀者可以選擇一個速度較快的站點下載。筆者是從站點www.kernelnotes.org上下載了Linux的最新開發版內核2.3.14的源代碼,全部代碼被壓縮到一個名叫Linux-2.3.14.tar.gz的文件中。

二、 釋放內核源代碼

由於源代碼放在一個壓縮文件中,因此在配置內核之前,要先將源代碼釋放到指定的目錄下。首先以root帳號登錄,然後進入/usr/src子目錄。如果用戶在安裝Linux時,安裝了內核的源代碼,則會發現一個linux-2.2.5的子目錄。該目錄下存放著內核2.2.5的源代碼。此外,還會發現一個指向該目錄的鏈接linux。刪除該連接,然後將新內核的源文件拷貝到/usr/src目錄中。

(一)、用tar命令釋放內核源代碼

# cd /usr/src

# tar zxvf Linux-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 -Rf asm linux

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

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

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

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

# cd /usr/src/linux

# make mrproper

三、 配置內核

(一)、啟動內核配置程序。

# cd /usr/src/linux

# make config

除了上面的命令,用戶還可以使用make menuconfig命令啟動一個菜單模式的配置界面。如果用戶安裝了X window系統,還可以執行make xconfig命令啟動X window下的內核配置程序。

(二)、配置內核

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

1、Code maturity level options(代碼成熟度選項)

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

1、 Processor type and features(處理器類型和特色)

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

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

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

(4)、MTRR (Memory Type Range Register) support (CONFIG_MTRR) [N/y/?]

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

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

2、 Loadable mole support(可載入模塊支持)

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

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

3、 General setup(一般設置)

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

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

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

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

4、 Plug and Play configuration(即插即用設備支持)

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

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

5、 Block devices(塊設備)

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

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

6、 Networking options(網路選項)

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

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

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

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

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

8、SCSI support(SCSI支持)

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

9、Network device support(網路設備支持)

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

10、Ethernet (10 or 100Mbit)(10M或100M乙太網)

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

11、Character devices(字元設備)

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

(2)、Support for console on virtual terminal (CONFIG_VT_CONSOLE) [Y/n/?]

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

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

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

(4)、Support for console on serial port (CONFIG_SERIAL_CONSOLE) [N/y/?]

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

12、Mice(滑鼠)

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

13、Filesystems(文件系統)

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

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

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

(4)、ISO 9660 CDROM filesystem support (CONFIG_ISO9660_FS) [Y/m/n/?]

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

(5)、NTFS filesystem support (read only) (CONFIG_NTFS_FS) [N/y/m/?]

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

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

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

14、Network File Systems(網路文件系統)

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

(2)、SMB filesystem support (to mount WfW shares etc.) (CONFIG_SMB_FS)

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

(3)、NCP filesystem support (to mount NetWare volumes) (CONFIG_NCP_FS)

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

15、Partition Types(分區類型)

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

16、Console drivers(控制台驅動)

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

17、Sound(聲音)

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

18、Kernel hacking(內核監視)

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

四、 編譯內核

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

# cd /usr/src/linux

# make dep

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

# make clean

(三)、編譯內核

# make zImage

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

(四)、編譯可載入模塊

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

# make moles

# make modelus_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 -f System.map

# ln -s System.map-2.3.14 System.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:提示符下啟動舊內核。然後查出故障原因,重新編譯新內核即可。

了解更多開源相關,去LUPA社區看看吧。
希望對你能有所幫助。

⑶ 如何編譯linux的x86內核

Gcc編譯器, Linux-2.6.29內核

步驟:

(一):清除臨時文件,中間文件和配置文件等(剛從網上下載下來的文件這步可省略)。

make clean

刪除大多數的由編譯生成的文件、但會保留內核的配置文件.config。

make mrproper

刪除所有的編譯生成的文件,還有內核配置文件,再加上各種備份文件。

make distclean

mrproper刪除的文件,加上編輯備份文件和一些補丁文件。

(二)選擇參考配置文件

使用正在運行的內核配置文件作為參考配製文件,該配置文件在/boot目錄下,使用命令

cp /boot/config-2.6.18-53.el5 .config。

(三)配置內核

配置內核有如下命令:

make config:基於文件模式的互動式配置(也就是一問一答)。

make menuconfig:基於文本模式的菜單式配置(強烈推薦)。

make oldconfig:使用已有的配置文件(.config)但是會詢問新增的配置選項。

make xconfig:圖形化配置(需要安裝圖形化系統)。

make menuconfig是最為常用的內核配置方式,使用方法如下:

1、使用方向鍵在各選項間移動;

2、使用「Enter」鍵進入下一層選單;每個選項上的高亮字母是鍵盤快捷方式,使用它可以快速地到達想要設置的選單項。

3、在括弧中按「y」將這個項目編譯進內核中,按「m」編譯為模塊,按「n」為不選擇(按空格鍵也可在編譯進內核、編譯為模塊和不編譯三者間進行切換),按「h」將顯示這個選項的幫助信息,按「Esc」鍵將返回到上層選單。

內核配置通常在一個已有的配置文件基礎上,通過修改得到新的配置文件Linux內核提供了一系列可供參考的內核配置文件,位於Arch/$cpu/configs

注意:要運行make menuconfig的界面需要調整終端的窗口大小,至少為80*19。

(四)編譯內核

(1):make zImage

(2):make bzImage

區別:在X86平台,在zImage只能用於小於512Kd的內核(注意是X86平台)

如需獲取詳細編譯信息,可使用:

make zImage V=1

make bzImage V=1

編譯好的內核位於arch/<cpu>/boot目錄下

(五)編譯內核模塊

使用命令make moles

內核模塊編譯的時間比較長,一般需要1~2小時的時間。這些模塊源於使用命令make menuconfig啟動的菜單型配置界面中選擇<m>的項。

(六)安裝內核模塊

使用命令:make moles_install,完成安裝後,編譯好的內核模塊會從內核源代碼目錄拷貝至/lib/moles/2.6.29目錄下。

(七)製作init ramdisk

使用cd跳動linux-2.6.29/,目錄的上層目錄,使用命令:mkinitrdinitrd-$version $version(mkinitrd initrd-2.6.29 2.6.29)將上一步中產生的模塊目錄/lib/moles/2.6.29製作成initrd-2.6.29。

提示:initrd是「initial ramdisk」的縮寫,initrd是在實際根文件系統可用之前掛載到系統中的一個初始根文件系統。在桌面或伺服器Linux系統中,initrd是一個臨時的文件系統。其生命周期很短,只會用作真實文件系統的一個橋梁。在沒有存儲設備的嵌入式系統中,initrd可以是永久的根文件系統。

Linux的眾多發行版之所以使用initrd主要是為了在內核啟動之後能夠判斷哪些硬體驅動需要載入,哪些不需要,文件系統有沒有問題等,最終使得根分區能順利載入。在scsi和sata設備上啟動,usb啟動盤,無盤伺服器等都需要initrd來做判斷,這樣可以提高Linux內核的通用性。

(八)安裝內核

由於Linux系統啟動時,會從/boot目錄下尋找內核文件與init ramdisk,所以需要將內核和initrd拷貝至/boot目錄。使用命令:

cp initrd-2.6.29 /boot

cp linux-2.6.29/arch/x86/boot/bzImage /boot/vmlinuz-2.6.29

(九)修改/etc/grub.conf或者/etc/lilo.conf

為了讓grub在啟動時能提供一項我們自己製作的linux內核的選項,需要修改grub的配置文件/etc/grub.conf。(添加的代碼為title My Linux(2.6.29)以下的)

注意:/etc/grub.conf實際上是/boot/grub/grub.conf的一個鏈接,因此真正的配置文件存在與/boot/grub目錄下。

⑷ Linux內核源碼如何編譯Ubuntu源代碼在哪裡呢

編譯linux內核步驟:
1、安裝內核
如果內核已經安裝(/usr/src/目錄有linux子目錄),跳過。如果沒有安裝,在光碟機中放入linux安裝光碟,找到kernel-source-2.xx.xx.rpm文件(xx代表數字,表示內核的版本號),比如RedHat linux的RPMS目錄是/RedHat/RPMS/目錄,然後使用命令rpm -ivh kernel-source-2.xx.xx.rpm安裝內核。如果沒有安裝盤,可以去各linux廠家站點或者www.kernel.org下載。
2、清除從前編譯內核時殘留的.o 文件和不必要的關聯
cd /usr/src/linux
make mrproper
3、配置內核,修改相關參數,請參考其他資料
在圖形界面下,make xconfig;字元界面下,make menuconfig。在內核配置菜單中正確設置個內核選項,保存退出
4、正確設置關聯文件
make dep
5、編譯內核
對於大內核(比如需要SCSI支持),make bzImage
對於小內核,make zImage
6、編譯模塊
make moles
7、安裝模塊
make moles_install
8、使用新內核
把/usr/src/linux/arch/i386/boot/目錄內新生成的內核文件bzImage/zImage拷貝到/boot目錄,然後修改/etc/lilo.conf文件,加一個啟動選項,使用新內核bzImage/zImage啟動。格式如下:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux-new ### 告訴lilo預設使用新內核啟動linux ###
append="mem=256M"
image=/boot/vmlinuz-2.2.14-5.0
label=linux
read-only
root=/dev/hda5
image=/boot/bzImage(zImage)
label=linux-new
read-only
root=/dev/hda5
保留舊有的啟動選項可以保證新內核不能引導的情況,還可以進入linux進行其他操作。保存退出後,不要忘記了最重要的一步,運行/sbin/lilo,使修改生效。
9、重新生成ram磁碟
如果您的系統中的/etc/lilo.conf沒有使用了ram磁碟選項initrd,略過。如果您的系統中的/etc/lilo.conf使用了ram磁碟選項initrd,使用mkinitrd initrd-內核版本號,內核版本號命令重新生成ram磁碟文件,例如我的Redhat 6.2:
mkinitrd initrd-2.2.14-5.0 2.2.14-5.0
之後把/etc/lilo.conf中的initrd指向新生成的initrd-2.2.14-5.0文件:
initrd=/boot/initrd-2.2.14-5.0
ram磁碟能使系統性能盡可能的優化,具體參考/usr/src/linux/Documents/initrd.txt文件
10、重新啟動,OK!

⑸ 如何編譯Linux內核

一、編譯環境

ubuntu 5.10,要編譯的內核源碼版本2.6.12 二、下載並解壓源代碼 首先從linux內核的官網www.kernel.org把源代碼下載下來。為了和後面實驗要求符合,我們要下載使用O(1)調度器的源碼。因此這里下載了2.6.12版本源碼。下載 下linux-2.6.12.tar.bz2,將下載源碼放入/usr/src/目錄下。如下圖所示: 解壓該源碼: 三、構建編譯環境 現在我們得到的只是源代碼,只是許許多多的文本文件,要想使這些文件成為可以運行的程序,需要使用編譯器進行編譯以及鏈接。編譯器有很多,但在里linux下一般都使用gnu的開源編譯器套件,這里包括gcc等,現在我們安裝基本的編譯器套件,如圖所示: 四、安裝ncurses庫 這里使用Ubuntu系統,因為系統自帶的ncurses庫在支持make menuconfig的時候會出錯,所以,依然要安裝ncurses庫,這里我們從源碼安裝。首先去ncurses官網http://ftp.gnu.org/pub/gnu/ncurses/ 上下載源碼。這里我們下載5.9版本,並通過簡單的安裝方式.configure 和make、make install方式安裝。如下圖所示: 五、配置內核 一切准備工作做完,現在我們就可以配置內核了,這里我們使用make menuconfig方式。如下圖: 在使用make menuconfig這個命令後,會出現如下的字元界面,我們就可以在這個界面上對內核進行配置。但是如果這不是你第一次配置這個內核,那麼請先運行:make mrproper來清除以前的配置,回到默認配置,然後再運行:make menuconfig.
在這里,我們以對cpu支持的配置為例,其餘的選項就不一一詳述,首先查看本機的cpu類型,如下圖:

在這里我們可以看到,我的電腦的cpu是AMD Athlon的,因此我們在cpu選項裡面選用AMD,如下圖所示:

在這里需要注意的是:
A、 cpu的設置在linux內核編譯過程中,不是必需的,即使保持默認的386選項(我們剛才把它改成了AMD),內核也能正常運行,只不過運行慢一些而已。
B、 一般容易出問題的地方在於Device Driver的設置。我在一開始就遇到了在內核編譯完,通過grub引導系統過程中報 「ALERT! /dev/sda1 does not exist . Dropping to a shell!」的錯誤。這是因為硬碟驅動沒有配置好而造成的。運行lspci命令,查看到下面這行:

由此確定,需要配置SCSI、PCI-X、Fusion-MPT驅動,需要在響應的驅動選項里將[M]設置為[*],因為硬碟驅動是在系統開機的時候載入,所以不能以模塊形式載入。

把這幾個驅動內部的選項全部改為[*]:

六、編譯內核

對內核的配置完成之後,現在就可以開始編譯內核了,只需要一個簡單的make命令即可,之後我們就只能慢慢等,直到編譯完成,在我的電腦上,大概用了25分鍾。下圖是運行make後的部分輸出。

七、安裝內核
編譯完成之後,我們需要安裝內核,主要分為如下幾步:
1)、安裝模塊

安裝模塊,對於內核來說,每一個內核版本有自己的模塊目錄,默認在/lib/moles/內核版本號這個目錄下,make moles_install會創建對應的目錄,並把對應的模塊文件拷貝過去。注意,這一步必須要在編譯過內核再做。

2)、拷貝bzImage文件

bzImage文件是內核映像文件,是啟動內核所必需的,我們應當把它拷貝到/boot目錄下。在這里,我為自己新建了一個目錄,我們把它拷貝過去,並且按照一般內核映像文件的命名方式為它改名為vmlinuz-2.6.12。

3)、製作initrd文件
initrd文件命名為initrd.img-2.6.12

4)、修改grub啟動項
要能引導起我們的新系統,需要更改grub配置,增加啟動選項。ubuntu 5.10的grub版本比較低,配置文件為/boot/grub/menu.lst,高版本的grub可能在/boot/grub/grub.cfg里。在原有啟動項基礎上,添加我們自己的啟動項,並把它設為默認啟動項,配置如下:

5)重啟
不出意外的話,我們的內核已經正常載入了,運行uname -a,會發現,內核版本已經是2.6.12了。

⑹ linux編譯內核步驟

一、准備工作
a) 首先,你要有一台PC(這不廢話么^_^),裝好了Linux。
b) 安裝好GCC(這個指的是host gcc,用於編譯生成運行於pc機程序的)、make、ncurses等工具。
c) 下載一份純凈的Linux內核源碼包,並解壓好。

注意,如果你是為當前PC機編譯內核,最好使用相應的Linux發行版的源碼包。

不過這應該也不是必須的,因為我在我的Fedora 13上(其自帶的內核版本是2.6.33.3),就下載了一個標準的內核linux-2.6.32.65.tar.xz,並且順利的編譯安裝成功了,上電重啟都OK的。不過,我使用的.config配置文件,是Fedora 13自帶內核的配置文件,即/lib/moles/`uname -r`/build/.config

d) 如果你是移植Linux到嵌入式系統,則還要再下載安裝交叉編譯工具鏈。

例如,你的目標單板CPU可能是arm或mips等cpu,則安裝相應的交叉編譯工具鏈。安裝後,需要將工具鏈路徑添加到PATH環境變數中。例如,你安裝的是arm工具鏈,那麼你在shell中執行類似如下的命令,假如有類似的輸出,就說明安裝好了。
[root@localhost linux-2.6.33.i686]# arm-linux-gcc --version
arm-linux-gcc (Buildroot 2010.11) 4.3.5
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for ing conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
註:arm的工具鏈,可以從這里下載:回復「ARM」即可查看。

二、設置編譯目標

在配置或編譯內核之前,首先要確定目標CPU架構,以及編譯時採用什麼工具鏈。這是最最基礎的信息,首先要確定的。
如果你是為當前使用的PC機編譯內核,則無須設置。
否則的話,就要明確設置。
這里以arm為例,來說明。
有兩種設置方法():

a) 修改Makefile
打開內核源碼根目錄下的Makefile,修改如下兩個Makefile變數並保存。
ARCH := arm
CROSS_COMPILE := arm-linux-

注意,這里cross_compile的設置,是假定所用的交叉工具鏈的gcc程序名稱為arm-linux-gcc。如果實際使用的gcc名稱是some-thing-else-gcc,則這里照葫蘆畫瓢填some-thing-else-即可。總之,要省去名稱中最後的gcc那3個字母。

b) 每次執行make命令時,都通過命令行參數傳入這些信息。
這其實是通過make工具的命令行參數指定變數的值。
例如
配置內核時時,使用
make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig
編譯內核時使用
make ARCH=arm CROSS_COMPILE=arm-linux-

注意,實際上,對於編譯PC機內核的情況,雖然用戶沒有明確設置,但並不是這兩項沒有配置。因為如果用戶沒有設置這兩項,內核源碼頂層Makefile(位於源碼根目錄下)會通過如下方式生成這兩個變數的值。
SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
-e s/arm.*/arm/ -e s/sa110/arm/ \
-e s/s390x/s390/ -e s/parisc64/parisc/ \
-e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
-e s/sh[234].*/sh/ )
ARCH?= $(SUBARCH)
CROSS_COMPILE ?=

經過上面的代碼,ARCH變成了PC編譯機的arch,即SUBARCH。因此,如果PC機上uname -m輸出的是ix86,則ARCH的值就成了i386。

而CROSS_COMPILE的值,如果沒配置,則為空字元串。這樣一來所使用的工具鏈程序的名稱,就不再有類似arm-linux-這樣的前綴,就相當於使用了PC機上的gcc。

最後再多說兩句,ARCH的值還需要再進一步做泛化。因為內核源碼的arch目錄下,不存在i386這個目錄,也沒有sparc64這樣的目錄。

因此頂層makefile中又構造了一個SRCARCH變數,通過如下代碼,生成他的值。這樣一來,SRCARCH變數,才最終匹配到內核源碼arch目錄中的某一個架構名。

SRCARCH := $(ARCH)

ifeq ($(ARCH),i386)
SRCARCH := x86
endif

ifeq ($(ARCH),x86_64)
SRCARCH := x86
endif

ifeq ($(ARCH),sparc64)
SRCARCH := sparc
endif

ifeq ($(ARCH),sh64)
SRCARCH := sh
endif

三、配置內核

內核的功能那麼多,我們需要哪些部分,每個部分編譯成什麼形式(編進內核還是編成模塊),每個部分的工作參數如何,這些都是可以配置的。因此,在開始編譯之前,我們需要構建出一份配置清單,放到內核源碼根目錄下,命名為.config文件,然後根據此.config文件,編譯出我們需要的內核。

但是,內核的配置項太多了,一個一個配,太麻煩了。而且,不同的CPU架構,所能配置的配置項集合,是不一樣的。例如,某種CPU的某個功能特性要不要支持的配置項,就是與CPU架構有關的配置項。所以,內核提供了一種簡單的配置方法。

以arm為例,具體做法如下。

a) 根據我們的目標CPU架構,從內核源碼arch/arm/configs目錄下,找一個與目標系統最接近的配置文件(例如s3c2410_defconfig),拷貝到內核源碼根目錄下,命名為.config。

注意,如果你是為當前PC機編譯內核,最好拷貝如下文件到內核源碼根目錄下,做為初始配置文件。這個文件,是PC機當前運行的內核編譯時使用的配置文件。
/lib/moles/`uname -r`/build/.config
這里順便多說兩句,PC機內核的配置文件,選擇的功能真是多。不編不知道,一編才知道。Linux發行方這樣做的目的,可能是想讓所發行的Linux能夠滿足用戶的各種需求吧。

b) 執行make menuconfig對此配置做一些需要的修改,退出時選擇保存,就將新的配置更新到.config文件中了。

⑺ Linux內核源碼如何編譯

首先uname
-r看一下你當前的linux內核版本
1、linux的源碼是在/usr/src這個目錄下,此目錄有你電腦上各個版本的linux內核源代碼,用uname
-r命令可以查看你當前使用的是哪套內核,你把你下載的內核源碼也保存到這個目錄之下。
2、配置內核
make
menuconfig,根據你的需要來進行選擇,設置完保存之後會在當前目錄下生成.config配置文件,以後的編譯會根據這個來有選擇的編譯。
3、編譯,依次執行make、make
bzImage、make
moles、make
moles
4、安裝,make
install
5、.創建系統啟動映像,到
/boot
目錄下,執行
mkinitramfs
-o
initrd.img-2.6.36
2.6.36
6、修改啟動項,因為你在啟動的時候會出現多個內核供你選擇,此事要選擇你剛編譯的那個版本,如果你的電腦沒有等待時間,就會進入默認的,默認的那個取決於
/boot/grub/grub.cfg
文件的設置,找到if
[
"${linux_gfx_mode}"
!=
"text"
]這行,他的第一個就是你默認啟動的那個內核,如果你剛編譯的內核是在下面,就把代表這個內核的幾行代碼移到第一位如:
menuentry
'Ubuntu,
with
Linux
3.2.0-35-generic'
--class
ubuntu
--class
gnu-linux
--class
gnu
--class
os
{
recordfail
gfxmode
$linux_gfx_mode
insmod
gzio
insmod
part_msdos
insmod
ext2
set
root='(hd0,msdos1)'
search
--no-floppy
--fs-uuid
--set=root
9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic
root=UUID=9961c170-2566-41ac-8155-18f231c1bea5
ro
quiet
splash
$vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
當然你也可以修改
set
default="0"來決定用哪個,看看你的內核在第幾位,default就填幾,不過我用過這種方法,貌似不好用。
重啟過後你編譯的內核源碼就成功地運行了,如果出現問題,比如滑鼠不能用,usb不識別等問題就好好查查你的make
menuconfig這一步,改好後就萬事ok了。
最後再用uname
-r看看你的linux內核版本。是不是你剛下的那個呢!有沒有成就感?
打字不易,如滿意,望採納。

⑻ 如何配置編譯在mini2440開發板上運行的linux內核

參考:http://www.it165.net/os/html/201409/9334.html

系統ubuntu12.04(非虛擬機下)
mini2440
CPU型號: S3C2440AL-40
Nanflash型號:K9F1G08
Norflash型號:SST39VF1601
LCD: 統寶 240 x 320
$: 普通賬戶
#:root賬戶
*當shell下輸入路徑時可使用tab鍵自動補全

(一)建立交叉編譯環境

1.將mini2440光碟中的linux文件夾拷貝到 /home/lianghuiyong 並改名為Linux_share
(其中兩個文檔為我後面添加進去的)

2.Ctrl+Alt+T打開shell
3.$ su - root (切換root許可權)
4.# cd /home/lianghuiyong/Linux_share
5.解壓安裝arm-linux-gcc編輯器
# tar xvzf arm-linux-gcc-4.4.3.tar.gz –C / //注意:C後面有個空格
執行該命令,將把 arm-linux-gcc 安裝到/usr/loca/arm/4.4.3 目錄。這句來自mini2440用戶手冊,我發現其實是安裝到 /opt/FriendlyARM/toolchain/4.4.3 目錄

6.# vim /root/.bashrc
7.在最後一行添加:export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin //opt/FriendlyARM/toolschain/4.4.3/bin 為arm-linux-gcc 環境變數
:wq保存退出。
# source ~/.bashrc
8.# sudo gedit /etc/environment
games後面添加標記部分

9.# arm-linux-gcc -v //gcc後面有空格

測試hello.c(這是在安裝了第二部分的linux示常式序才有examples/hello目錄)
# cd /opt/FriendlyARM/mini2440/examples/hello
# arm-linux-gcc -o hello hello.c
# ./hello

(二)安裝源代碼及其他工具
創建工作目錄(以下都為root環境下):
# mkdir -p /opt/FriendlyARM/mini2440

1>>解壓安裝linux內核源代碼
# cd /opt/FriendlyARM/mini2440
# tar xvzf /home/lianghuiyong/Linux_share/linux-2.6.32.2-mini2440-20100106.tar.gz

2>>解壓安裝嵌入式圖形系統qtopia源代碼
# cd /opt/FriendlyARM/mini2440
# tar xvzf /home/lianghuiyong/Linux_share/x86-qtopia.tgz
# tar xvzf /home/lianghuiyong/Linux_share/arm-qtopia.tgz

3>>解壓安裝嵌入式圖形系統 QtE-4.6.1 源代碼
# cd /opt/FriendlyARM/mini2440
# tar xvzf /home/lianghuiyong/Linux_share/arm-qte-4.6.3-20100802.tar.gz

4>>解壓安裝busybox 源代碼
# cd /opt/FriendlyARM/mini2440
# tar xvzf /home/lianghuiyong/Linux_share/busybox-1.13.3-mini2440.tgz

5>>解壓安裝 Linux 示常式序
# cd /opt/FriendlyARM/mini2440
# tar xvzf /home/lianghuiyong/Linux_share/examples-20100108.tgz

6>>解壓安裝 vboot 源代碼
# cd /opt/FriendlyARM/mini2440
# tar xvzf /home/lianghuiyong/Linux_share/vboot-src-20100106.tar.gz

7>>解壓安裝 bootloader 源代碼
# cd /opt/FriendlyARM/mini2440
# tar xvzf /home/lianghuiyong/Linux_share/bootloader.tgz

8>>解壓創建目標文件系統
# cd /opt/FriendlyARM/mini2440
#tar xvzf /home/lianghuiyong/Linux_share/rootfs_qtopia_qt4-20100816.tar.gz

9>>解壓安裝目標文件系統映象製作工具 mkyaffs2image
# cd /opt/FriendlyARM/mini2440
# tar xvzf /home/lianghuiyong/Linux_share/mkyaffs2image.tgz –C /

10>>解壓安裝LogoMaker
# cd /opt/FriendlyARM/mini2440
# tar xvzf /home/lianghuiyong/Linux_share/logomaker.tgz –C /

(三)定製linux內核及製作文件系統

config_mini2440_x35 – 適用於 Sony 3.5」 LCD 的內核配置文件
config_mini2440_t35 – 適用於統寶 3.5」 LCD 的內核配置文件
config_mini2440_l80 – 適用於 Sharp 8」 LCD(或兼容)的內核配置文件
config_mini2440_n35 – 適用於 NEC3.5」 LCD 的內核配置文件
config_mini2440_h43 – 適用於 4.3」 LCD 的內核配置文件
config_mini2440_a70 – 適用於群創 7」 LCD 的內核配置文件
config_mini2440_vga1024x768 – 適用於 VGA 顯示輸出(解析度 1024x768)模塊的內核
配置文件

1.配置預設文件config_t35 (統寶240x320)

# cd /opt/FriendlyARM/mini2440/linux-2.6.32.2
# cp config_mini2440_t35 .config
# make menuconfig
出現界面
不做更改,exit退出。這樣做是為了生成相應配置(統寶240x320)的頭文件。

2.編譯內核

在/opt/FriendlyARM/mini2440/linux-2.6.32.2 目錄下編譯內核
#make zImage
編譯結束後,會在 arch/arm/boot 目錄下生成 linux 內核映象文件:zImage(zImage 可下載到開發板測試)

3.定製linux內核(根據用戶手冊來走一遍)

# cd /opt/FriendlyARM/mini2440/linux-2.6.32.2
# make menuconfig
出現配置選項:

3.1配置cpu
主菜單-->System --> Type S3C2400 Machines --> FriendlyARM Mini2440 development board
3.2配置lcd驅動
主菜單-->Device Drivers-->Graphics support-->Support for frame buffer devices-->Backlight-->LCD select-->3.5 inch 240x320 Toppoly LCD

3.3配置觸摸屏
主菜單-->Device Drivers-->Input device support-->Touchscreens-->Samsung s3c24410 touchscreen input driver

3.4配置usb滑鼠和鍵盤
主菜單-->Device Drivers-->hid devices-->USB Human interface Device

3.5 配置優盤
主菜單-->Device Drivers-->SCSI device support--> SCSI disk

3.6配置萬能驅動USB攝像頭
主菜單-->Device Drivers-->Multimedia devices-->Video capture adapters -->V4L USB devices-->GSPCA based webcams-->ALi USB m 5602 Camera Driver

3.7 配置CMOS攝像頭驅動
主菜單-->Device Drivers-->Multimedia devices-->Video capture adapters-->OV9650 on the s3c2440 driver

3.8配置網卡驅動
主菜單-->Netwoking support-->Networking options -->選擇Unix和TCP/IP

主菜單-->Device Drivers-->Network device support-->Ethernet (10 or 100Mbit)-->
選擇 <*> Generic Media Independent Interface device support
<*> DM9000 support

3.9 配置USB無線網卡驅動
主菜單-->Netwoking support-->wireless-->IEEE 802.11

主菜單-->Device Drivers-->Netwoking device support-->wireless LAN-->Wireless LAN(IEEE 802.11)-->Ralink driver support-->

3.10 配置音頻驅動
主菜單-->Device Drivers-->Sound card supprt-->OSS Mixer API -->ALSA for Soc audio support-->SoC Audio for the samsung S3Cxxxx Chips

3.11 配置SD/MMC卡驅動
主菜單-->Device Drivers-->MMC/SD/SDIO card-->samsung S3C SD/MMC card

3.12 配置看門狗驅動支持
主菜單-->Device Drivers-->Watchdog Timer-->s3c2440 Watchdog

3.13 配置LED驅動
主菜單-->Device Drivers-->Character devices-->LED support for Mini2440

3.14 配置按鍵驅動
主菜單-->Device Drivers-->Character devices-->Buttons driver

3.15 配置PWM控制蜂鳴器驅動
主菜單-->Device Drivers-->Character devices-->buzzer driver for

3.16 配置AD轉換驅動
主菜單-->Device Drivers-->Character devices-->ADC driver for

3.17 配置串口驅動
主菜單-->Device Drivers-->Character devices-->Serial drivers-->samsung S3C2440/S3C2442

3.18 如何配置RTC實時時鍾驅動
主菜單-->Device Drivers-->Real Time Clock-->samsung S3C series SoC RTC

3.19 配置I2C-EEPROM驅動支持
主菜單-->Device Drivers-->I2C support -->I2C Hardware Bus support-->S3C2410 I2C Driver

3.20 配置yaff2s文件系統的支持
主菜單-->Device Drivers-->MTD-->NAND Device Support -->NAND FLASH Support
主菜單-->File systems-->Miscellaneous filesystems -->YAFFS2 file system support

3.21 配置EXT2/VFAT/ NFS等文件系統
主菜單-->File systems-->Network File Systems -->root file system on NFS

為了支持FAT32 文件系統.
主菜單-->File systems-->DOS/FAT/NT Filesystems -->VFAT (windows-95) fs support

關於mini2440 linux內核裁剪到此為止,退出後有一個是否保存提示,選擇保存!

3.22 製作Linux logo

本來想使用Logomaker,結果生成的圖片都是無數據的,這可能和系統內一些參數有關
使用命令方式製作logo:
在圖片(open_show.png)目錄下
# pngtopnm open_show.png > temp.ppm
# ppmquant 224 temp.ppm >temp2.ppm
# pnmnoraw temp2.ppm > logo.ppm
將目錄下生成的logo.ppm改成linux_logo_clut224.ppm,替代linux2.6.32.2/drivers/video/logo 目錄下的同名文件

⑼ Linux內核配置與編譯相關流程

linux內核配置與編譯相關流程1、清除臨時文件、中間文件和配置文件
make
clean
不刪除配置文件。
make
mrproper
make
distclean
刪除編輯的backup文件、補丁文件等2、確定目標系統的軟硬體配置情況,比如CPU的類型,網卡的型號,所需要支持的網路協議。3、使用命令配置內核
make
config
基於文本模式的交互配置。
make
menuconfig
基於文本模式的菜單配置。
make
oldconfig
使用已有的配置文件(.config),但是會詢問新增的配置選項。
make
xconfig
圖形化的配置(需要安裝圖形化系統)。4、編譯內核
make
zImage
make
bzImage
區別:在X86平台上,zImage只能用於小雨512k內核。如果需要獲取詳細編譯信息,則在後面加上V=1.
編譯好的內核位於arch/<cpu>/boot/目錄下。
5、編譯內核模塊
make
moes
6、安裝內核模塊
make
moes_install
將編譯好的內核模塊從內核源代碼目錄到/lib/moes下。7、製作
init
ramdisk
mkinitrd
$initrd-$version
-$version內核安裝(X86)1、cp
arch/X86/boot/bzImage
/boot/vmliuz
-$version2、cp
$initrd
/boot/3、修改etc/grub.conf

/etc/lilo.conf$version為所編譯的內核版本號。

⑽ 如何配置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

熱點內容
行車記錄儀存儲卡多大合適 發布:2025-02-05 09:35:21 瀏覽:109
oppo手機鎖屏密碼忘了怎麼辦 發布:2025-02-05 09:33:50 瀏覽:121
phprsa演算法 發布:2025-02-05 09:33:48 瀏覽:228
快寫編譯器 發布:2025-02-05 09:29:15 瀏覽:587
java隨機驗證碼 發布:2025-02-05 09:27:45 瀏覽:634
word打開密碼怎麼設置 發布:2025-02-05 09:26:58 瀏覽:975
核桃編程課導 發布:2025-02-05 09:25:36 瀏覽:496
編譯內核源碼 發布:2025-02-05 09:17:43 瀏覽:333
雲計算與編程語言 發布:2025-02-05 09:13:17 瀏覽:654
Android三國殺 發布:2025-02-05 09:05:55 瀏覽:243