linux更換內核
Ⅰ linux系統如何升級內核
1。將下載的新內核(比如linux-2.6.17.tar.bz2)拷貝到 /usr/src, 然後在/usr/src本地解壓,生成新目錄linux-2.6.17;2.#cd linux-2.6.17; 編輯Makefile 找到EXTRAVERSION:EXTRAVERSION = -xhawk(你自己給新內核取的名字) (注意前面的「-」 符號)3。拷貝/boot/下的1個config文件到/usr/src/linux-2.6.17/(解壓的新內核目錄),更名為.config。4。#make clean && make mrproper5. #make xconfig6. load 剛拷貝過來的/usr/src/linux-2.6.17/.config;7. 在"Processor type and features" 欄目,選擇自己的CPU類型,我的CPU 是Athlon64 3000+,但我想用32位的SUSE Linux,這里仍然選擇Athlon64;選擇Preemptible Kernel(Low-Latency Desktop); Time Frequency 選擇1000Hz;8。在Networking 欄目,去掉IPv6 Protocol;save;退出;9.編輯 .config file;找到:CONFIG_BLK_DEV_RAM_SIZE 把值改為 128000;10。在命令行執行 #export CHOST="i686-pc-linux-gnu"11。#export CFLAGS="-march=athlon64 -O2 -pipe -funroll-all-loops -funit-at-a-time -fpeel-loops -ftracer -funswitch-loops -fomit-frame-pointer -fweb -msse3"說明:如果CPU 是新版的Athlon64("Venice" or "San Diego")/Athlon64-X2("Manchester" or "Toledo"),加上-msse3,以支持SSE3 功能;12.#export CXXFLAGS="${CFLAGS}"13.#export MAKEOPTS="-j6"說明:MAKEOPTS= will set number of concurrent threads. 我有 1GB 內存 所以我的 MAKEOPTS=」-j6」,如果內存小,選MAKEOPTS="-j2"。***對於其它CPU的參數,請參考: http://gentoo-wiki.com/CFLAGS http://gentoo-wiki.com/Safe_Cflags#Intel_Processors14。開始編譯:#make bzImage#make moles#make moles_install15.#make install 自動新內核到/boot,自動修改Grub. (不用再mkinitrd)16.啟用新內核(這一步似乎可以不做,因為我忘記做這一步,仍然成功啟動到新內核):#rm /boot/vmlinuz#rm /boot/initrd#ln -s vmlinuz-2.6.17-xhawk-default vmlinuz (注意新生成的內核的名稱,在/boot 下查一下)#ln -s initrd-2.6.17-xhawk-default initrd17。重起計算機,用#dmesg命令查看啟動信息,第一行就是當前內核版本。或者用命令 #uname -r18.如果內核去掉了IPv6, 最好修改一下 /etc/sysconfig/SuSEfirewall2,把 FW_IPv6="" 改為FW_IPv6="no"然後修改 /etc/modprobe.conf將alias net-pf-10 ipv6 修改為 alias net-pf-10 off添加 alias ipv6 off
Ⅱ 如何進行Linux內核升級
1.下載內核
去linux內核的官網或者鏡像站點下載即可。
2.下載熱點內核標准配置文件
wget http://vbets.googlecode.com/files/config</p> <p>mv config .config
3.編譯內核
make menuconfig
選中Load an Alternate Configuration File ,然後選擇剛下載的。config
另外,要特別選中:
1)、通過make menuconfig選中以下對應的選項
General setup –></p> <p>[*] enable deprecated sysfs features to support old userspace tools
2)、修改。config文件
修改。config文件中CONFIG_SYSFS_DEPRECATED_V2,將原本被注釋掉的
CONFIG_SYSFS_DEPRECATED_V2 改成CONFIG_SYSFS_DEPRECATED_V2=y
註: 修改這項是因為舊版的mkinitrd及其nash在內核沒有CONFIG_SYSFS_DEPRECATED_V2參數時默認使用舊版sysfs路徑格式,從而在新內核下無法正確訪問/sys內的硬碟信息節點。
主要是解決"mount:could not find filesystem '/dev/root'"這樣的錯誤
make bzImage</p> <p>make moles</p> <p>make moles_install</p> <p>make install
4.解壓修改內核
cp /boot/initrd-2.6.38.img /tmp</p> <p>cd /tmp/</p> <p>mkdir newinitrd</p> <p>cd newinitrd/
zcat /initrd-2.6.38.img |cpio -i
rm -rf /tmp/initrd-2.6.38.img
vi init[/code]
找到這2行一樣的,去掉1行
echo "Loading dm-region-hash.ko mole"</p> <p>insmod /lib/dm-region-hash.ko</p> <p>echo "Loading dm-region-hash.ko mole"</p> <p>insmod /lib/dm-region-hash.ko
這主要是解決:"insmod: error inserting '/lib/dm-region-hash.ko': -1 File exists"這樣的錯誤
5.從新打包內核
find .|cpio -c -o > /initrd</p> <p>cd /</p> <p>gzip -9 < initrd > initrd-2.6.38img</p> <p>rm -rf /boot/initrd-2.6.38.img</p> <p>cp initrd-2.6.38.img /boot</p> <p>rm -rf /cd /usr/src/linux-2.6.38.tar.gz</p> <p>rm -rf /cd /usr/src/linux-2.6.38
6.設置從新內核啟動
vi /boot/grub/grub.conf
把default=1改為default=0
7.重新啟動系統
reboot
Ⅲ kali linux怎麼更新內核
圖形界面
在圖形界面依次選擇「應用程序」|「系統工具」|「軟體更新」命令
該界面提示確認是否要以特權用戶身份運行該應用程序,如果繼續,單擊「確認繼續」按鈕
命令更新
(1)apt-get update:只更新軟體包的索引源,作用:同步源的軟體包的索引信息,進而進行軟體更新;在國內用中科大的源,速度較快,1分鍾搞定。
(2)apt-get upgrade:升級系統上安裝的所有軟體包;若更新失敗,所涉及的包會保持更新之前的狀態。
(3)apt-get dist-upgrade:升級整個linux系統;例如:從kali linux1.0.1升級到kali linux1.0.2(不僅能夠升級所有已安裝的軟體包,而且會處理升級過程中可能出現的軟體沖突。某些情況下,它的部分升級過程需要人工參與)。
Ⅳ Linux(如ubuntu)操作系統的內核可以隨便換的嗎
每一個Linux發行版都有自己專門的工具去構建自定義的內核. 每次換內核都需要linux(如Ubuntu)平台上編譯內核, 可以從www.kernel.org(也叫vanilla kernel)獲得最新且未改動的內核源代碼來構建一個自定義的內核, 這樣你可以使用自己的內核而不是發行版的內核。
Ⅳ Linux系統為什麼有時要換內核換為高版本的內核跟系統升級作用一樣嗎
這樣理解 吧,把你平時用的linux系統,比如 ubuntu, debian, fedora, 它們都 分為兩個部分,
1:內核 , 就是/boot/ 下面的vmlinuz 和initrd.img
2: 系統上的軟體, 比如,vi, firefox, gcc
換內核 是換第一部分, 升級系統是可能兩個部分都包括
Ⅵ linux 修改內核信息
可以改。永久變更主機名用下面方法需要改2處#vi /etc/hosts127.0.0.1 xxxx localhost.localdomain localhost#vi etc/sysconfig/networkNETWORKING=yesHOSTNAME=xxxxGATEWAY=192.168.0.1這樣重啟之後,主機名也不會變※· xxxx為你要改的主機名
Ⅶ 怎樣更新linux內核
1.首先下載內核原代碼,2.然後安裝3.定製 4.編譯 ..
就 OK了...
對它不熟悉的最好別弄!不是對原系統有害!而是白費時間!! 謝謝!
Ⅷ 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安裝新內核
清除垃圾(這一步:一般是在就內核重新編譯時使用,在編譯新的內核是不需要);
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內核升級
首先要有大約5G的空閑空間吧
操作步驟
1、 環境配置
安裝必備軟體編譯工具:
#apt-get install libncurses5-dev build-essential kernel-package
注意:
(1)libncurses5-dev是為之後配置內核能運行 make menuconfig程序做准備
Build-essential為編譯工具,kernel-package是編譯內核工具
(2)如果系統顯示無法查找到這三個文件,輸入#apt-get update更新數據源。
進入root用戶許可權(本文全程超級用戶操作):
#sudo passwd root (第一次進入超級用戶需設置密碼)
#su (設置完超級用戶密碼後命令su直接登錄)
2、下載內核
登錄www.Kernel.org下載最新版本內核,本文下載linux-2.6.36.tar.bz2,ubuntu默認下載目錄為/home/XX(your name)/Downloads/
3、解壓縮
#cd /usr/src
/usr/src# tar xrf /home/XX/Downloads/linux-2.6.36.tar.bz2
4、配置內核
/usr/src# cd linux-2.6.36
/usr/src/linux-2.6.36#make menuconfig
註:
可以直接save,exit直接生成.config文件,也可以使用當前系統配置文件,使用當前系統配置文件方法:/linux-2.6.36#cp /boot/config-XX ./.config,然後進入menuconfig選擇load選項。
5、編譯內核
/usr/src/linux-2.6.36#make (也可以用make –j4命令據說可以節約時間,但是個人用下來覺得沒什麼區別。 )
Ps:這個過程時間很長,有時要三個小時
6、加入模塊
/usr/src/linux-2.6.36#make moles_install
Ps:這步也很漫長,不過和前一步相比,小巫見大巫了。
7、生成可執行的內核引導文件
/usr/src/linux-2.6.36#make bzImage(i字母要大寫)
/usr/src/linux-2.6.36#cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.36
8、將System.map復制到/boot下:
/usr/src/linux-2.6.36#cp System.map /boot/System.map-2.6.36
9、生成initrd.img文件
/usr/src/linux-2.6.36#cd /lib/moles/2.6.36
/lib/moles/2.6.36#update-initramfs –c –k 2.6.36
10、自動查找新內核,並添加至grub引導:
#update-grub
11、清除多餘的創建文件(可以不用理)
#cd /usr/src/linux-2.6-36
#make clean
12、重啟系統
#reboot 或者shutdown –r now
上面使用的linux內核是linux-2.6.36版本的,你要換成相應你的版本。
PS:上面的步驟我也是在網上弄得,具體來源忘了,不過很好用,我已成功編譯。