Linux系统的核心就是它的内核,所有的Linux系统采用的内核都是相同的,唯一不同的就是除了内核以外的服务以及应用的软件不同而已。那麽可以根据Linux的这一特点,我们可以根据自己的需求打造属于自己的mini版的Linux了。

那麽我们打造的mini版Linux系统包括内核、驱动、init、inittab、常用指令、库文件以及我们所需要的服务或者软件功能。我们把mini版Linux所需要的东西全部存储在一个硬盘,找到一台功能完备的“宿主机”把存储有mini版Linux的硬盘连接上,启动我们的“宿主机”应该就可以进入我们自己打造的精简版Linux了,可能在启动的过程中,我们会遇到各种各样的问题,那我们就要通过自己对系统内部的了解与认识对精简版Linux进行调试与修改,最后能够使精简版的Linux启动并且能够拥有我们所需求的功能与服务。

1、宿主机添加一块硬盘:

2、启动宿主机,对于我们要打造的Linux将存储在新添加的硬盘内,那么作为一个系统硬盘,它就需要有引导分区、根分区以及swap分区这些系统硬盘所需要的基本分区。引导分区一般设置100M就足够了,根分区也就是所谓的主分区,这个分区需要足够大的空间,不然系统识别不出来,那我们就把根分区设置1G的空间,对于我们所打造的mini版的Linux,swap分区需要500M就足够了。因为我们分出来的分区都是一样的,所以对于不同分区,我们就要添加标签,将引导分区添加boot的*标签,在swap分区的id标记为82,这些打过标签的分区就会被系统识别为不同的分区并实现不同的功能。最后保存(w)分区表就把新添加硬的分区分好了。

3、分别将引导分区(sda1)和根分区(sda2)的文件系统格式改为ext3

4、新硬盘建立挂载点并将对应的分区挂在挂载点上,挂载之后这些分区将是我们新添加硬盘对应的系统引导区和根分区。

5、接下来我们就需要对系统启动流程中的grub菜单进行部署,先在新的硬盘上执行grub-install命令,将grub菜单安装在/mnt/boot/grub/。

6、通过查询可知,在grub的安装目录下,没有grub的菜单项,那么就需要我们通过手工来创建它。

7、解压并查看原有系统加载的驱动都有哪些?

Init文件需要重新打包并压缩,文件输出到新硬盘的/mnt/boot/目录下并命名为initrd。

我们可以看到boot目录下内核以及驱动程序都存在了,我们应该需要编写grub菜单文件了。

8、现在我们已经把启动流程中的前两步已经做好了,需要进行init进程了,我们先在新的硬盘的建立一些将要用到的目录。

同时我们还需要将那些可执行文件的目录以及库文件都拷贝到我们的新硬盘里。

把一些常用的工具加入到我们的精简版Linux中,通过从宿主机拷贝相关目录和库文件到新的硬盘上。

通过查看宿主机的inittab文件,我们将部分内容行追加到新硬盘的inittab文件中并查看inittab文件。

新硬盘的初始化文件rc.sysinit的编写。

附加可执行权限:chmod a+x rc.sysinit

同步操作:sync

做到现在,我们的精简版的Linux已经有个雏形了,那么我们现在就把硬盘放在计算机上启动并作调试。

这就是我们刚才打造的精简版的Linux的启动界面

这是启动完毕进入的画面,由于我们只导入了ls、cat、bash三个功能,如果我们还有其他需求的话,完全可以把相关工具和所需库文件拷贝到系统硬盘中,我们打造的精简版系统能够正常启动,说明我们得到了初步成功,对于更好地多功能的导入,我们需要自己编写一个能够自动拷贝相关文件和所需库文件的shell脚本来实现繁琐的拷贝功能,同样我们还可以对grub菜单列表进行美化。现在我们的系统还不能够运行init的命令,因为我们还没创建有关init运行级别的文件到系统内。

9、重新启动我们的宿主机,继续对我们打造的精简版的Linux的系统硬盘进行优化与功能的完善。

因为没有rc.d的运行级别文件,那麽我们就自己创建一些常用的命令脚本文件就欧了。

我们已经添加了关机与重启的脚本程序,那么我们现在在装有新系统硬盘的机器上启动精简版Linux,测试我们的关机重启脚本是否能够成功运行。

我们还想查看hostname以及部分网络功能,那我们需要这些功能的文件以及所需要的库文件。

我们还需要network文件,将network文件拷贝到新硬盘新建的sysconfig目录下。

在我们打造的系统中添加网络模块和驱动,通过查看网络模块pcnet32得知,该网络模块依赖mii.ko模块,那麽我们就把这些模块在开机启动时初始化,并在初始化配置文件中设置。

对初始化配置文件中涉及的新文件拷贝到新的硬盘内。

我们执行过这些操作后,就可以再次启动我们的新系统硬盘,测试我们新添加的功能是否可用。

现在我们可以对我们打造的精简版的Linux进行美化,主要是对grub菜单列表加个背景图片,因为grub菜单对背景图的色位和大小有要求,那么我们用工具就对图片进行修改,Red Hat Enterprise Linux提供的有个gimp工具软件,我们需要在宿主机上安装gimp软件包,为了解决软件包的依赖关系,我们需要对yum配置文件进行修改,本次采用本地yum安装gimp。

gimp必须在桌面模式下启动,在配置启动过程中无需过多的配置,点击下一步就可以了。

我们找到一张图片在gimp中打开,把图片分辨率调为640x480。Image→Scale Image调节图片大小。

Image→Mode→Indexed修改图片的色位。

最后图片保存成xpm格式。

复制图片到引导分区grub目录下,在grub的配置文件添加图片路径及名称。

哈哈,看到这个画面后,我们对grub菜单列表背景的添加成功了。如果还有其他功能的需要,我们可以通过编写拷贝的脚本文件将软件包内容以及运行所需要的库文件复制到打造精简版Linux的系统硬盘中就OK了。

附加拷贝脚本程序:

转载于:https://blog.51cto.com/7392072/1266944

打造精简版Linux-mini相关推荐

  1. 基于Ubuntu Jeos打造自己的精简版Linux服务器

    今天刚听说还有JeOS这么个东东,原来是ubuntu server的一个前身变种, 基于Ubuntu Jeos打造自己的精简版Linux服务器 - 研究研究 基于Ubuntu Jeos打造自己的精简版 ...

  2. 音乐服务器 linux,新西兰Antipodes推CX音乐服务器,采用精简版Linux操作系统

    日前,Antipodes Audio是来自新西兰的音响品牌,旗下产品以音乐服务器为主力,这次要介绍的是价位相对较高的CX Music Server.可以安装2颗2.5吋硬盘(最高支持至8TB)做为Ro ...

  3. centos7如何精简容量_只需3步!教你打造精简win10,去除系统自带程序,运行更快...

    说到win10系统,真是让人很头痛,尤其是系统不断更新的同时,也不断变大! 结果,一些配置相对没有这么好的电脑,安装win10系统之后,除了卡之外,还发现系统中有一大堆这辈子都不怎么用的系统程序组件之 ...

  4. 程序win10_只需3步!教你打造精简win10,去除系统自带程序,运行更快!

    说到win10系统,真是让人很头痛,尤其是系统不断更新的同时,也不断变大! 结果,一些配置相对没有这么好的电脑,安装win10系统之后,除了卡之外,还发现系统中有一大堆这辈子都不怎么用的系统程序组件之 ...

  5. win10 minikube镜像位置_只需3步!教你打造精简win10,去除系统自带程序,运行更快!...

    说到win10系统,真是让人很头痛,尤其是系统不断更新的同时,也不断变大! 结果,一些配置相对没有这么好的电脑,安装win10系统之后,除了卡之外,还发现系统中有一大堆这辈子都不怎么用的系统程序组件之 ...

  6. qnap虚拟linux,QNAP进阶教程:威联通NAS 虚拟机教程 安装精简版win10、软路由、群晖NAS系统!...

    威联通最具体的虚拟机利用方式之一,接待点赞.收藏! 6 t* L# m7 X+ E前言 - A- ^8 |# l0 E' E$ k大师好,俺又来了!5 G, c% {7 ]- Z6 Q$ ] 4 }% ...

  7. linux下精简安卓rom,ROM助手精简版

    ROM助手精简版是一款手机系统ROM文件的编辑制作工具.ROM助手精简版通过直观的操作界面和简洁的使用流程,实现对手机系统ROM文件的修改和制作.需要的朋友可不要错过哦. 软件特色 系统精简 删除RO ...

  8. Linux精简版配置及编译运行

    Linux精简版配置及编译运行 一.    内核配置linux-2.6.26.5 System Type Support ARM920T processor Support thumb user bi ...

  9. # linux mini版 玩成DVD版(哈哈哈哈)

    linux mini版 玩成了DVD版 文章目录 linux mini版 玩成了DVD版 Less查看文件: 停止ping命令:按CTRL+c或CTRL+z 查看现在所在的文件路径的地址 pwd 查找 ...

最新文章

  1. 预告丨2018年值得关注的200场机器学习会议
  2. 服务:OracleDBConsoleorcl [Agent process exited abnormally during initialization]
  3. Linux学习笔记(三):系统运行级与运行级的切换
  4. 信息服务器怎么恢复,服务器数据恢复怎么弄
  5. AspxTreeList获取选中项的值
  6. 金蝶k3财务接口_记录用友T+接口对接的心酸历程
  7. mysql显示表格前五行,深入浅出MySQL勘误表
  8. Python中enumerate对象的用法与特点
  9. 白噪音和粉红噪音煲机_白噪音app体验报告
  10. controller 中@autowired 报错_Spring中常用注解
  11. Android项目运行junit测试类时出现错误Internal Error (classFileParser.cpp:3494)的解决办法...
  12. C++Primer第5版学习笔记(一)
  13. java毕业设计选题之《校园管理、教育教学类》
  14. 深大计算机专业进腾讯,国内中游985和深圳大学计算机专业怎么选?640报考深圳大学吃亏吗...
  15. 服务器c盘logs文件夹,c盘的logs文件夹有什么用
  16. UEBA中的行为基线分析
  17. 恋人日记服务器维护中,知乐日记:恋人不会在最终相遇 因为他们本来就一直在一起...
  18. 梯度和梯度算子(Roberts,Sobel,Laplace)
  19. 用户输入矩形的长和宽,计算其面积并输出,结果四舍五入,保留2位小数。
  20. Scapy使用文档中文版

热门文章

  1. 怎么用python打印照片_[宜配屋]听图阁
  2. java opengl书_GitHub - cy-cyx/OpenGlDome: OpenGl的使用练习(安卓 Java opengl3.0)
  3. 到底这个电路是如何振荡的?
  4. Arduino软件开发环境搭建
  5. 飞桨助力智能车竞赛升级,免费赠送EB开发板!
  6. 任艳频老师关于信息与大数据课题组的讨论材料的意见
  7. 清华大学校内智能车竞赛辅导资料
  8. 米家摄像头固件_小米摄像头被谷歌紧急封禁!别人的设备,能看到你家现场
  9. 使用级联样式表的好处在于_现在都在使用益阳云终端解决方案了,原因就在于这些好处...
  10. win10应用商店打不开_电脑打不开exe程序|Win10提示exe不是有效32应用程序