总的思路是让一个文件系统带有一些工具(sysinst, ls, 不管是什么), 然后将这个系统作为某种类型的ramdisk嵌入到NetBSD内核。这个内核需要包含 md 伪设备以便可以装载一个ramdisk。然后这个带有ramdisk的内核可以被放进一个可移动介质或通过网络启动(使用NFS或TFTP)。
要执行下列步骤, 你需要运行一个启用了vnd 伪设备的内核 (GENERIC内核默认已经启用)。
- 首先, 你必须生成一个能放进软盘的内核, 例如INSTALL. 这个内核必须包含 md 伪设备, 这样才能允许嵌入一个ramdisk. 参 Chapter 31, 编译内核 以了解内核构建说明。
- 下一步是创建可嵌入内核的ramdisk。这个ramdisk包含了一个文件系统及一些所需工具, 通常 init(8) 和一些工具,像 sysinst, ls(1)等。要创建一个标准的ramdisk, 在 src/distrib/i386/ramdisks/ramdisk-big 目录内(对NetBSD 3.x来说是: src/distrib/i386/floppies/ramdisk-big)运行 make.
这将会在目录内产生一个 ramdisk.fs 文件。如果你想定制这个文件系统的内容, 设置 list 文件。 - 现在, 已经插入到内核中, 生成一个包含这个ramdisk的新内核, 所有的全在一个文件里。步骤是, 进入 src/distrib/i386/instkernel 目录 (对NetBSD 3.x: src/distrib/i386/floppies/instkernel) 然后运行 make.
- 下一步是制作一个或多个软盘镜像, 要根据内核的大小(包括ramdisk)。进入 /usr/src/distrib/i386/floppies/bootfloppy-big, 然后再一次运行 make 。
这将生成一或二(根据内核的大小) 个文件,被命名为boot1.fs 和 boot2.fs - 最后, 用下列命令将我呢间传送到软盘上
代码: 全选
# dd if=boot1.fs of=/dev/fd0a bs=36b # dd if=boot2.fs of=/dev/fd0a bs=36b
- 将第一块软盘放入软驱并开机!