快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

和记娱乐安卓下载和:制作RAMDISK in KERNEL的OpenBSD微系统



Matthew(黑夜编码人)

媒介

在曩昔我们已经讲过若何制作软盘上运行的FreeBSD系统,现在我们来看看若何制作一个运行在软盘上的OpenB和记娱乐安卓下载和SD系统。与软盘上的FreeBSD不合的是,此次我们将系统中和记娱乐安卓下载和的所有配制文件及法度榜样整个寄放到OpenBSD的内核中,这样全部系统看起来便是一个文件。下面让我们详细来看看若何完成这样一个微系统的制作。

0、OpenBSD的启动历程

当硬盘MBR中的向导法度榜样接过启动之后,MBR中的法度榜样将读入硬盘OpenBSD分区中的向导法度榜样,向导法度榜样默认环境下会加载/boot,然后由boot载入内核,此时内核开始检测一些硬件和做一些初始化。初始化完成后kernel将mount root device,然后启动系统初始化进程/sbin/init,init将根据/etc/rc中的设置来进行初始化等。

1、定制RAMDISK内核

要应用RAMDISK in KERNEL就必须在内核配制文件中加入以下选项:

option RAMDISK_HOOKS

option MINIROOTSIZE=3560

pseudo-device rd 1

以上的内核参数意义如下:

option RAMDISK_HOOKS:开启ramdisk in kernel的功能。

option MINIROOTSIZE=xxx:设置内核中ramdisk的大年夜小,以512b为单位(听说最大年夜只能为23000 )

pseudo-device rd 1:在内核中孕育发生1个ramdisk设备。

2、和记娱乐安卓下载和制作ramdisk镜像

# dd if=/dev/zero of=/ramdisk bs=512 count=3560

# vnconfig -c svnd0 /ramdisk

# disklabel -r -w svnd0 rdroot

# newfs -m 0 -S 512 -i 4096 /dev/svnd0a

# mount /dev/svnd0a /mnt

# mkdir /mnt/{dev,bin,sbin,etc}

# cp /dev/MAKEDEV /mnt/dev

# cp /bin/{sh,ls} /mnt/bin

# cp /sbin/init /mnt/sbin

# cd /mnt/dev/ && ./MAKEDEV ramdisk

# echo 'echo "This is my minibsd all in kernel" && /bin/sh' > /mnt/etc/rc

# sync && umount /mnt

# sync && vnconfig -u svnd0 && sync

3、将ramdisk写入kernel

# cc -o rdsetroot /usr/src/distrib/comm和记娱乐安卓下载和on/elfrdsetroot.c

# ./rdsetroot /minibsd

4、压缩kernel大年夜小

# gzip -9 -c /minibsd > /minibsd.gz

5、制作目标软盘

由于系统必要应用/boot(/usr/mdec/boot)来加载kernel,以是我们必要在软盘上放置boot文件。

# diskl和记娱乐安卓下载和abel -B -w -r /dev/fd0a fd1440

# newfs -m 0 -S 512 /dev/fd0a

# mount /dev/fd0a /mnt

# cp /usr/mdec/boot /mnt

# cp /minibsd.gz /mnt/bsd

现在你的ramdisk in kernel的miniopenbsd系统就已经做好了。

您可能还会对下面的文章感兴趣: