使用Fedora Core 5來安裝Slackware 10.2系統
Slackware 10.2已被廣泛應用但是也在不斷的更新,這里介紹Slackware 10.2安裝設置使用,幫助大家安裝更新Slackware 10.2系統。在Fedora Core 5.0中安裝Slackware 10.2的方法;
目前Slackware 10.2安裝操作系統的主要方法是通過chroot來實現,就Slackware 10.2的在Fedora 環境下的安裝,自然也超不出這個方法;不過對于Xen的虛擬Slackware 10.2已經有人寫了一個腳本,然后通過腳本在Fedora Core 5.0中安裝Slackware 10.2,采用的方法也是chroot 的方法;為了使大家明白一點怎么在一個操作系統下安裝另一個操作系統,我看有必要簡單的寫一寫chroot的要點;
1 通過chroot 命令來構建Slackware 10.2;(僅供參考)
大多開源操作系統都可以通過chroot的方法來安裝,在這方面Gentoo 和LFS用的比較多,如果您懂得Gentoo 或LFS,您應該明白如何chroot安裝一個操作系統;一個操作系統可以寫進一個實際的物理硬盤分區,也可以寫在一個映像文件中,主要做什么用了。如果您想讓這個操作系統不通過任何虛擬機運行,就要安裝在一個實際物理分區中;如果是虛擬運行,安裝到一個映像文件中比較好,象我們這次通過Xen虛擬Slackware 10.2,我們把操作系統安裝在映像文件中比較好;請參考:《通過chroot 構建Linux操作系統概要》
2 通過腳本實現自動安裝Slackware 10.2到映像文件中;(推薦)
我在通過chroot 構建Slackware 10.2的過程中,查到了一個用腳本構建的方法;原文地址:http://wiki.xensource.com/xenwiki/SlackwareDomU
1 下載Slackware 10.2相關;
Slackware 10.2 下載: http://www.slackware.com/getslack
Slackware builder for UMLmkuml-2004.07.17-ananas.tar.bz2 說明: Slackware builder for UML就是通過chroot 模式安裝Slackware 到映像文件的相關腳本和軟件包,只是把我們自己chroot來安裝Slackware的工作簡化;
2 通過 Slackware builder for UML來安裝Slackware 10.2
第一步:解壓mkuml-2004.07.17-ananas.tar.bz2
[root@localhost ~]# tar jxvf mkuml-2004.07.17-ananas.tar.bz2
[root@localhost ~]# cd mkuml-2004.07.17
[root@localhost mkuml-2004.07.17]#
第二步:在mkuml-2004.07.17中創建slackware-current目錄,并把Slackware 10.2的兩張光盤內容提取出來放入slackware-current目錄中;
[root@localhost ~]# cd mkuml-2004.07.17
[root@localhost mkuml-2004.07.17]# mkdir slackware-current
[root@localhost mkuml-2004.07.17]# cd slackware-current/
[root@localhost slackware-current]# mount -o loop /opt/slackware-10.2-install-d1.iso /mnt/cdrom/
[root@localhost slackware-current]# cp -rp /mnt/cdrom/* .
[root@localhost slackware-current]# umount /mnt/cdrom
[root@localhost slackware-current]# mount -o loop /opt/slackware-10.2-install-d2.iso /mnt/cdrom/
[root@localhost slackware-current]# cp -rp /mnt/cdrom/* .
[root@localhost slackware-current]# umount /mnt/cdrom
說明:如果 /mnt目錄下沒有cdrom 目錄,就自己創建一個;Slackware的兩張安裝盤放置目錄在哪,要根據自己的情況來指定,我是把這兩張光盤放在了/opt目錄中,所以就有上面的mount 命令;
第三步:更改mkuml-2004.07.17目錄中的mkuml.sh;
在mkuml.sh中找到如下段落;
# file system sizes
ROOT_MB=2000
SWAP_MB=128
更改為
# file system sizes
ROOT_MB=3000
SWAP_MB=256
其中ROOT_MB是指定創建映像文件的大小,也就是說Slackware是安裝到這個映像文件中;我在這里設置成為3G大小,SWAP_MB是指定交換分區文件的大小,我在這里設置為256M;根據自己的情況來設置。一般的情況下,Slackware完全安裝需要3G左右;在mkuml.sh中找到mke2fs -F -j root_fs 改為 mke2fs -F -j -O ^resize_inode root_fs
和上面的改更聯系起來的意思就是,首先要創建一個root_fs的文件,大小為3G,然后再創建一個swap_fs的文件,大小為256M;然后再對這兩個文件分別創建文件系統,root_fs創建為ext3文件系統,swap_fs創建為swap文件系統;如果不太明白,請參看 mkuml.sh中的相關語句;
第四步:執行mkuml.sh;
這個過程就是創建映像文件 root_fs和swap_fs,然后在他們之上進行創建文件系統,接著會通過mount 掛載root_fs,然后安裝我們剛才提取出來的Slackware 10.2的兩張光盤的軟件包到root_fs中;這一切都是通過腳本實現的,所以說這個腳本實在是太好了。呵。。。簡單明了。。。把mkuml.sh改好后,我們要執行;
[root@localhost mkuml-2004.07.17]# ./mkuml.sh /opt/slack102vm
這是什么意思呢?這個意思就是通過腳本mkuml.sh,在/opt中創建一個目錄,然后創建root_fs和swap到/opt/slack102vm中;然后進行創建上面所說的文件系統,掛載文件系統,安裝Slackware 之類的;一切全自動了... ... 到這一步,我們就會明白了吧,是不是把Slackware 安裝到了一個文件中了呢?所以說安裝操作系統,也是可以安裝到一個文件中的。比如 VMWARE虛擬Linux的安裝,也是可以虛擬到一個文件中的;在這一過程中,還有root密碼的設置的提示,自己輸入一下,還有網絡設置,也可以設置一下。在Hostname ,我設置的是slack,在DOMAINNAME的設置中,我設置的是localdomain ,在設置IP那塊,要根據自己的實際網絡情況。我用的是DHCP自動獲取的,因為我在路由器中設置了所有的機器都通過DHCP自動獲取IP;如果您想知道自己的Slackware 10.2安裝到哪里了呢?你查看一下/opt/slack102vm中的root_fs就知道了;怎么查看呢?應該用mount -o loop 的方法來掛載;
[root@localhost mkuml-2004.07.17]# mkdir /mnt/slack
[root@localhost mkuml-2004.07.17]# mount -o loop /opt/slack102vm/root_fs /mnt/slack
[root@localhost mkuml-2004.07.17]#cd /mnt/slack
上面的內容就是說,把/opt/slack102vm中的root_fs映像文件掛載到了/mnt/slack中,進入/mnt/slack目錄,就可以查看到了root_fs映像文件的內容;
第五步:復制相關文件到root_fs映像中;
要把一些文件寫到root_fs中,我們首先必須要做的是掛載root_fs映像文件,如前面所提到的mount -o loop的辦法;
[root@localhost ~]# mount -o loop /opt/slack102vm/root_fs /mnt/slack
首先我們要把Fedora Core 5.0中內核模塊2.6.16-1.2080_FC5xenU目錄復制到/mnt/slack下的lib/modules目錄中;
[root@localhost ~]# mkdir /mnt/slack/lib/modules
[root@localhost ~]# cd /mnt/slack/lib/modules/
[root@localhost modules]# cp -r /lib/modules/2.6.16-1.2080_FC5xenU .
您也可以把Slackware的兩張安裝光盤,都可以復制到 root_fs中,也就是root_fs的掛載目錄 /mnt/slack目錄中;這樣少什么樣的軟件,就可以先通過chroot /mnt/slack 進入Slackware的系統,然后就可以通過掛載光盤映像通過pkgtool 或installpkg來安裝了;比如我們Slackware的iso放在了Slackware系統中的 /opt目錄中。
第六步:更改root_fs中的/etc/inittab和/etc/fstab文件;
還是如同前面一樣,要先掛載root_fs到/mnt/slack目錄中;如果已經掛載好了,就直接進入/mnt/slack目錄就行了。找到 /mnt/slack/etc/inittab文件中的;
c0:1235:respawn:/sbin/agetty 38400 tty0 linux
#c1:1235:respawn:/sbin/agetty 38400 tty1 linux
在上面的這段的第一行前面加上#號,并把第二行的前面的#號去掉;
#c0:1235:respawn:/sbin/agetty 38400 tty0 linux
c1:1235:respawn:/sbin/agetty 38400 tty1 linux
因為tty0的終端設備已經被Fedora Core 5占用,所以只能用tty1以后的了,當然您可以打開其它的終端 ,就是把類似這樣的行前面的#號去掉;找到/mnt/slack/etc/fstab文件;把其內容改為如下的
/dev/sda1 / ext3 defaults 1 1
/dev/sda2 swap swap defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
第七步:chroot 到Slackware系統進行配置;
我們要掛載 /opt/slack102vm中的root_fs到/mnt/slack,然后chroot到/mnt/slack;
[root@localhost ~]# chroot /mnt/slack
bash-3.00# 注:看到類似這樣的提示符,說明我們已經進入到了Slackware;
我們還要進行一系列的操作,比如 索引Slackware的庫文件;
bash-3.00# ldconfig
接著,我們要創建一個rc.modules 的文件,在/etc/rc.d目錄中;
bash-3.00# touch /etc/rc.d/rc.modules
bash-3.00# echo 'modprobe xennet' > /etc/rc.d/rc.modules
注:上面那句echo的命令,意思是向rc.modules中寫入一句 modprobe xennet。在Slackware中,所有的內核模塊的加載,都在 rc.modules中,modprobe xennet意思是讓系統在開機時自動掛載xennet模塊。xennet 模塊就是我們在Fedora Core 5.0 中復制到Slackware的文件系統root_fs中的/lib/modules/2.6.16-1.2080_FC5xenU ;xennet模塊就是Xen的虛擬Slackware的網卡;如果您用DHCP 自動獲取IP,我們還要在Slackware中安裝dhcp開頭的包,這些包位于Slackware 10.2第一張光盤中的slackware目錄中的d目錄中;我們前面已經說過,要把Slackware的安裝盤最好復制到Slackware的文件系統root_fs中;比如您把Slackware 10.2的安裝盤復制到 Slackware的文件系統/opt目錄中,我們就可以掛載,然后安裝所需要的包了;比如我們Slackware的iso放在了Slackware系統中的 /opt目錄中。
bash-3.00# mount -o loop /opt/slackware-10.2-install-d1.iso /mnt/cdrom
bash-3.00# cd /mnt/cdrom/slackware/n
bash-3.00# installpkg dhcp*.tgz
bash-3.00# cd ~
bash-3.00# umount /mnt/cdrom
如果您的Slackware的網絡沒有配置好,請用netconfig來配置;
bash-3.00# netconfig
ENTER HOSTNAME 中,您可以寫上slack;在DOMAINNAME 中,您可以寫上localdomain;如果您用的是DHCP獲取IP,就選DHCP;如果問到DHCP服務器在哪,也可以寫上您的DHCP服務器,留空也行;如果您用的是靜態指定IP,您可以選擇靜態IP設置那項;
ENTER IP ADDRESS 寫上您的IP;比如 192.168.1.11
ENTER NETMASK 寫上網絡掩碼: 比如 255.255.255.0
ENTER GATEWAY 網關:比如 192.168.1.1
NAMESERVER 可以寫上:202.96.128.143 更改/etc/resolv.conf文件;
在這個文件中,是存放DNS服務器地址的,比如下面的內容;
nameserver 192.168.1.1
nameserver 202.96.128.143
nameserver 202.96.134.133
這是三個DNS地址,第一個地址是根據路由器192.168.1.1上的來更新,如果您有路由器,就根據自己的網絡情況來寫;后面的兩個地址是可以用的;嘗試一下就知道了;配置好后,要退出Slackware的環境;
bash-3.00# exit
還要把Slackware文件系統root_fs卸載掉;
[root@localhost ~]# umount /mnt/slack
【編輯推薦】