扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
这是我自己看了一些网络上的文章以后,亲手制作的一个Floppy Linux,大家可以看看。
1. 软盘上安装引导器(grub)
一般制作软盘上跑的Linux引导器都使用sysLinux这个工具(这个工具不支持ext2分区格式,只能支持fat分区格式),因为我对grub比较熟悉,并且我在软盘上安装grub只用了132KB空间,不是很耗磁盘空间。
具体操作如下:
|
创建了 ext2 文件系统后,需要安装该文件系统:
|
现在,需要创建一些目录,并将一些关键文件(原先安装 GRUB 时已安装了这些文件)复制到软盘:
|
再有一个步骤,就能得到可用的引导盘。
在Linux bash中,从 root 用户运行“grub”,该程序非常有趣并值得注意,因为它实际上是 GRUB 引导装入器的半功能性版本。尽管 Linux 已经启动并正在运行,您仍可以运行 GRUB 并执行某些任务,而且其界面与使用 GRUB 引导盘或将 GRUB 安装到硬盘 MBR 时看到的界面(即GRUB控制台)完全相同。
在 grub> 提示符处,输入:
|
现在,引导盘完成了。
2. 安装根文件系统
一套Linux系统要正常启动,根文件系统要包括下列文件夹:
|
要包括下列基本的设备文件:
|
要包括下列配置文件:
|
要实现基本的功能,还要包括一些常用工具:如:sh,ls,cd,cat等。其中,前面三个部分不要多少空间的,但是常用工具会占用很多空间,要是用原来系统中的这些命令,就是全部用静态编译,不是用动态连接库,大概有2MB~3MB,放不进软盘。网络上解决的方案是使用BusyBox工具。具体可以到官方网站:www.busybox.net看看。下载BusyBox工具的源代码。
注意:
(1) 译的时候要静态编译,修改 Makefile 中的 DOSTATIC 参数,从false 改为 true,这样,编译出来的代码就不要依赖glibc了。
(2) 因为我们用的是 BusyBox 上的 init,与一般所使用的 init 不太一样,会先执行 /etc/init.d/rcS 而非 /etc/rc.d/rc.sysinit,为了做出来的 FloppyLinux 架构与 Redhat 的架构一样,所以修改了 BusyBox 中的 init.c底下是修到的部分内容∶
|
具体操作如下:
(1) 官方网站上下载BusyBox的最新版本:busybox-0.60.5.tar.gz解开,按照上面的注意点修改源代码。
(2) 运行下列命令:
|
(3) 译好的可势行文件放在 ./_install 文件夹里的。
|
(4) 动建立其它的文件或文件夹:
|
(5) 建启动配置文件:(inittab,rc.sysinit,fstab)
|
(6) 作Ramdisk的镜像文件:
|
3.编译内核:
这部分内容不详细讲述,主要是去掉了一些不需要的选项,减小内核,编译出来的内核是725920Byte。里面包含了必要的网卡驱动和网络协议栈。
4.整合启动盘
现在所用到了的东西全部搞好了,下面就是整合一下:
全部文件(文件夹)如下:
|
这样这张软盘就能启动一套Linux系统了,占用1.213MB。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者