boot/root盘由两部分组成,即核心和根文件系统。要把这两部分都放到一个1.44MB的软盘上去,通常要对内核和根文件系统进行压缩,压缩核心的最好方法是进行重新编译内核,将一些不必要的支持去掉,如对网络和其它周边设备的支持,重要的一点是记住内核必须支持RAMDISK及ext2,否则系统不能正常引导。关于内核的编译本文不再阐述,下面重点介绍如何生成根文件系统的压缩包。对于根文件系统的压缩包括两方面的问题,第一是只保留必要的根文件系统组件,第二是将根文件系统做成一个压缩包,类似于内核工作的原理。

1 根文件系统概述

一个根文件系统必须包括支持完整Linux系统的全部东西,它至少应包括以下几项:

·基本文件系统结构;

·至少含有以下目录:/dev、 /proc、 /bin、 /etc、 /lib、 /usr、 /tmp;

·最基本的应用程序,如sh、 ls、 cp、 mv等;

·最低限度的配置文件,如rc、 inittab、 fstab等;

·设备:/dev/hd*、 /dev/tty*、 /dev/fd0;

·基本程序运行所需的库函数。

以上所需文件一般情况下会超过1.44M,因此我们通常的做法是先准备好内容后再压缩到软盘中,当用软盘启动时,再把文件解压到内存中,形成一个虚拟盘(RAMDISK),通过RAMDISK控制系统启动。

为了能创建以上的根文件系统,你必须有一个空闲的能够放下大约4MB文件的RAMDISK。系统缺省情况下已替我们建好了一个大小为4096KB的RAMDISK,其设备名一般为/dev/ram0,我们就使用它来保存我们预先准备好的根文件系统。

2 创建根文件系统

Linux内核识别两种可以直接拷贝到RAMDISK的文件系统,它们是minix 和ext2,ext2性能更好。mke2fs缺省情况下在1.44M的软盘上产生360个信息节点,使用压缩格式的根文件系统需要更多的信息节点,所以使用如下命令创建文件系统可以创建2000个信息节点,而且一般不会用完。

mke2fs -m 0 -i 2000 /dev/ram0

mke2fs将会自动判断设备容量的大小并相应地配置自身,-m 0参数防止它给root保留空间,这样会腾出更多的有用空间。接着把虚拟盘挂在节点/mnt上:

mount -t ext2 /dev/ram0 /mnt/floppy

接着是创建目录。根文件系统最少应该有如下8个目录:

/dev — 设备;

/proc — proc 文件系统所需目录;

/etc — 系统配置文件;

/sbin — 重要的系统程序;

/bin — 基本应用程序;

/lib — 共享函数库;

/mnt — 装载其他磁盘节点;

/usr — 附加应用程序。

执行如下命令创建这些目录:

#cd /mnt/floppy    #mkdir dev proc etc sbin bin lib mnt usr

接下来的工作就是确定各个目录下的内容了:

·/dev:/dev中含有系统不可缺少的设备文件。可以把现有系统中/dev的文件拷贝过来,然后删除不必要的文件。命令cp -dpR /dev /mnt会拷贝/dev整个目录但不拷贝文件内容,dp开关保证链接文件仍然不变,不会拷贝链接所指原文件,而且属性不变。如果你没有SCSI设备,删除所有的以sd开头的文件。如果你不想使用串口设备,删除所有以cua开头的文件。不过记住一定要保留console、kmem、mem、null、ram、tty1等文件。

·/etc:这个目录中含有一些必不可少的系统配置文件。这下面的文件比较多,那么到底哪些文件是必需的,哪些可有可无呢?由于这下面的文件一般是一些文本文件,都不是很大,干脆全部保留算了。

我的启动盘中含有不到15个配置文件,大致可分为3部分:

·rc.d/* — 系统启动脚本;

·fstab — 列出要登录的文件系统;

·inittab — 包含启动过程参数。

而且这些文件都是最简单的。rc应该包括:

#!/bin/sh    /bin/mount -av    /bin/hostname yjy    fstab应包括:    /dev/ram0 / ext2 defaults    /dev/fd0 / ext2 defaults    /proc /proc proc defaults    inittab包括:    id:2:initdefault:    si::sysinit:/etc/rc    1:2345:respawn:/sbin/getty 9600 tty1    2:23:respawn:/sbin/getty 9600 tty2

如何制作linux系统硬盘,教你制作Linux操作系统的Boot/Root盘相关推荐

  1. linux系统硬盘数据恢复软件下载,Linux硬盘数据恢复软件

    DiskInternals Linux Recovery是一款为Linux系统用户准备的硬盘数据恢复工具,相较于windows系统来说Linux系统的用途大部分还是用于办公,所以硬盘中的数据文件都比较 ...

  2. linux系统硬盘设置密码,LUKS:Linux下磁盘加密

    Linux下磁盘加密 LUKS(Linux Unified Key Setup)为Linux硬盘加密提供了一种标准,它不仅能通用于不同的Linux发行版本,还支持多用户/口令.因为它的加密密钥独立于口 ...

  3. linux系统硬盘ghost吗,将linux硬盘ghost到另一颗去

    将linux硬盘ghost到另一颗去 发布时间:2005-09-29 00:04:16来源:红联作者:cha 要将linux完完全全的备份到另一颗抽取式硬盘,如果linux挂了,可以立刻升上来备援!! ...

  4. linux生成火车图案,U大侠Linux系统使用sl命令制作火车动态桌面的介绍

    众所周知,sl命令是Linux系统中的一个趣味命令集,很多人都是在使用ls命令的时候,错把ls命令输入成为sl命令,才发现了这个命令的神奇效果.使用sl命令,还可以让Linux系统的桌面上跑火车,下面 ...

  5. linux系统硬盘表识

    一:linux系统硬盘命名是基于文件的,一般是:/dev/hda2 和 /dev/sdb3 # /dev:是所有设备文件的存放目录. #hd和sd :它们是分区的前两字母,代表分区所在的设备类型.hd ...

  6. [学习收藏]Linux系统硬盘优化

    [声明]转自:http://doc.linuxpk.com/129.html 优化linux系统硬盘 本文对linux系统下,硬盘的维护.整理.优化工作进行了一个分析与描述.(2002-12-17 0 ...

  7. linux ssd iops测试,Linux系统硬盘的IOPS测试

    Linux系统硬盘的IOPS测试 什么是IOPS? IOPS (英文:Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数,多用于数据库等场合,衡 ...

  8. linux查看磁盘对应槽位,一种linux系统硬盘槽位识别方法与流程

    技术领域 本发明涉及计算机技术领域,尤具体地说是一种实用性强.linux系统硬盘槽位识别方法. 背景技术: 近年来,随着技术的迅速发展,linux系统的应用也越来越广泛,特别对于国产处理器,linux ...

  9. Linux系统硬盘挂载

    Linux系统硬盘挂载 1.显示当前分区情况 指令:fdisk -l 2.创建硬盘分区 输入fdisk /dev/vdb,依次输入n,p,1,回车,w,其中n分别表示创建一个新分区,p表示分区类型为主 ...

最新文章

  1. 服务器,工作站和终端机
  2. android记账软件开发源代码_如何开发直播软件?直播软件开发的具体流程有哪些?...
  3. php xmldom扩展,如何使用比根更深入的PHP DOM向XML添加新元素?
  4. ECCV18 | UC伯克利提出基于自适应相似场的语义分割
  5. weblogic启动脚本
  6. Baxter实战 (二)ubuntu14.04安装Baxter Workstation
  7. Photometric Stereo 光度立体三维重建(四)——光源标定
  8. 学生信息管理系统(C++实现)
  9. The BTest labyrinth
  10. 【JavaScript】JS高级-面向对象编程
  11. 李智慧 - 架构师训练营 第五周
  12. Oracle Latch的学习【原创】
  13. 【vue3】6 vue3.0-5 生命周期
  14. 电商直播元年 微媒云播打造私域流量火爆商业新模式
  15. Python编程PTA题解——验证“哥德巴赫猜想”
  16. 一支笔的测试用例——【经典常问面试题】
  17. 用例测试(三)——边界值分析法
  18. 解决麒麟系统arm环境无法安装pyinstaller的错误:Checking for library z : not found
  19. xp访问win10计算机名,win10共享打印机给xp凭证问题_xp连接win10打印机凭证不足解决方法...
  20. SLURM 安装与配置

热门文章

  1. java中队列的类是什么意思_java中LinkedList集合类实现栈和队列要注意什么?
  2. mybatis 取list第一个_Mybatis(五)- 多对一
  3. python idf_python计算idf
  4. 快搜浏览器_opera、Google、firefox三个浏览器的选择
  5. linux 验证邮箱账号,linux邮件服务器的身份验证(sasl)
  6. Java黑皮书课后题第2章:*2.21(金融应用:计算未来投资回报)编写程序,读取投资总额、年利率和年龄,显示未来投资回报金额
  7. java后ping不是内部_ping不是内部或外部命令,也不是可运行的程序解决方案
  8. Python列表的常用你操
  9. linux下的ssh和rynsc
  10. Linux 基础学习大考核