如何制作linux系统硬盘,教你制作Linux操作系统的Boot/Root盘
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盘相关推荐
- linux系统硬盘数据恢复软件下载,Linux硬盘数据恢复软件
DiskInternals Linux Recovery是一款为Linux系统用户准备的硬盘数据恢复工具,相较于windows系统来说Linux系统的用途大部分还是用于办公,所以硬盘中的数据文件都比较 ...
- linux系统硬盘设置密码,LUKS:Linux下磁盘加密
Linux下磁盘加密 LUKS(Linux Unified Key Setup)为Linux硬盘加密提供了一种标准,它不仅能通用于不同的Linux发行版本,还支持多用户/口令.因为它的加密密钥独立于口 ...
- linux系统硬盘ghost吗,将linux硬盘ghost到另一颗去
将linux硬盘ghost到另一颗去 发布时间:2005-09-29 00:04:16来源:红联作者:cha 要将linux完完全全的备份到另一颗抽取式硬盘,如果linux挂了,可以立刻升上来备援!! ...
- linux生成火车图案,U大侠Linux系统使用sl命令制作火车动态桌面的介绍
众所周知,sl命令是Linux系统中的一个趣味命令集,很多人都是在使用ls命令的时候,错把ls命令输入成为sl命令,才发现了这个命令的神奇效果.使用sl命令,还可以让Linux系统的桌面上跑火车,下面 ...
- linux系统硬盘表识
一:linux系统硬盘命名是基于文件的,一般是:/dev/hda2 和 /dev/sdb3 # /dev:是所有设备文件的存放目录. #hd和sd :它们是分区的前两字母,代表分区所在的设备类型.hd ...
- [学习收藏]Linux系统硬盘优化
[声明]转自:http://doc.linuxpk.com/129.html 优化linux系统硬盘 本文对linux系统下,硬盘的维护.整理.优化工作进行了一个分析与描述.(2002-12-17 0 ...
- linux ssd iops测试,Linux系统硬盘的IOPS测试
Linux系统硬盘的IOPS测试 什么是IOPS? IOPS (英文:Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数,多用于数据库等场合,衡 ...
- linux查看磁盘对应槽位,一种linux系统硬盘槽位识别方法与流程
技术领域 本发明涉及计算机技术领域,尤具体地说是一种实用性强.linux系统硬盘槽位识别方法. 背景技术: 近年来,随着技术的迅速发展,linux系统的应用也越来越广泛,特别对于国产处理器,linux ...
- Linux系统硬盘挂载
Linux系统硬盘挂载 1.显示当前分区情况 指令:fdisk -l 2.创建硬盘分区 输入fdisk /dev/vdb,依次输入n,p,1,回车,w,其中n分别表示创建一个新分区,p表示分区类型为主 ...
最新文章
- 服务器,工作站和终端机
- android记账软件开发源代码_如何开发直播软件?直播软件开发的具体流程有哪些?...
- php xmldom扩展,如何使用比根更深入的PHP DOM向XML添加新元素?
- ECCV18 | UC伯克利提出基于自适应相似场的语义分割
- weblogic启动脚本
- Baxter实战 (二)ubuntu14.04安装Baxter Workstation
- Photometric Stereo 光度立体三维重建(四)——光源标定
- 学生信息管理系统(C++实现)
- The BTest labyrinth
- 【JavaScript】JS高级-面向对象编程
- 李智慧 - 架构师训练营 第五周
- Oracle Latch的学习【原创】
- 【vue3】6 vue3.0-5 生命周期
- 电商直播元年 微媒云播打造私域流量火爆商业新模式
- Python编程PTA题解——验证“哥德巴赫猜想”
- 一支笔的测试用例——【经典常问面试题】
- 用例测试(三)——边界值分析法
- 解决麒麟系统arm环境无法安装pyinstaller的错误:Checking for library z : not found
- xp访问win10计算机名,win10共享打印机给xp凭证问题_xp连接win10打印机凭证不足解决方法...
- SLURM 安装与配置
热门文章
- java中队列的类是什么意思_java中LinkedList集合类实现栈和队列要注意什么?
- mybatis 取list第一个_Mybatis(五)- 多对一
- python idf_python计算idf
- 快搜浏览器_opera、Google、firefox三个浏览器的选择
- linux 验证邮箱账号,linux邮件服务器的身份验证(sasl)
- Java黑皮书课后题第2章:*2.21(金融应用:计算未来投资回报)编写程序,读取投资总额、年利率和年龄,显示未来投资回报金额
- java后ping不是内部_ping不是内部或外部命令,也不是可运行的程序解决方案
- Python列表的常用你操
- linux下的ssh和rynsc
- Linux 基础学习大考核