⑴ linux中如何使/etc/hosts文件中的IP地址自動更新為當前系統的IP
1.首先在Linux系統下設置靜態的IP地址
vim/etc/network/interfaces#編輯網網卡配置文件
autolo
ifaceloinetloopback
autoeth0#開機自動連接網路
ifaceeth0inetstatic#static表示使用固仔祥漏定ip,dhcp表述使用動態ip
address192.168.21.168#設置ip地址
netmask255.255.255.0#設置子網掩碼
gateway192.168.21.2#設置網關
ctrl+o#保存配置
ctrl+x#退出
2.在/etc/profile 加入腳本
vim/etc/profilegrep-v"hostname(指定的域名)"/etc/hosts>~/hosts_temp
cat~/hosts_temp>/etc/hosts
LC_ALL=Cifconfig|grep'inetaddr:'|grep-v'127.0.0.1'|cut-d:-f2念爛宴孝|awk'{print$1}'>>/etc/hosts
3.重啟網路使設置生效
/etc/init.d/networkingrestart#重啟網路
⑵ puppy linux怎麼配置本地更新源
下載Grub4dos
下載 grub4dos後,把裡面的grub.exe,grldr和menu.lst解壓到C盤根目錄下,修改C盤根目錄下的BOOT.INI,增加以下啟動項。
復制內容到剪貼板
代碼:
C:grldr="GRUB LOADER"
(2) 修改C:menu.lst文件,增加title Puppy Linux項等內容。
可參照下面這個例子(安裝在C盤)
復制內容到剪貼板
代碼:
title Puppy Linux
kernel (hd0,0)/vmlinuz root=/dev/ram0 PMEDIA=idehd
initrd (hd0,0)/initrd.gz
注意:有空格,上面的(hd0,0)就是vmlinuz內核文件所在的分區地址,如果你是在d:abc那就應該這樣了
復制內容到剪貼板
代碼:
kernel (hd0,4)/abc/vmlinuz root=/dev/ram0 PMEDIA=idehd
initrd (hd0,4)/abc/initrd.gz
這兩褲胡條都需要改變,因為vmlinuz和initrd.gz放在同一個地方。
(3) 用winrar解開Puppy Linux iso文件,將initrd.gz,vmlinuz,pup_4xx.sfs,zdrv_4xx.sfs四個文件復制到FAT32格式磁碟根目錄下(NTFS格式不認),如C盤或D盤。
(4) 重啟,在出現Windows啟動菜單時選擇GRUB LOADER啟動項。
然後在Grub啟動列表裡選擇Puppy Linux ——正常啟動PuppyLinux,載入pup_save.2fs文件(如果有的話)。啟動運行後,會進行初始配置選擇:選擇鍵盤,通常選第一個us就可以了。
選擇 X server。 puppy 自帶了兩種 X server 一個是 Xorg 另一個是 Xvesa。 Xvesa 比 Xorg 更小巧但功能相比也要少一些。建議這里還是選擇"Xorg",如果「Xorg」測試不通過的話,再選擇"Xvesa"(解析度較低,但保證能進入圖形介面)。
選擇顯示器的解析度和色扒敗彩的深度,這個根據自己的實際情況進行選擇。配置完後,不一會就可以看到Puppy Linux 4.0 的桌面環境了。進入menu/setup/network wizard 或 pppoe設置,就可以在 Puppy Linux 4.0 里上網了。無線網卡在 Puppy Linux 4.0 中也能正常識胡此攔別了。
2. 安裝中文支持包
用於顯示和輸入漢字。
3. 安裝initrd補丁
用於支持安裝Puppy分區的中文文件名顯示(這一步可選)。
4. 安裝中文支持附加包
提供一些額外的中文字體和補丁,使系統更好的支持中文(這一步可選)。
5. 安裝最新中文化測試包0.0.4
該測試包正在逐步完善之中,目前已對常用軟體、右鍵菜單、及桌面圖標進行了初步中文化,如發現bug或需要改進之處,請到發貼報告。
6. 設置本地語言環境 locale
點「menu->desktop->chooselocale country localisation」,彈出窗口上按「local」按鈕。再彈出一個窗口,選擇:zh_CN.utf8,點OK。
7.重啟puppy linux系統
在關機前會有提示是否要保存會話,選yes,保存文件名為pup_save.2fs,大小建議為256M以上。
——原文鏈接:
⑶ 如何利用linux網路協議遠程更新操作系統
一、引言
一般情況下,我們都是利用軟碟機或光碟機引導Linux後,再通過本地的光碟機安裝Linux。但是,這種安裝方法在以下的幾種情況下就不能適用:
無軟碟機和光碟機:很多公司為了節省成本,計算機一般都不帶光碟機或軟碟機,這樣就無法通過本地安裝Linux;
非標準的軟碟機和光碟機:雖然筆記本都會配置光碟機,但是並不一定都是標準的IDE設備,有些是通過USB介面,有些是通過1394介面(例如Samsung的Q10)。在Linux安裝時所引導的Linux內核一般都不會帶這些介面的驅動,所以也無法通型顫過本地安裝Linux;
另外,在一些場合,如機房中,有大量的計算機需要同時安裝Linux,如果通過光碟機的方式一個個安裝,不僅效率低,也不利於維護。
筆者在工作過程中,就遇到過第二種情況。一台Samsung的Q10筆記本需要安裝Redhat Linux 8.0,但是通過虧信光碟機引導後發現,安裝程序無法訪問光碟。針對這個問題,筆者經過查閱資料和摸索,找到了在Q10上安裝Linux的方法。在下面的討論中,如不做特別聲明,都將以Q10為例,介紹如何通過PXE Bootrom來遠程安裝Linux。
二、基本原理
1) 什麼是PXE
PXE(Pre-boot Execution Environment)是由Intel設計的協議,它可以使計算機通過網路啟動。協議分為client和server兩端,PXE client在網卡的ROM中,當計算機引導時,BIOS把PXE client調入內存執行,並顯示出命令菜單,經用戶選擇後,PXE client將放置在遠端的操作系統通過網路下載到本地運行。
PXE協議的成功運行需要解決以下兩個問題:
既然是通過網路傳輸,那麼計算機在啟動時,它的IP地址由誰來配置;
通過什麼協議下載Linux內核和根文件系統
卜空敗對於第一個問題,可以通過DHCP Server解決,由DHCP server來給PXE client分配一個IP地址,DHCP Server是用來給DHCP Client動態分配IP地址的協議,不過由於這里是給PXE Client分配IP地址,所以在配置DHCP Server時,需要增加相應的PXE特有配置。
至於第二個問題,在PXE client所在的ROM中,已經存在了TFTP Client。PXE Client使用TFTP Client,通過TFTP協議到TFTP Server上下載所需的文件。
這樣,PXE協議運行的條件就具備了,下面我們就來看看PXE協議的工作過程。
2) 工作過程
在上圖中,PXE client是需要安裝Linux的計算機,TFTP Server和DHCP Server運行在另外一台Linux Server上。Bootstrap文件、配置文件、Linux內核以及Linux根文件系統都放置在Linux Server上TFTP伺服器的根目錄下。
PXE client在工作過程中,需要三個二進制文件:bootstrap、Linux 內核和Linux根文件系統。Bootstrap文件是可執行程序,它向用戶提供簡單的控制界面,並根據用戶的選擇,下載合適的Linux內核以及Linux根文件系統。
三、步驟
有了前面的背景知識,接下來就可以正式操作了,下面按照順序給出了操作步驟:
1) 配置DHCP Server
選用ISC dhcp-3.0,DHCP Server的配置文件是/etc/dhcpd.conf,配置文件的內容如下:
option space PXE;
option PXE.mtftp-ip code 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
option PXE.discovery-control code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr code 7 = ip-address;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
option vendor-class-identifier "PXEClient";
vendor-option-space PXE;
# At least one of the vendor-specific PXE options must be set in
# order for the client boot ROMs to realize that we are a PXE-compliant
# server. We set the MCAST IP address to 0.0.0.0 to tell the boot ROM
# that we cant provide multicast TFTP (address 0.0.0.0 means no
# address).
option PXE.mtftp-ip 0.0.0.0;
# This is the name of the file the boot ROMs should download.
filename "pxelinux.0";
# This is the name of the server they should get it from.
next-server 192.168.0.1;
}
ddns-update-style interim;
ignore client-updates;
default-lease-time 1200;
max-lease-time 9200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.254;
option domain-name-servers 192.168.0.1,192.168.0.2;
option domain-name "mydomain.org";
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.100;
}
host q10 {
hardware ethernet 00:00:F0:6B:38:5B;
fixed-address 192.168.0.22;
}
dhcpd.conf配置文件中幾個關鍵部分說明如下:host q10{…}定義了筆記本Q10網卡的MAC地址與IP地址的對應關系,表明DHCP Server為Q10分配一個固定的IP:192.168.0.22;filename ""指定bootstrap的文件名;netx-server指定TFTP Server的地址。其它的配置請讀者參考DHCP Server的手冊。
2) 配置TFTP server
選用tftp-hpa,TFTP Server的配置文件是/etc/xinetd.d/tftp,配置文件的內容如下:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -u nobody -s /tftpboot
disable = no
per_source = 11
cps = 100 2
}
這里制定了/tftpboot為TFTP Server的根目錄位置。
3) 配置bootstrap
bootstrap文件在dhcpd.conf中被指定為pxelinux.0文件,放置在/tftpboot。Linux內核以及Linux根文件系統也放置在/tftpboot。pxelinux.0在執行過程中,要讀配置文件,所有的配置文件都放在/tftpboot/pxelinux.cfg/目錄下。由於PXElinux具有為不同的PXE Client提供不同的Linux內核以及根文件系統的功能,所以要通過不同的配置文件名來區分出不同的PXE Client的需求。比如一個PXE Client由DHCP Server分配的IP地址為192.168.0.22,那麼相對應的配置文件名為/tftpboot/pxelinux.cfg/C0A80016(註:C0A80016為IP地址192.168.0.22的十六進製表示)。如果找不到,就按照順序C0A80016-> C0A8001-> C0A800-> C0A80-> C0A8-> C0A-> C0-> C->default查找配置文件。
/tftpboot/pxelinux.cft/C0A80001配置文件的具體內容如下:
DEFAULT install
PROMPT 1
LABEL install
KERNEL vmlinuz
APPEND initrd=initrd.img devfs=nomount ramdisk_size=16384
此配置文件指定了Linux內核以及根文件系統的名稱,並給內核傳遞了一些參數,其中ramdisk_size參數要非常注意,它指定Linux內核啟動後建立ramdisk的大小,如果設置太小,Linux的安裝過程就可能無法進行。
4) 製作Linux內核/根文件系統
因為需要通過網路安裝,所有選擇Redhat Linux 8.0安裝盤(disk #1)中E:imagesootnet.img(光碟機的盤符為E:)。bootnet.img包括Linux內核、Linux根文件系統(有安裝程序在內)。用bootnet.img製作一張引導軟盤,方法在DOS命令行運行E:dosutils awrite E:imagesootnet.img,根據提示製作。製作完畢後,將引導軟盤中的vmlinuz(Linux內核)和initrd.img(Linux根文件系統)拷貝到Linux Server的/tftpboot下。
5) 啟動DHCP Server/TFTP Server
在Linux Server上,運行service dhcpd start和service xinetd restart。
6) 啟動Q10
Q10加電後,在出現Samsung公司徽標時,在左下角會提示用戶按F12進入網路引導。按F12後,Q10進入網路引導過程。首先通過DHCP Server獲得了IP地址,然後下載並執行bootstrap文件pxelinux.0;在執行中,讀入配置文件/tftpboot/pxelinux.cfg/C0A80016。此時屏幕上出現boot:,敲入install,就進入了Redhat Linux 8.0的網路安裝界面,一切OK!
四、結束語
雖然以上的討論是針對Samsung Q10筆記本,但是工作原理和安裝方法對於其它類型的計算機也是適用的,不過要記住,計算機的網卡中必須要有BootROM--PXE Client。同時,PXE協議也可作為無盤Linux技術,用於引導放置在遠程的Linux。實際上,只要根據需要,在Pxelinux的配置文件的APPEND選項中,為Linux內核傳進需要mount的文件系統的位置參數即可。
⑷ linux中怎麼添加或修改配置文件
1、首先輯配置文件,添加下面的這一行 。
⑸ linux生產環境重新配置jdk會不會影響在運行的程序
在Linux下有的時候需要重新配置jdk,因為環境變數是使用默認安裝的jdk,這個默認安裝的jdk不卸載掉,那麼新配置的環境變數將不會生效。配置jdk環境變數的時候,裡面配置的有問題,會導致基礎命令不能使用。暫時恢復使用基礎命令:export PATH=/bin:/usr/bin:$PATH然後檢查修改剛配置的jdk環境變數,主要是看下各種符號。source /etc/profile 重新運行配置文件。當我們把伺服器部署在Linux系統上後,將spring-boot上傳到伺服器上時,想要運行項目,就必須在Linux系統上安裝並配置jdk。
Linux系統一切皆文件。 在Linux系統上安裝jdk和windows相類似。如果系統已掘嫌衡經裝有jdk,想要更換版本,需要將原有的刪除,需要執行rpm -e -nodeps [想要刪除的程序名],刪除過後,再執行java -version Windows環境配置需要在屬性中找到高級系統設置,然後在環境變數中添加屬性和值,Linux系統也是一樣,Linux系統的系統設置在/etc/profile目錄下,用vim /etc/profile進入到配置文件的vim編輯模式按住i回車進入insert模式,然後和windows設置判做PATH,JAVA_HOME.CLASSPATH,一樣,只不過Linux系統中,可視化圖標轉變成了命令當我們再次輸入java和javac的時候會出現以下配置信息,說明jdk安裝並配置成功。Linux上配置環境變數按照影響的范圍,可以分為root級別的,也就是所有的用戶都會受到影響,另一種是用戶級別的,這種隻影響該用戶的范圍,不影響其他用戶;
Linux配置環境變數的文件常用的有,root級別的有兩個:/etc/profile,/root/.bash_profile;用戶級別的有一個~/.bash_profile;這種方法更為安全,它可以把使用這些環境變數的許可權控制到用戶級別,如果你需要給某個用戶許可權使用這些環境變數,你只需要修改其個人用戶主目錄下的.bash_profile文件就可以了。
因為生產伺服器者空給了一個用戶,所有的操作都在這個用戶的許可權范圍內,但是伺服器的jdk和自己的應用服務使用的jdk版本不一致,但是如果修改伺服器的jdk可能導致伺服器上其他的應用不可用,所以配置用戶級別的jdk是最好的方案,隻影響本用戶下的應用,不影響其他用戶;
用戶級別的jdk的好處就是,這台伺服器上,如果多個用戶,使用的jdk都不同,則每個用戶都可以單獨配置自己的jdk版本,相互不影響;在設置環境變數時特別要注意不能把原來的值給覆蓋掉了,這是一種
常見的錯誤。在Linux伺服器上,或者自己使用的Linux系統上,經常需要用到java運行環境,如果你是開發者,通常需要配置jdk,而如果你只是安裝java來運行程序,那就只需要配置JRE。
所以,在Linux環境下,配置Java運行(開發)環境,就成了一個必須掌握的技能,但是可能配置好一次之後就不再會用到這個技能,通常過後就會忘掉了,所以,如果有一篇文章記錄下來具體的配置步驟的話,後面即使忘記,回來再查看一下配置步驟,就會方便很多。
所以呢,就教一下大家如何安裝配置Java運行環境。本文章教程以安裝開源版Java 8為例,重點關注小白用戶,對於開發者來說,相信這個技能都會,而且還有自己的理解和技巧,但是對於小白用戶來說,配置Java環境真的沒有那麼容易。但是在安裝配置Java之前,需要先給大家講解一下什麼是jvm,什麼是JRE,什麼是JDK。JVM是Java程序運行的虛擬機,普通用戶無需關心它即可。
JRE是Java程序運行所需要的基礎類庫,如果你只是想運行Java編寫的程序、軟體的話,僅僅需要安裝JRE就夠了。
JDK是Java程序編寫所需要的類庫,開發者通過JDK來開發軟體包,並編譯程序,如果你是做開發,就需要用到JDK。Readhat系列:桌面版本Fedora,伺服器版本CentOS,使用yum包管理工具。
Debian系列:主要系列有Debian、Ubuntu,他們都有各自的桌面版和伺服器版,還有現在國產操作系統做的比較好的深度系統Deepin,最近剛合作發行的統一操作系統UOS。最常見使用apt-get/dpkg包管理方式,新一代包管理工具則是apt。
這兩個發行系列的包管理方式基本類似。在Debian系列中,推薦使用apt包管理方式進行安裝,在CentOS中,則就是大家最熟悉的yum了,當然也有最新一代的包管理工具dnf。從一開始接觸Linux,就是Ubuntu桌面版開始的,熟悉了Ubuntu之後,覺得甚是好用,因此養成了我的習慣,再後來到接觸到Debian 8/9,才知道,Ubuntu是Debian系列的一個分支,後來全面轉向使用Debian
普通用戶不需要自己配置JRE環境,使用包管理方式進行安裝最為簡單方便了。在Linux系統終端中,執行下面的命令安裝即可使用javac Hello.java來編譯我們寫好的java代碼,如果寫得有問題,下面會有編譯錯誤的提示信息出來的;如果寫得沒有問題,那麼就編譯成功,編譯成功之後的目錄為:
.png
看到存在Hello.class和Hello.java兩個文件。
4、執行Hello.class
既然Hello.class都已經編譯成功了,那麼最後自然就是執行這個文件了,使用java Hello就可以了:
.png
列印出字元串"Hello",成功
後記
如果上面幾步都OK並且成功看到結果,那麼就充分證明了我們在Linux環境下成功部署了JDK1.7。
在成功部署JDK1.7的基礎上,我們後面將進一步玩MemCache、Zookeeper、Hadoop等各種各樣的分布式組件。
⑹ linux伺服器是怎麼升級系統的
在穩定且滿足需求的情況下不建議頻繁升級,因為升級之後很多原來的配置需要保留,升級過程中一般會有提示,如果不熟悉操作的有可能會恢復成默認設置,這樣會很麻煩。另外很多在線運行的軟體有可能對升級後的庫文件不兼容,軟體也需要更新,這樣在線業務有可能會中斷。因此,在沒有確切需要的情況下最好不要過於頻繁升級。
⑺ linux伺服器上tomcat版本升級,從5.5升到7.0以上具體配置和細節
linux下tomcat升級步驟:
1)停【舊】tomcat服務
cd apache-tomcat/bin
sudo ./shutdown.sh
2)全量備份【舊】tomcat文件夾
mv apache-tomcat apache-tomcat_20190914.bak
3)上傳升級材料中tomcat壓縮文件包;解壓
tar -zxvf apache-tomcat-8.5.20.tar.gz
4)解壓【新】tomcat壓縮文件,放在之前tomcat同樣路徑下,改名文件夾為舊版tomcat名(apache-tomcat)(■這樣環境變數就不需要改了)
5)備份【新】webapps下的examples
mv examples examples.bak
5)拷貝【舊】webapps下的程序包文件夾到【新】webapps下
cd /usr/local/apache-tomcat/
rm -rf webapps
cp -r /usr/loal/apache-tomcat_20190914.bak/webapps /usr/local/apache-tomcat/
6、修改新tomcat中的配置文件
涉及文件:conf/server.xml bin/catalina.sh
備份一下conf目錄、Lib目錄、server.xml、web.xml這幾個目錄及文件,
6-1)備份【新】server.xml catalina.sh ,改名備份即可
cd /usr/local/apache-tomcat/conf
mv server.xml server.xml.default.bak
6-2)拷貝【舊】server.xml catalina.sh 到【新】tomcat相同目錄下
(■6和7兩步 有的可能其他配置文件做過修改的也類似處理)
7.備份【新】catalina.jar,修改ServerInfo.properties並更新jar
cp catalina.jar catalina.jar.bak
unzip catalina.jar
cd org/apache/catalina/util
sudo vim ServerInfo.properies
刪除 apache tomcat 後的版本號,將server.number改為0.0.0.0
目標:
server.info=Apache Tomcat
server.number=0.0.0.0
server.built=Oct 28 2013 05:08:47
jar -uvf catalina.jar org/apache/catalina/util/ServerInfo.properties
sudo rm -rf org META-INF
8)啟動【新】tomcat
cd apache-tomcat/bin
sudo ./startup.sh
9)查看埠是否運行正常
⑻ 如何 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:上面的步驟我也是在網上弄得,具體來源忘了,不過很好用,我已成功編譯。
⑼ linux系統對系統的基本配置要求
Linux系統是非常穩定和高效的,對電腦硬體配置要求很低,這正是Linux系統的優勢所在,不同的Linux系統版本要求略有不同,但是大體上在同一個配置等級內,而且當下主流的配置都可以輕松運行Linux系統,用戶可以參考如下Ubuntu的配置求:
一、Ubuntu的最低配置:
在外觀首選項里關閉特殊「視覺效果」後,下面配置可以流暢地運行Ubuntu:
CPU:700 MHz;
內存:384 MB;
硬碟:6 GB 剩餘空間;
顯卡:800x600以上解析度;
二、Ubuntu推薦配置:
擁有以下硬體配置,可以打開視覺效果,令電腦產生美輪美奐的極具吸引力的效果:
CPU:1.2 GHz;
內存:512 MB;
硬碟:8 GB 剩餘空間;
顯卡:1024x768以上解析度。可以參考下《Linux就該這么學》學習更多Linux知識。
⑽ 如何進行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