歡迎您光臨本站 註冊首頁

Linux自動引導配置光碟的製作

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

我們安裝Linux系統,需要用到系統安裝光碟,它會顯示一個交互的界面,讓我們進行設置,等設置完成後實現自動安裝.這個過程是怎麼實現的?我們可不可以自定義一個光碟,來實現自動安裝,不進行交互呢?答案是肯定的

Redhat Linux系統的安裝有兩個階段: 1,ananconda 它是一個開源的軟體,是linux安裝前的配置程序,它依賴於光碟中的isolinux目錄中的小linux系統來啟動.當我們插入系統安裝光碟后,出現的那個交互的讓用戶來選擇系統設置,選擇要安裝軟體包等,都是通過這個程序來實現的,可見isolinux這個目錄是非常重要的. 2,installation 這一步是真正的安裝,根據我們的選擇,實現系統安裝. ananconda有兩種模式: 1,圖形或命令行模式進行交換的配置 2,把系統配置寫到一個文件中,用ks指定,ananconda會自動讀取 而我們怎麼實現自動配置呢? 我們可以自己定義一個配置文件,自定義我們要安裝的軟體包,自定義系統的設置,讓ananconda來讀取,這樣就不用實現交互了. 那麼什麼是ks文件呢? ks即kickstart,它主要用於系統的自動安裝.ananconda會讀取它指向的配置好的文件,實現自動安裝. kickstart文件主要有三部分: 1,命令段 主要是配置操作系統,例如時區,鍵盤類型,網路的配置等. 2,軟體包段 在安裝的過程中,默認要安裝的軟體包 package_name 指定要安裝的單個軟體包 @groupname 指定要安裝的包組 -package_name 安裝包組的時候可以不安裝此軟體包 3,腳本段 這個是可選的 %pre 指定預安裝腳本,系統安裝前要運行的腳本,並且腳本中用到的命令,isolinux目錄中的小linux系統必須支持 %post 指定后安裝腳本,系統安裝后要運行的腳本,這些腳本中可以執行很多命令了 一,我們來寫一個kickstart文件,這個文件的後綴必須為.cfg mkdir /myboot cd /myboot vi jia.cfg install 安裝方式為安裝,而不是升級系統 test 表示安裝界面為文本 cdrom 指定系統安裝文件的位置,光碟 key --skip 跳過輸入序列號 lang en_US 系統安裝后默認要使用的語言 keyboard us 指定鍵盤類型 xconfig --startxonboot --resolution 1024x768 --depth 16 系統安裝后,系統啟動后啟用圖形界面,指定解析度和色深 network --device eth0 --bootproto static --ip=172.16.100.8 --netmask=255.255.0.0 --gateway=172.16.0.1 --nameserver=192.168.0.254 配置系統安裝后的網路,配置靜態ip,地址,掩碼,網關,DNS,系統安裝成 rootpw redhat 設定root的密碼是redhat firewall --disabled 默認關閉防火牆 authconfig --useshadow --enablemd5 使用shadow文件存放用戶密碼,並且用md5加密密碼存放 selinux --disabled 不啟用selinux timezone --utc Asia/Shanghai 設定時區 zerombr yes 清空mbr重新安裝 bootloader --location=mbr --driveorder=sda 把bootloader安裝在mbr中 clearpart --all --initlabel 刪除磁碟所有分區,如果磁碟沒有初始化,直接初始化 part /boot --fstype ext3 --size=100 創建一個100M的分區,掛載到/boot目錄,文件系統為ext3 part pv.01 --size=40960 創建物理卷 volgroup vol0 --pesize=8192 pv.01 在pv.01物理卷中創建卷組 logvol swap --fstype swap --name=swap --vgname=vol0 --size=1024 在vol0上創建邏輯卷,並為其創建swap文件系統,邏輯卷名稱為swap logvol /home --fstype ext3 --name=home --vgname=vol0 --size=2048 在vol0上創建邏輯卷,創建ext3文件系統,邏輯卷名稱為home,掛載至/home logvol / --fstype ext3 --name=root --vgname=vol0 --size=29984 在vol0上創建邏輯卷,創建ext3文件系統,邏輯卷名稱為root,掛載至/ reboot 安裝完成後自動重啟系統 %packages 下面定義的是要系統安裝的軟體包組和單個軟體包,這個可以根據我們的需要,實現自定義的安裝 @GNOME Desktop Environment @X Window System @Printing Support @Development Tools elinks openssh openssh-server openssh-clients vim-enhanced samba-common samba-client gimp gimp-data-extras enscript libcap ntp coreutils elfutils elfutils-libelf gimp-print-plugin gnome-icon-theme gstreamer gstreamer-tools libgnomeprint22 libgnomeprintui22 libgsf libIDL libraw1394 nautilus-cd-burner openmotif pyorbit startup-notification ttmkfdir firefox mutt screen %post 下面定義的是系統安裝之後所要執行的命令 id fedora &> /dev/null || useradd fedora echo fedora | passwd --stdin fedora sed -i 's@^id:5:@id:3:@' /etc/inittab 這個jia.cfg文件寫好了,這樣是不是很麻煩呀,呵呵! 我們也可以用一個圖形化的工具,來創建kickstart文件: mount /dev/cdrom /media cd /media/Server rpm -ivh system-config-kickstart--2.6.19.8-2.el5.noarch.rpm 要安裝這個軟體包后,才能使用這個工具,不同系統軟體包的版本不同 有於我們Linux系統安裝之後,會有一個文件存放我們的安裝時的配置,這個文件就是/root/anaconda-ks.cfg,我們可以以這個文件為模板進行修改 system-config-kickstart 然後導入這個文件,進行修改,保存退出即可 二,插入光碟,我們把光碟目錄中的isolinux目錄複製到我們的/myboot目錄 mount /dev/cdrom /media cd /myboot cp -pr /media/isolinux ./ cd isolinux vi isolinux.cfg 把第一行“default”改為: default linux ks=cdrom:/jia.cfg 表示默認情況下,這個小linux讀取光碟中的ks文件 把第三行“timeout 600”改為: timeout 5 即那個等待用戶輸入的界面等待5秒之後,會執行默認選項,即ananconda會依據上面定義的ks文件jia.cfg進行配置 三,做光碟 cd / mkisofs -o boot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T myboot/ 會生成一個boot.iso文件,在/下,這就是我們製作的自動引導光碟 到這裡我們自定義的配置光碟已經做好了,可以把boot.iso文件做成光碟,然後導入光碟機運行,運行一段時間會出現一個界面"The redhat enterprise linux server is not found...",其實這時候ananconda已經從jia.cfg中讀取了系統的配置信息,我們再把光碟換成redhat的安裝光碟即可實現根據我們jia.cfg文件中的定義實現自動安裝 注意:由於我們在jia.cfg文件中定義了多個分區,所有你的磁碟大小要比我們建立的分區的容量之和大,即要大於45G(如果不想要這麼大的分區,在jia.cfg文件中更改一下即可)

本文出自 「佳」 博客,請務必保留此出處http://leejia.blog.51cto.com/4356849/798433


[火星人 ] Linux自動引導配置光碟的製作已經有722次圍觀

http://coctec.com/docs/linux/show-post-47550.html