感谢支持
我们一直在努力

DIY简易Lnux系统

学习Linux,就要对它的每一个阶段都要有所了解,由于学习的需要,这里,我们要自行搭建操作系统。而搭建操作系统,需要硬件和软件的支持。这里由于条件的限制,我们在虚拟机上完成这一案例。我们都知道,linux操作系统的核心是内核,由于linux是开源的,这里,我们可以直接利用现成的内核,也就是说,内核不用我们自行编写,但是其他的脚本要我们自己去模仿着去编写。

首先,我们看一下linux的工作流程

现在我们要在虚拟机上添加一块硬盘:

要把新添加的硬盘放到一个自己习惯的地方,这里我放到D盘

硬盘创建完成后,我们要去格式化才能用。为了保险起见,我们要先查看一下我们要格式化哪块硬盘,因为现在机器上有两块硬盘

有上图我们看到,我们要格式化的硬盘为上图中的反白处,即sdb硬盘。下面我们要对其进行分区并格式化

我们利用fdisk命令及相关参数来分区,这里我们只分出boot(100M)和/(1G)分区,然后进行格式化并挂载。

分区情况:

利用mkfs命令格式化boot分区和/分区:

挂载分区:

利用 grub-install –root-directory=/mnt/ /dev/sdb来创建grub目录。

拷贝现有的内核文件和驱动:

对驱动进行修改,把驱动文件移到tmp/abc目录下,并进行修改,

由于我们挂载swap分区,所以我们要把init文件里的第87行注释掉,否则会出现错误信息,此时我们要把那个后缀为.img的文件删除,并把修改后的文件进行打包

接着要把该压缩文件拷贝到/mnt/boot/目录下,由于grub文件下缺少grub.conf文件,此时我们要编写此配置文件。

接着我们切换到/mnt/sysroot/目录下,创建dev etc home lib media misc mnt net opt proc root sbin selinix srv sys tftpboot tmp usr var目录

接着我们要把相关文件拷贝到现在的目录中。

然后我们要创建inittab表格,并创建rc.sysinit文件,然后我们把bash文件拷贝到我们穿件的第二块硬盘的bin目录下

接着扔需拷贝大量配置文件,由于要拷贝的工作量很大,所以我们编写一个脚本文件来完成拷贝工作

此时,我们要多执行sync这条命令,意思是说把刚才的操作都同步到硬盘里去。

这时,我们可以尝试打开自制的系统了,这时我们打开另一个新的虚拟机,且要把原有的硬盘删除掉,把刚创建的硬盘加载上去。

打开后是会出现错误的,接下来我们继续修改。此时我们会发现在sysroot目录下少一个bin的目录,创建后,在在下面创建bash文件。修改过后,就可以进去了

接着我们要利用cp.sh脚本来拷贝相关命令文件,如ls等,这时,是没有任何功能的,就相当于裸机,随后我们将进一步完善。

<续>-网络模块、ftp

由于开机时没有开机背景,现在我们借助另一个工具yum来制作图片,然后修改配置文件来达到开机有背景的效果。

现在在根目录下有一个图片,利用yum制作成符合格式的xpm格式的图片,并打包。

修改/mnt/boot/grub/grub.conf的配置文件,在其中加入一条

1.xpm就是制作的图片,然后把字图片移到/mnt/boot/grub/

目录下,然后把刚做的操作同步到新加的硬盘里,重启加入这块硬盘的虚拟机,看到这一效果:

下面我们去添加网络模块,我们利用如下命令查看网卡模块,利用lsmod 来查看名称 大小 使用次数 和依赖关系,查看相关信息时,用modinfo后跟名称来查看,用ramod后跟名称来卸载模块,加载模块用modprobe跟名称或者用insmod跟路径和名称来加载

然后我们去加载模块,使我们的小系统具有网络功能。

首先我们要先创建个目录来存放网络模块,并把模块和依赖关系拷贝过去

接下来就是要去调用模块了,先去配置/mnt/sysboot/etc/rc.d/rc.sysinit文件

然后再加载相应的文件,这里我们依然用cp.sh脚本来完成ifconfig、ping、netstat、kill、sysctl、insmod、

这时我们便可以测试了

这时,网络模块已加载成功。

接下来,我们向这一小系统里加入服务的功能,例如ftp服务。

我们先把ftp这一服务安装到原系统里,然后我们再根据安装的配置文件,做相应的修改,来实现我们这一简易小系统的ftp服务功能

首先我们把vsftpd和配置脚本移植到新创建的硬盘里,这里我们依然用cp.sh这一脚本来移植

由于我们做的是个简易的小系统,且这是我才入手linux,所以,只简单的做到匿名登录,而匿名登录的信息是要存放到相应目录里的,所以我们要先创建此目录

为了实现名称和id的对应关系,我们还要做一些其他的操作

现在修改配置文件

在/mnt/sysroot/etc/nsswitch.conf里倒入如下参数

接着我们还要拷贝一些其他文件

然后我们日志的相关指令注释掉,然后我们要创建一个目录

这时,我们可以测试了

此时,ftp服务已经成功移植到这个小系统里了。

赞(0) 打赏
转载请注明出处:服务器评测 » DIY简易Lnux系统
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏