手把手打造属于自己的Linux系统

写在前面:

1:以下的实现过程都使用VM虚拟机,在这上面实现的。

2:实现打造属于自己的Linux系统,其实用的是将现有的完整的Linux系统精简,然后打包做成不到10M的系统。

3:我所用的Linux系统为RedHat Enterprise Linux 5(内核为 2.6.18)

=======================================================================

首先,我们要知道,一个linux的系统之所以能够启动,需要什么?

1.需要一个boot loader,以确保能够带起硬盘

2.需要一个内核。(废话-。-)

3.需要一个小型的能够加载内核文件系统的程序(initrd)

4.需要一个能够定义如何启动的文件(inittab)

5.需要inittab中供启动的rc.sysinit文件

其实,一个linux能够启动,需要的也就是这么多,那接下来,我们开始一步步着手准备!

——————————————————-

第一步:准备工作,并创建引导文件!

既然我们需要boot loader能够带起硬盘,那么我们总要先有个硬盘吧?

好,调用虚拟机,给我们的现有的linux额外增加一块新硬盘,这块硬盘可以不用太大,够用就好,比如?嗯……8G,够你用了吧?

点击Add,添加一块新的硬盘,设置大小为8G,,其他默认,然后点ok~

进入我们的Linux系统。使用fdisk -l 命令,我们看到了一块完整的未经开垦的硬盘:

Disk/dev/sdc:8589MB,8589934592bytes 255heads,63sectors/track,1044cylinders Units=cylindersof16065*512=8225280bytes DeviceBootStartEndBlocksIdSystem

它的名字叫/dev/sdc

于是,我们开始给他分区,首先我们要给他分一块主分区,专门放置我们的小系统的内核等重要的文件。

然后我们要分一块稍微大一点的分区,这是我们的应用分区,我们以后所有的各种文件都将放在这个分区里。

使用fdisk /dev/sdc 设置我们硬盘的各个分区之后,确认,于是硬盘成了这个样子:

Disk/dev/sdc:8589MB,8589934592bytes 255heads,63sectors/track,1044cylinders Units=cylindersof16065*512=8225280bytes DeviceBootStartEndBlocksIdSystem /dev/sdc111310439183Linux /dev/sdc214136987997+83Linux

好的~,我们将其格式化成ext3文件系统,然后分别将两块硬盘挂载在我们新建的两个目录上,

1.我们将/dev/sdc1挂载在/mnt/boot中(这就是我们的存放内核等重要文件的分区)

2.我们将/dev/sdc2挂载在/mut/sysroot下(而这个,就是我们日常应用的分区)

好的,接下来。我们就要开始将boot loader,整个磁盘的引导信息写入我们新的硬盘中了。

Linux为我们提供了grub这个好用的写入也是读取更是引导程序。我们只需要使用命令:

[root@station86~]#grub-install–root-directory=/mnt/dev/sdc

即可将grub安装在了我们的sdc上,并且默认给他的目录是/mnt。为什么是/mnt而不是/mnt/boot呢?

因为 grub安装后,会自动在那个磁盘的根目录下创建/boot目录,所以我们只需要指定它的父目录,即/mnt即可。

于是,我们看看刚才安装的/mnt下有

total14 drwxr-xr-x2rootroot1024Aug307:45grub drwx——2rootroot12288Aug307:42lost+found

而进入grub里,则是已经安装在我们这里的文件

total197 -rw-r–r–1rootroot60Aug307:45device.map -rw-r–r–1rootroot7584Aug307:45e2fs_stage1_5 -rw-r–r–1rootroot7456Aug307:45fat_stage1_5 -rw-r–r–1rootroot6720Aug307:45ffs_stage1_5 -rw-r–r–1rootroot6720Aug307:45iso9660_stage1_5 -rw-r–r–1rootroot8192Aug307:45jfs_stage1_5 -rw-r–r–1rootroot6880Aug307:45minix_stage1_5 -rw-r–r–1rootroot9248Aug307:45reiserfs_stage1_5 -rw-r–r–1rootroot512Aug307:45stage1 -rw-r–r–1rootroot104988Aug307:45stage2 -rw-r–r–1rootroot7072Aug307:45ufs2_stage1_5 -rw-r–r–1rootroot6272Aug307:45vstafs_stage1_5 -rw-r–r–1rootroot8904Aug307:45xfs_stage1_5

游手好闲会使人心智生锈

手把手打造属于自己的Linux系统

相关文章:

你感兴趣的文章:

标签云: