精简版的linux操作系统制作

         首先在宿主机上增加一块硬盘利用宿主机把必要的系统文件打造进新增加的硬盘内,然后把做好的硬盘挪到另外一个机器上,利用做好的硬盘来启动机器。

   指令如下:        

               fdisk -l            //找到新增加的硬盘假设为/dev/sdb

              fdisk   /dev/sdb     //创建两个分区

              n                      //增加

              p                   //主分区

              1                     //第一个分区

             回车键               //分区的起始点

              +100M              // 引导分区100M就够了

               a                 //启动分区的标志

               1                      //第一个分区作为引导分区

                n                    

                p              //此时主分区或扩展分区都是无所谓的

                2               //第二块硬盘

                 回车键        

                  +200M           /*完整的linux操作系统一般为10G,根据你安装的东西多少不同可以自行调整,现在做的是类似于Win   PE  的*/

                p             //查看     不在创建交换分区

                w             //离开

              partprobe   /dev/sdb            //重新识别分区表

              mkfs  -t  ext3  /dev/sdb1     //格式化为ext3       相当于 新机器上的引导分区

              mkfs   -t ext3  /dev/sdb2                                   相当于新机器上的根分区

               mkdir       /mnt/boot           //创建目录

               mkdir       /mnt/sysroot  

                mount  /dev/sdb1   /mnt/boot/         //挂载   

               mount  /dev/sdb2   /mnt/sysroot/

               ll  /boot             //查看宿主机上的引导分区都有什么

               grup-install  --root-directory=/mnt   /dev/sdb

               出错不用管

               ll /mnt/boot/            //查看是否有grup

             cd /mnt/boot/

             cp /boot/vmlinuz-2.6.  ./          //copy内核,和宿主机的相同假设为vmlinuz-2.6.

             两个机器的硬件一样内核一样驱动也可以直接copy

             cp /boot/initrd-2.6.   ./            //copy驱动

            如果不一样就需要对initrd-2.6.展开进行增加或减少

                     展开如下:

                    cp /boot/initrd-2.6.       /tmp/abc          //复制到abc                  

                    zcat  initrd-2.6.    |cpio -id

                     ll   //会开到各种目录  就如一个小的linux系统  自需增该,改动后需重封装

                     在此不作更改

           cd grub/

           vim grub.conf

                   内容:default=0

                               timeout=5

                               title     newlinux       //newlinux你可以随便写

                               root  (hd0 ,0)

                               kernel  /vmlinuz-2.6.   ro root=/dev/sda2

                               initrd   /initrd-2.6. 

                              退出保存

        cd /mnt/sysroot/

        mkdir tmp etc proc sys lib sbin bin usr

        chmod o+tw  tmp/           //更改权限

         cp /sbin/init  sbin/

        ldd   /sbin/init            //查看依赖的库

        cd lib/                     //相当于新机器下的lib目录

         cp /lib/libsepol.so.1    ./            //copy   ldd查到的依赖关系

         cp /lib/libselinux.so.1  ./

         cp /lib/libc.so.6  ./

          cp /lib/libdl.so.2  ./

         cp /lib/ld-linux.so.2  ./                   //copy你看到的全部依赖关系,先copy到这

          which  bash          //查看bash

          cp  /bin/bash  /mnt/sysroot/bin/

         ldd  /bin/bash

          此处还需要copy你看到的依赖关系,之前copy过的就不用再次copy了

          which ls   

          cp /bin/ls  /mnt/sysroot/bin/          //给他指令要不然在新机器上启动后什么也做不了

          copy的东西都存到了/mnt/sysroot/lib/下

          ldd    /bin/ls                //同上  copy过的就不用再次了

        cd ../etc         //相当于新机器上的etc

        pwd         //查看当前目录  其实为/mnt/sysroot/etc

         cp /etc/inittab   ./

        vin  inittab

        保留以id和si开头的两行   即18和21行  其余可删

        pwd          //现在在/mnt/sysroot/etc

        mkdir  rc.d

       cd rc.d/

       vim  rc.sysinit

             内容为:#!/bin/bash

                             /bin/bash                //因为是精简版不需要太多只需给我们启动个bash

                             保存退出

         chmod  755 rc.sysinit           //改变权限

         sync           //同步  并且多次执行

          新建一个虚拟机,做好后先挂起再把原先的硬盘给删掉,把我们做的硬盘给加进去,此时宿主机也要先挂起。重新启动虚拟机

         进来以后你此时只能使用ls,别的你都不能用,如果想用就同上面一样copy你想用的指令。我们做的精简版系统就和普通版系统一样,普通版系统没的东西我们再重新做一份,根据需要来进行改变,现在就做好了一个精简版的linux系统