從U盤自動安裝centos5.3到服務器

從U盤自動安裝centos5.3到服務器
作者:田逸([email protected]) from: http://blog.formyz.org
 
前幾天,買服務器,供貨商贈送1個8G的U盤,於是我就想拿這個U盤來做一個centos的安裝盤。這樣做的好處主要有3點:保存較長的時間(dvd盤放置一段時間就髒了,再拿來裝系統很不容易成功。曾經有慘痛的教訓啊!)、安裝速度快、省事(相對與網絡安裝,不需要弄tftp、nfs等)。
 
基本想法
1、所有需要的東西都在u盤,如鏡像文件、引導系統所需的文件等。這樣做的目的就是不再需要藉助其他資源來完成安裝。
2、安裝自動進行。分區、軟件包的選擇等都是自動完成,大大加快了安裝的速度。
3、centos被安裝到服務器的硬盤而不是u盤。網上有不少文章,是把系統安裝到u盤的,這種方法,不是服務器所需要的。
 
U盤安裝系統時磁盤的命名規則
服務器自己的硬盤被當成sda,u盤被當成sdb。這個要弄清楚。
 
安裝前的處理
安裝本身是很容易的事情,更何況是自動安裝。而安裝前所需要做的工作,纔是比較費事和容易出問題的了,因此這裏用較多的篇幅來敘述這個過程。
 
(一)準備所需要的軟件。它包括Centos鏡像(DVD)文件和windows版的syslinux.exe文件。當然可以直接用linux系統自帶的syslinux,不過linux的syslinux做引導處理有點麻煩,所以改用windows版的syslinux.exe.麻煩在哪裏?執行完syslinux -s /dev/sda1 後還要來個dd 操作。
 
(二)準備兩個操作系統,一個windows,一個linux.windows用來做引導--寫mbr和生成ldlinux.sys;linux用來創建分區、拷貝文件等。
 
(三)先在linux系統上進行如下操作:
1、下載centos鏡像文件。這個文件很大,網上有完整的dvd鏡像下載(一個文件這種),可用的下載地址爲: http://mirrors.rit.edu/centos/5.3/isos/i386/CentOS-5.3-i386-bin-DVD.iso .我把它用wget下載到/root目錄。
 
2、掛接這個鏡像文件,以便我們可以使用鏡像文件裏的目錄。mount -o loop /root/CentOS-5.3-i386-bin-DVD.iso  /mnt/ios 執行命令 cd /mnt/iso,可以像瀏覽dvd光盤一樣查看目錄及其裏面的文件。
 
3、把U盤插入linux服務器,然後執行fdisk -l檢查是否被識別。在我的系統裏,它被識別爲/dev/sdb.
(1)創建2個分區,使用的命令是#fdisk /dev/sdb , 以菜單的方式創建 /dev/sdb1和/dev/sdb2兩個分區。其中/dev/sdb1給512M的空間,其餘的留給/dev/sdb2.一定需要兩個分區麼?不是的。我這樣乾的目的是我對/dev/sdb1進行操作的時候,不會把鏡像文件弄丟了(鏡像文件3.8G,拷貝起來還是很費時間的)。
(2)創建好分區後,需要在上面創建文件系統,這個不難,其命令無非 #mkfs.msdos  /dev/sdb1 ;mkfs.ext2 /dev/sdb2,執行成功後,就產生一個dos分區和一個ext2分區。請注意,這裏是ext2文件系統而不是ext3,因爲syslinux好像只跟dos和ext2文件系統友好。
(3)把這個兩個分區掛接到linux系統,我使用的掛接目錄是/mnt/usb1和/mnt/usb2.
(4)複製目錄及文件。需要複製的目錄是/mnt/iso/isolinux,需要複製的文件是/root/anaconda-ks.cfg.文件/root/anaconda-ks.cfg不是必須的,爲了能自動安裝centos,所以使用了這個文件。
1)      拷貝isolinux目錄(注意改了目錄的名稱,以便syslinux能正常工作)cp –a /mnt/iso/isolinux /mnt/usb1/syslinux 2)      拷貝anaconda-ks.cfg文件(任何安裝完成的centos系統都會在/root目錄自動生成這個文件)cp /root/anaconda-ks.cfg  /mnt/usb13)      拷貝dvd鏡像文件cp /root/CentOS-5.3-i386-bin-DVD.iso /mnt/usb24)改文件名 /mnt/usb1/syslinux/isolinux.cfg爲/mnt/usb1/syslinux/syslinux.cfg
mv /mnt/usb1/syslinux/isolinux.cfg /mnt/usb1/syslinux/syslinux.cfg
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4、修改文件 /mnt/usb1/syslinux/syslinux.cfg,其修改後的內容如下:
default linux
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
  kernel vmlinuz
  append initrd=initrd.img
label text
  kernel vmlinuz
  append initrd=initrd.img text
label ks
  kernel vmlinuz
  append ks=hd:sdb1:/anaconda-ks.cfg initrd=initrd.img
label local
  localboot 1
label memtest86
  kernel memtest
  append -
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
“append ks=hd:sdb1:/anaconda-ks.cfg initrd=initrd.img”這一行是做了修改的,其作用是以硬盤方式(u盤也被認爲是硬盤)引導系統,其所需的centos鏡像文件在u盤的第二個分區,並且使用kickstart自動安裝,指定kickstart配置文件的路徑爲/anaconda-ks.cfg,即u盤第一個分區的根目錄下。
 
5、修改文件/mnt/usb1/anaconda-ks.cfg,使其內容如下:
# Kickstart file automatically generated by anaconda.
 
install
harddrive --partition=sdb2 --dir=
lang en_US.UTF-8
keyboard us
 
text
rootpw  123456
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --enforcing
timezone --utc America/New_York
bootloader --location=partition --driveorder=sda
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --linux
part / --fstype ext3 --size=20000
part /var --fstype ext3 --size=20000
part /usr --fstype ext3 --size=20000
part /data --fstype ext3 --size=1 --grow
part swap --size=4096
 
%packages
@development-libs
@system-tools
@core
@base
@network-server
@admin-tools
@development-tools
audit
kexec-tools
device-mapper-multipath
imake 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6、拔出u盤,把它插在windows系統的機器上,然後執行命令 syslinux.exe  -a -m  i: 就開始寫mbr和生成文件ldlinux.sys文件。注意u盤在linux下分了2個區,在windows下只能識別被格式化成的dos的那個分區(/dev/sdb1)。到這一步,前期的處理基本完成了。
 
開始安裝
把處理好的u盤插如欲安裝系統的服務器,然後開機,把引導設備改成u盤。無誤後,片刻出現centos 的安裝界面,這個界面會有一個syslinux.cfg關鍵字錯誤的提示,不用理會,直接輸入 ks 回車,安裝自動開始,2-3分鐘就自動安裝完畢。
 
需要注意一點,以我這個anaconda-ks.cfg的設置來安裝系統的話,硬盤的分區將重新格式化。我們可以根據自己的需要來編寫這個文件,使之符合我們的實際需求。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章