在已有的Linux操作系统中,安装另一个开源操作系统,我们一般是先构建新操作系统的chroot基础环境,然后chroot进入新构建的操作系统环境来安装和配置。这种构建和安装操作系统的方法,对于我们学习和研究操作系统结构和原理应该说比较重要。本文举了简单的例子,以Fedora Core 5.0 为基础,通过chroot来构建Slackware 10.2;
1、chroot方式安装操作系统的目的和用途
chroot 工具是Linux操作系统都具备的工具,从表面的意思看,chroot 是从一个/根到另一个/根。在一个Linux操作系统中安装另一个操作系统,就是利用chroot的这个特点。首先创建chroot运行的基础环境,然后通过chroot到新的/根,然后再用相应的软件包管理工具把新的操作系统其它软件包安装上;
几乎所有的开源操作系统都可以用chroot的方法来安装,比如Gentoo 、LFS及CRUX比较常用chroot;通过chroot安装操作系统,好象堆积木一样,一块一块的把操作系统安装起来,所以Gentoo和LFS的 Fans特别有成就感。呵,也说是操作系统全手工打造,成就感自然不言而喻了;
通过chroot安装操作系统,我们能学到什么呢?主要是能知道一个操作系统最少需要多少部件可以“动”起来,以及了解一个操作系统需要哪些基础的必备的“部件”,这对开发自己的基于Linux操作系统以及了解操作系统的构成及原理是比较重要的;
2、通过chroot 方式安装操作系统所需要的系统环境
最根本的环境是是在您的机器有得有一个能运行的Linux操作系统或一个LiveCD;
3、通过chroot 安装操作系统的流程
要下面几个流程:
一、规划硬盘分区或创建映像文件;请参考:《实例解说 fdisk 使用方法》
二、创建文件系统;《存储设备分区操作及文件系统管理概述》
三、挂载文件系统;《Linux 创建文件系统及挂载文件系统流程详解》
四、安装基础系统;主要通过解压软件包来实现;
五、修改新系统的配置文件,比如 位于新系统中的/etc/fstab
六、解决依赖关系,安装软件包管理工具;
七、通过chroot进入新系统;
八、通过新系统的软件包我管理工具来安装其它软件包;
九、处理引导问题,比如GRUB引导之类的;《系统引导管理器GRUB,为初学者指南》
4、操作系统安装安装目的地的介质说明;
一个操作系统可以安装在物理硬盘中,也可以安装在一个映像文件中;安装在物理硬盘中大家都能理解。安装在一个映像文件中怎么理解呢?比如通过 VMWARE来虚拟安装操作系统是不是安装在一个文件中呢?是的,和这个意思差不多; 再说一点,交换分区swap 也可以是文件;再比如Xen虚拟操作系统就可以安装在文件映像中;
安装在映像文件中的操作系统,可以用来学习,通过chroot访问,也可以通过xen来虚拟等 ... ... 还可以做成类似file.iso的形式来存储文件等;
5、实说简说在Fedora 中安装Slackware 10.2;
本例是在Fedora Core 5.0 中通过chroot 安装Slackware 10.2,安装目的地的介质分为两种,一种是物理硬盘;一种是映像文件。安装在物理硬盘的可以通过GRUB或LILO等引导管理器来独立真实运行,安装在映像文件中的能通过chroot访问或Xen虚拟运行;
5.1 通过chroot 安装Slackware 10.2 到一个硬盘物理分区中;
这个过程好象是有点多余,但写一写也好,这是大多开源操作系统的安装都通用的,也是最原始、最有效的方法,也就是说在一个已有的操作系统环境中安装另一个操作系统;
首先:您得懂的规划您的分区,请参考:《实例解说 fdisk 使用方法》
其次:您还要知道如何创建文件系统,请参考:《存储设备分区操作及文件系统管理概述》
第三:您要知道如何挂载一个文件系统;请参考:《Linux 创建文件系统及挂载文件系统流程详解》
挂载文件系统就是通过mount 来挂载;
举例:
比如我的硬盘/dev/hda5是空白分区,并且我想创建/dev/hda5为ext3文件系统,并且把它挂载到 /mnt/slack目录中,然后通过chroot来安装Slackware 10.2;
第一步:您要通过分区工具fdisk 或parted来规划您的分区,此步省略;
第二步:创建文件系统;
[root@localhost ~]#mkdir /mnt/slack |
第三步:挂载文件系统;
[root@localhost ~]# mount /dev/hda5 /mnt/slack 注:挂载/dev/hda5到 /mnt/slack目录;
文章来源于领测软件测试网 https://www.ltesting.net/
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073