(Zt)[精华] 制作RAMDISK in KERNEL的NetBSD微系…
2009-05-13 04:26:18来源:未知 阅读 ()
精华] 制作RAMDISK in KERNEL的NetBSD微系统ZT
http://www.chinaunix.net 作者:
剑心通明
发表于:2005-08-31 15:36:51
【
发表评论
】【
查看原文
】【
BSD讨论区
】【
[url=javascript:window.close()]关闭[/url]
】
看精华里面光有作FreeBSD的,转来做NetBSD的吧:
QUOTE:
制作RAMDISK in KERNEL的NetBSD微系统
Matthew(黑夜编码人) ;
前言
在前面我们已经讲过如何制作软盘上运行的FreeBSD和OpenBSD系统,现在我们来看看如何制作一个运行在软盘上的NetBSD系统。同软盘中的OpenBSD系统一样,我们还是将系统中的所有配制文件及程序全部存放到NetBSD的内核中,这样整个系统看起来就是一个文件。下面让我们具体来看看如何完成这样一个微系统的制作。
0、NetBSD的启动过程
当硬盘MBR中的引导程序接过启动之后,MBR中的程序将读入硬盘NetBSD分区中的引导程序,引导程序默认情况下会加载/boot,然后由boot载入内核/netbsd,此时内核开始检测一些硬件和做一些初始化。初始化完成后kernel将mount root device,然后启动系统初始化进程/sbin/init,init将根据/etc/rc中的设置来进行初始化等。
1、定制RAMDISK内核
要使用RAMDISK in KERNEL就必须在内核配制文件中加入以下选项:
options MEMORY_DISK_HOOKS
options MEMORY_DISK_IS_ROOT # force root on memory disk
options MEMORY_DISK_SERVER=0
options MEMORY_DISK_ROOT_SIZE=10000 # size of memory disk, in blocks
options MEMORY_RBFLAGS=0x00 # boot in to multi-user mode
pseudo-device md 1 # memory disk device (ramdisk)
以上的内核参数意义如下:
MEMORY_DISK_ROOT_SIZE : 内存磁盘大小,以块为单位
MEMORY_RBFLAGS=0x00 : 启动到多用户模式
以下是在我机器上使用的一个内核配制文件
include "arch/i386/conf/std.i386"
#options INCLUDE_CONFIG_FILE # embed config file in kernel binary
makeoptions COPTS="-Os" # Optimise for space. Implies -O2
# Enable the hooks used for initializing the root memory-disk.
options MEMORY_DISK_HOOKS
options MEMORY_DISK_IS_ROOT # force root on memory disk
options MEMORY_DISK_SERVER=1 # 0 readonly 1 writable
options MEMORY_DISK_ROOT_SIZE=10000 # size of memory disk, in blocks
options MEMORY_RBFLAGS=0x00 # boot in to multi-user mode
maxusers 48 # estimated number of users
# CPU support. At least one is REQUIRED.
options I386_CPU
options I686_CPU
# CPU-related options.
options MATH_EMULATE # floating point emulation
# This option allows you to force a serial console at the specified
# I/O address.
#options CONSDEVNAME="\"com\"",CONADDR=0x3f8,CONSPEED=9600
# Avoid irq 5 and 7, the most likely cause of problems on modern laptops.
options PCIC_ISA_INTR_ALLOC_MASK=0xff5f
# Standard system options
options INSECURE # disable kernel security levels
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- ACL 疑问 2009-05-13
- 做完raid之后,系统无法启动,各位兄弟帮帮忙吧 2009-05-13
- freebsd系统共享上网问题! 2009-05-13
- PC-BSD 7.1不能登录 2009-05-13
- 内核编译 修改了操作系统名称,改如何改回来? 2009-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash