使用Fedora Core 5来安装Slackware 10.2系统

  • 来源: 互联网 作者: 李祥敬   2010-01-12/16:53
  • 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


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多