導航:首頁 > 電腦問題 > linux內核編譯安裝新電腦

linux內核編譯安裝新電腦

發布時間:2022-10-21 07:32:21

怎麼在WIN7下編譯Linux內核

問題有點多,我一個一個回答吧
1.要編譯linux需要到linux系統下的gcc編譯工具去編譯,如果是新手,編譯內核用來做什麼呢?編譯內核需要先配置內核再編譯,還是挺復雜的。
2.安裝雙系統:
以ubuntu
10.04的方法
1.下載iso鏡像文件;
2.ultraiso將文件導入到u盤(這是安裝在物理機上);
3.電腦BISO開機設置為U盤啟動;
4.插入U盤,重啟電腦進入安裝界面;
5.進入安裝界面後,基本只要選擇默認安裝,下一步下一步就OK了。
3.linux
ubuntu就有中文版的。

如何給linux安裝新內核

第二步:清除垃圾(這一步:一般是在就內核重新編譯時使用,在編譯新的內核是不需要);make clean及make mrproper;
第三步:進行內核裁減配置;
內核裁減配置的原則:
從實際出發。
如:根據支持的硬體設備來決定需要選擇的驅動模塊,根據需要選擇所支持的文件系統格式等;
具體配置命令為:
make config :通過命令介面,依次要求你設定每個選項,如果.config文件存在,會根據該文件來設置默認值;
make menuconfig :顯示以curses為基礎的、終端式的配置菜單。
make xconfig :圖形界面,顯示以Tk為基礎X Window配置菜單。
最常用的為:make menuconfig(註:需要ncurses的rpm包)。
說明:這一步中選擇為M模式的,編譯到/lib/moles/下相關目錄文件中;選擇為*模式的,編譯到內核中即/boot/vmlinuz中,啟動時載入到內核中。
具體內核裁減配置參閱其它資料。
第四步:生成依賴關系(make dep)
內核源碼樹中大多數文件都會與一些頭文件有依存關系,要想編譯內核順利,在正式編譯前必須讓內核源碼樹中的各個Makefile文件知道這些依存關系。
依存關系建立期間會在內核源碼樹中每個子目錄里產生一個隱藏的.depend文件,此文件內含子目錄里各個文件所依存的頭文件清單。
第五步:建立內核映像和模塊
2.4內核:make bzImage :在arch/YOUR_ARCH/boot/中生成在在zImage內核映像文件;
make moles :在相應目錄下生成內核模塊(即驅動模塊)
2.6內核:make :作用相當於make bzImage與make moles
第六步:安裝模塊(make moles_install)
讓make moles或make 過程中產生的.o驅動模塊拷入/lib/moles/下相應目錄中;
第七步:安裝內核
第一種情況:直接使用make install命令即可。
第二中情況:先採用cp arch/i386/boot/bzImage /boot/×××(×××表示自己隨意的命名)
mkinitrd /boot/×××.img 2.6.12.6(內核版本號)

③ 如何重新編譯linux內核

因為一般電腦安裝的系統都是Windows,而整個編譯過程都需要在Linux環境下實現,所以最好是在虛擬機里安裝Linux系統來完成這一過程。我使用的虛擬機是VMware-workstation-full-v7.1.4。
然後,我們需要下載一個較高版本的Linux系統的鏡像文件,安裝在虛擬機上,作為編譯環境。我使用的是ubuntu-11.04-desktop-i386。之所以選擇較高版本,是因為它的界面比較方便用戶操作。
然後下載一個Linux內核源代碼文件,將它保存到虛擬機上新安裝的系統中去。並解壓到/usr/src目錄。我使用的是linux-2.6.36,下載低版本的原因是,小巧輕便,易於編譯。
解壓命令如下:
bzip2
-d
linux-2.6.36.tar.bz2
tar
-xvf
linux-2.6.36.ta
修改/usr/src/linux-2.6.36/kernel/sys.c文件,在文件末尾增加一個系統調用函數。自行編寫一個簡單的程序即可,只為測試用。
修改/usr/src/linux-2.6.36/arch/x86/kernel/syscall_table_32.S,為新添加的程序配置系統調用號。
在/usr/src/linux-2.6.36/arch/x86/include/asm/unistd_32.h中配置系統調用表。
下面就是最重要的內核編譯與安裝:
首先配置編譯信息,使其生成適合當前機器的Makefile,輸入make
oldconf
ig。
接著還要輸入make
menuconfig,在字元界面下進行必要的細微的修改。
然後要經過四步編譯過程(直接輸入命令即可):
(1)make
bzImage
將內核編譯為壓縮映像,存儲在源碼根目錄下的「System.map」文件中。
(2)make
moles
編譯各個模塊。
(3)sudo
make
moles_install
安裝模塊
(4)sudo
make
install
安裝內核
第(2)(3)步等待時間較長,可能需要數個小時,請耐心等待。
無報錯的話重啟進入GRUB界面,就可以看到新編譯的內核了。
按回車鍵進入我們編譯的目標內核中,用關鍵詞搜索查看新增加的系統調用「my
call」是否已在內核中:
編寫測試程序,調用新添加的系統調用:
測試成功,說明系統調用添加成功,進而說明內核編譯成功!
以上的辦法你可以試一下,希望對你有所幫助。

④ linux如何編譯安裝新內核支持NTFS文件系統(

第一步: 對硬體進行設置,使其滿足要求並下載內核:

1. 新添加一塊20G的硬碟及修改內存:

⑤ linux內核編譯問題 vmware內編譯好內核如何在其他主機上安裝

你這水平要加油了。
1. 沒有網卡的話,可以增加個usb口的網卡呢。一個才十幾塊錢。usb口絕對有。配置好ip地址,直接傳,如scp.
2. 拷貝內核,moles, 到U盤。
然後目標機器掛載U盤。
dmesg 識別到u盤。
然後掛載u盤:mount掛載下。
然後手動安裝內核,生成initxxxx文件,修改bootloader內核優先順序。
最後 sync 然後eject彈出u盤即可。
3. 硬碟介面等傳文件。
4. 人人順風順水的回答沒有問題,簡明,是你水平太差看不懂而已。
5. 內核目錄里有個Documentation, 你多閱讀下

⑥ 如何在外置掛載硬碟上編譯linux內核

有兩種解決辦法:
1、重新安裝Ubuntu系統,分區的時候多分10GB左右的空間。建議分區大小如下:
/boot 500MB
/ 15GB
swap 4GB(根據你的內存大小而定,如果你的內存大於4GB,則沒有必要分swap分區)

2、重新分一個區出來,建議大小為10GB左右,然後掛載到/目錄下,則此時的/目錄會增加10GB。這樣你就可以重新編譯內核了

⑦ 如何給linux安裝新內核

第二步:清除垃圾(這一步:一般是在就內核重新編譯時使用,在編譯新的內核是不需要); make clean及make mrproper; 第三步:進行內核裁減配置; 內核裁減配置的原則: 從實際出發。 如:根據支持的硬體設備來決定需要選擇的驅動模塊,根據需要選擇所支持的文件系統格式等; 具體配置命令為: make config :通過命令介面,依次要求你設定每個選項,如果.config文件存在,會根據該文件來設置默認值; make menuconfig :顯示以curses為基礎的、終端式的配置菜單。 make xconfig :圖形界面,顯示以Tk為基礎X Window配置菜單。 最常用的為:make menuconfig(註:需要ncurses的rpm包)。 說明:這一步中選擇為M模式的,編譯到/lib/moles/下相關目錄文件中;選擇為*模式的,編譯到內核中即/boot/vmlinuz中,啟動時載入到內核中。 具體內核裁減配置參閱其它資料。 第四步:生成依賴關系(make dep) 內核源碼樹中大多數文件都會與一些頭文件有依存關系,要想編譯內核順利,在正式編譯前必須讓內核源碼樹中的各個Makefile文件知道這些依存關系。 依存關系建立期間會在內核源碼樹中每個子目錄里產生一個隱藏的.depend文件,此文件內含子目錄里各個文件所依存的頭文件清單。 第五步:建立內核映像和模塊 2.4內核:make bzImage :在arch/YOUR_ARCH/boot/中生成在在zImage內核映像文件; make moles :在相應目錄下生成內核模塊(即驅動模塊) 2.6內核:make :作用相當於make bzImage與make moles 第六步:安裝模塊(make moles_install) 讓make moles或make 過程中產生的.o驅動模塊拷入/lib/moles/下相應目錄中; 第七步:安裝內核 第一種情況:直接使用make install命令即可。 第二中情況:先採用cp arch/i386/boot/bzImage /boot/×××(×××表示自己隨意的命名) mkinitrd /boot/×××.img 2.6.12.6(內核版本號)

⑧ 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伺服器,想自己編譯內核,一步一步做下來,

一般情況下
initrd這個文件在台式機上不是必須的,但是在有SCSI設備的伺服器上卻是必須的。有可能因為編譯內核的時候沒有產生initrd那個文件,所以會有上面的錯誤提示。用戶可以使用mkinitrd命令來生成一個initrd.img文件,然後加入GRUB,重啟試一試更多內容請查看《Linux就該這么學》。

閱讀全文

與linux內核編譯安裝新電腦相關的資料

熱點內容
基腐免費網站 瀏覽:231
手機看雜志軟體 瀏覽:521
win10怎麼提供電腦性能 瀏覽:30
戰神電腦win7系統崩潰 瀏覽:983
怎麼用列印機掃描正反文件到電腦 瀏覽:533
蘋果電腦鍵盤數字區沒有反應 瀏覽:398
索尼微單怎麼傳照片到電腦 瀏覽:814
功放哪些音頻可以連接電腦 瀏覽:102
電腦備份程序有哪些 瀏覽:49
蘋果新手機怎麼下載軟體 瀏覽:573
學編程如何配電腦 瀏覽:577
電腦下載文件提示有病毒 瀏覽:263
電腦有網wifi沒網是咋回事 瀏覽:829
電腦軟體總是停止運行 瀏覽:671
5寸三防平板電腦有哪些 瀏覽:557
台式電腦下載安裝絕地求生 瀏覽:655
電腦上面解壓文件 瀏覽:582
蘋果手機如何驗證軟體 瀏覽:202
平板電腦衛士安卓版 瀏覽:339
蘋果平板檢測軟體 瀏覽:519