来自 计算机操作系统 2019-11-30 05:55 的文章
当前位置: 美高梅4858官方网站 > 计算机操作系统 > 正文

美高梅4858mgm教您自个儿出手制作软盘上的Linux指导器

那是自家自身看了部分网络上的稿子未来,亲手制作的二个Floppy Linux,大家能够看看。

################## 

1. 软盘上安装指引器(grub)

# GRUB的优点 # 

平日制作软盘上跑的Linux辅导器都使用sysLinux这几个工具(那个工具不帮助ext2分区格式,只好扶助fat分区格式),因为本身对grub比较熟习,并且自身在软盘上设置grub只用了132KB空间,不是很耗磁盘空间。

################## 

具体操作如下:

GRUB 是指点装入器(boot loader卡塔尔 -- 它担负装入内核并指导 Linux 系统。GRUB 还足以携带其余操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HU中华VD 和 DOS,以致 Windows 95、98、NT 和 二零零二。固然指点操作系统看上去是件平日且繁杂的任务,但它其实很主要。要是指引装入器无法很好地完毕工作恐怕不具备弹性,那么就大概锁住系统,而一点办法也想不出来指导计算机。别的,好的指点装入器能够给您灵活性,让您能够在Computer上安装五个操作系统,而不必管理不要求的勤奋。 

# mke2fs /dev/fd0

GRUB 是三个很棒的boot loader。它有为数不菲职能,可以使指点进程变得特别可信赖。举例,它能够一贯从 FAT、minix、FFS、ext2 或 雷斯erFS 分区读取 Linux 内核。那就代表无论如何它总能找到内核。此外,GRUB 有一个例外的人机联作式调节台方式,能够令你手工业装入内核并选拔指点分区。那一个功能是希世之宝的:假诺GRUB 菜单配置不得法,但还能够指导系统。哦,对了 -- GRUB 还会有一个秀丽多姿教导菜单。 

创制了 ext2 文件系统后,须求设置该文件系统:

更令人侧目的是,那是一个自由软件!!! 

# mount /dev/fd0 /mnt/floppy

################## 

于今,需求创立一些目录,并将生机勃勃部分至关主要文件(原先安装 GRUB 时已设置了这几个文件)复制到软盘:

# GRUB菜单 # 

# mkdir /mnt/floppy/boot 
# mkdir /mnt/floppy/boot/grub 
# cp /boot/grub/stage1 /mnt/floppy/boot/grub 
# cp /boot/grub/stage2 /mnt/floppy/boot/grub

################## 

再有二个手续,就能够博得可用的指引盘。

先来看二个事例,那是放在/boot/grub/目录下的menu.lst文件。 

在Linux bash中,从 root 客商运营“grub”,该程序非常风趣并值得注意,因为它实际是 GRUB 教导装入器的半成效性版本。固然 Linux 已经运维并正在运维,您还是能够运行GRUB 并试行有些职分,何况其分界面与行使 GRUB 教导盘或将 GRUB 安装到硬盘 MBTucson 时看见的分界面(即GRUB调节台卡塔尔国完全相同。

此文件就要开机是发出一个菜系,包蕴有Debian linux,Windows2002,RedHat linux和 Mandrake linux,共四个选拔项。我合计分了8个区,三个fat16(0x6),叁个ntfs(0x7),多个ext2fs分区(0x83),七个swap分区(0x82)。ntfs用来装win二〇〇二,七个ext2fs装了多少个linux,c盘fat16分区未有装任夏雯西。 

在 grub> 提醒符处,输入:

#例子因而开头 

grub> root (fd0) 
grub> setup (fd0) 
grub> quit

###################### 

现今,辅导盘实现了。

# # 

2. 设置根文件系统

# 一个GRUB configure 的例子 # 

后生可畏套Linux系统要健康运行,根文件系统要蕴含下列文件夹:

# # 

/bin /etc /proc /tmp /var /dev /mnt

###################### 

要满含下列基本的装置文件:

timeout 10 

/dev/console /dev/fd0 /dev/null /dev/ram0 /dev/tty /dev/tty0

default 2 

要包含下列配置文件:

# --> Debian linux <-- 

/etc/rc.d/inittab /etc/rc.d/rc.sysinit /etc/fstab

title Debian linux 

要落到实处主题的功用,还要包蕴部分常用工具:如:sh,ls,cd,cat等。个中,前边四个部分并不是多少空间的,然则常用工具会占领超级多空间,要是用原本系统中的这一个命令,便是整套用静态编写翻译,不是用动态连接库,大约有2MB~3MB,放不进软盘。互联网上化解的方案是选取BusyBox工具。具体能够到官方网址:www.busybox.net看看。下载Busy博克斯工具的源代码。

root (hd0,2) 

注意:

kernel /boot/vmlinuz-2.2.18 root=/dev/hda3 ro 

(1) 译的时候要静态编译,改进 Makefile 中的 DOSTATIC 参数,从false 改为 true,那样,编写翻译出来的代码就绝不依赖glibc了。

initrd /boot/initrd-2.2.18.gz 

(2) 因为我们用的是 BusyBox 上的 init,与日常所运用的 init 不太意气风发致,会先试行 /etc/init.d/rcS 而非 /etc/rc.d/rc.sysinit,为了做出来的 FloppyLinux 构造与 RedHat 的布局肖似,所以改过了 BusyBox 中的 init.c底下是修到的有个别内容∶

# --> Debian END <-- 

#ifndef INIT_SCRIPT
#define INIT_SRCIPT "/etc/rc.d/rc.sysinit"
#endif

# --> Windows 菜单选项 <-- 

具体操作如下:

title Windows2000 

(1) 官方网站上下载BusyBox的新型版本:busybox-0.60.5.tar.gz解开,遵照地点的瞩目点修正源代码。

root (hd0,0) 

(2) 运营下列命令:

chainloader +1 

#make
#make install

# --> Winddows 结束 <-- 

(3) 译好的可势行文件放在 ./_install 文件夹里的。

# --> RedHat linux 菜单选项 <-- 

#cp ./_install /tmp/floppy-Linux -r

title RedHat linux 

美高梅4858mgm 1

root (hd0,8) 

chainloader +1 # 在硬盘主引导分区装了lilo,所以也用了chainloader。 

# --> RedHat linux 结束 <-- 

# --> Mandrake linux 菜单选项 <-- 

title Mandrake linux 

root (hd0,5) 

kernel /boot/vmlinuz-2.4.3-20mdk root=/dev/hda6 ro 

initrd /boot/initrd-2.4.3-20mdk.img 

# --> Mandrake linux 结束 <-- 

#例子到此结束 

以符号井"#"开头的行代表被讲解掉,未有其余意义。 

timeout表示私下认可等待的年月,那儿是10分钟。超过10秒,顾客还并未有作出选取的话,系统将活动选用默许的操作系统。 

暗许的操作系统就是由default调整的。default后加二个数字n,表明是第n+1个。须要小心的是,GRUB中,计数是从0起先的,第贰个硬盘是hd0,第一个软驱是fd0,等等。所以,default 2 代表默许的操作系统在此儿是 Redhat linux。 

接下去,正如您所想像的,title表示的是“Debian linux”菜单项。root (hd0,2卡塔尔国表示第一个硬盘,第八个分区。那儿的root 于linux的root分区及其分裂,此root非彼root也! 

在 Linux 中,当聊起 "root" 文件系统时,常常是指主 Linux 分区。不过,GRUB 有它本身的 root 分区定义。GRUB 的 root 分区是保存 Linux 内核的分区。那只怕是您的正经八百 root 文件系统,也说不允许不是。我们谈谈的是 GRUB,须求钦命 GRUB 的 root 分区。进入 root 分区时,GRUB 将把这些分区安装成只读型,那样就足以从该分区中装入 Linux 内核。GRUB 的四个很“酷”的效率是它能够读取本机的 FAT、FFS、minix、ext2 和 雷斯erFS 分区。 

到方今停止,您可能会觉获得一点吸引,因为 GRUB 所使用的硬盘/分区命名约定与 Linux 使用的命名约定分歧。在 Linux 中,第多个硬盘的第几个分区称作 "hda5"。而 GRUB 把这几个分区称作 "(hd0,4卡塔尔"。GRUB 对硬盘和分区的号子都以从 0 开首寻思。其余,硬盘和分区都用逗号分隔,整个表明式用括号括起。现在,能够发掘只要要量体裁衣Linux 硬盘 hda5,应输入 "root (hd0,4卡塔尔(英语:State of Qatar)"。 

明亮了功底在何方,还要具体提出哪个文件是内核文件,那正是kernel的行事。 

kernel /boot/vmlinuz-2.2.18 root=/dev/hda3 ro表达/boot/vmlinuz-2.2.18 正是要载入的功底。后边的都是传递给幼功的参数。root=/dev/hda3便是linux的硬盘分区表示法,ro是以readonly的意味。 

initrd用来开始的linux image,并安装相应的参数。 

是或不是深感很粗大略啊!再来看风度翩翩看windows的定义段吧。 

那边,作者增加了大器晚成项来指导迷津 Windows二零零四。要成功此操作,GRUB 使用了“链式装入器”(chainloader卡塔尔(قطر‎。链式装入器从分区 (hd0,0卡塔尔国的指点记录中装入 win二〇〇一自个儿的引导装入器,然后带领它。那正是这种技术叫做链式装入的缘故 -- 它成立了一个从指引装入器到另一个的链。这种链式装入本事能够用于教导任何版本的 DOS 或 Windows。 

笔者的RedHat linux在硬盘主带领分区装了lilo,所以也用了chainloader。 

GRUB的安排文件要简明就这么轻巧,假诺你要更天性化一点,试朝气蓬勃试把“color light-gray/blue ”加在default语句的上面,下一回开发银行GRUB时,看看有哪些变动,再试风度翩翩试“color light-blue/red",欣喜呢? 风趣吧! 

###################### 

# GRUB的并行性 # 

###################### 

GRUB 最佳的独特之处之生龙活虎正是其茁壮的设计 -- 在反复选择它时请别忘了那一点。假若更新内核或转移它在磁盘上的职位,不必重新安装 GRUB。事实上,如有需要,只要更新 menu.lst 文件就能够,一切将保持正常。 

只有个别气象下,才须求将 GRUB 教导装入注重新安装到引导记录。首先,假若改过 GRUB root 分区的分区类型(比如,从 ext2 改成 雷斯erFS),则必要重新安装。只怕,要是更新 /boot/grub 中的 stage1 和 stage2 文件,由于它们来自改革版本的 GRUB,很有不小可能要重新安装引导装入器。别的情形下,能够不必理睬! 

GRUB的最大的性状正是人机联作性非常强。在开机时,按一下“c”,将跻身GRUB 调整台。突显如下: 

GRUB version 0.5.96.1 (640K lower / 3072K upper memory) 

[ Minimal BASH-like line editing is supported. For the first word, TAB 

lists possible command completions. Anywhere else TAB lists the possible 

completions of a device/filename. ] 

grub> 

接待使用 GRUB 调节台。以后,再钻探命令: 

自家将透过GRUB 调整台绕过lilo来运行RedHat linux, 

grub> root (h 

现行反革命,按一遍 Tab 键。即便系统中有多少个硬盘,GRUB 将呈现大概变成的列表,从 "hd0" 开首。即便唯有一个硬盘,GRUB 将插入 "hd0,"。如若有多少个硬盘,继续开展,在 ("hd2"卡塔尔(英语:State of Qatar)中输入名称并在名称后紧跟着输入逗号,但不要按 Enter 键。部分成功的 root 命令看起来如下: 

grub> root (hd0, 

当今,继续操作,再按一遍 Tab 键。GRUB 将显得特定硬盘上独具分区的列表,以至它们的文件系统类型。在本身的连串中,按 Tab 键时得到以下列表: 

grub> root (hd0, (tab,按tab一下键) 

Possible partitions are: 

Partition num: 0, Filesystem type is fat, partition type 0x6 

Partition num: 2, Filesystem type is ext2fs, partition type 0x83 

Partition num: 4, Filesystem type unknown, partition type 0x7 

Partition num: 5, Filesystem type is ext2fs, partition type 0x83 

Partition num: 6, Filesystem type is fat, partition type 0xb 

Partition num: 7, Filesystem type is fat, partition type 0xb 

Partition num: 8, Filesystem type is ext2fs, partition type 0x83 

Partition num: 9, Filesystem type unknown, partition type 0x82 

如你所见,GRUB 的人机联作式硬盘和分区名称完毕效果与利益十三分有系统。那个,只供给美丽精晓 GRUB 新奇的硬盘和分区命名语法,然后就足以延续操作了 

grub> root (hd0,8) 

今昔已设置了 root 文件系统,到装入内核的时候了 

grub> kernel /boot/vmlinuz-2.4.2 root=/dev/hda5 ro 

[Linux-bzImage, setup=0x1200, size=0xe1a30] 

您曾经安装了 root 文件系统并装入了根本。现在,能够指导了。只要输入 "boot",Linux 教导进程就将开首。是还是不是很cool啊,GRUB的menu.lst更像三个linux下的脚本程序。 

##################### 

# GRUB启动盘 # 

##################### 

要营造引导盘,需实践一些轻便易行的步骤。首先,在新的软盘上创制 ext2 文件系统。然后,将其设置,并将豆蔻梢头部分 GRUB 文件复制到该文件系统,最终运行"grub" 程序,它将担任安装软盘的引导扇区。思索好了吗? 

将一张空盘插入 1.44MB 软驱,输入: 

# mke2fs /dev/fd0 

本文由美高梅4858官方网站发布于计算机操作系统,转载请注明出处:美高梅4858mgm教您自个儿出手制作软盘上的Linux指导器

关键词: