每个CCD的成员磁盘需要建立一个特殊的文件系统。本例中, 我将需要 disklabel:
/dev/rsd0c
/dev/rsd1c
/dev/rsd2c
/dev/rsd3c
说明
永远记住disklabel字符设备, 而不是块设备, 在 /dev/r{s,w}d*
说明
在所有的平台上, c 分区代表的是整个NetBSD分区,并且是预留的.
你可能想删除所有CCD中这块磁盘上的所有现存disklabel分区。 这可用dd(1) 命令以两种方式实现 :
# dd if=/dev/zero of=/dev/rsd0c bs=8k count=1
# dd if=/dev/zero of=/dev/rsd1c bs=8k count=1
# dd if=/dev/zero of=/dev/rsd2c bs=8k count=1
# dd if=/dev/zero of=/dev/rsd3c bs=8k count=1
如果你的平台使用一个MBR (Master Boot Record) 来区分磁盘以便NetBSD分区使用这块磁盘的一部分, 而其它的OS,像Windows或Linux使用其余部分, 你可以使用下面的命令删除MBR和所有分区:
# dd if=/dev/zero of=/dev/rsd0d bs=8k count=1
# dd if=/dev/zero of=/dev/rsd1d bs=8k count=1
# dd if=/dev/zero of=/dev/rsd2d bs=8k count=1
# dd if=/dev/zero of=/dev/rsd3d bs=8k count=1
这将是整个磁盘上的数据无法访问。说明:在i386平台(和一些其它的平台)上整个磁盘是一个 d 分区 , 而 其它的(例如sparc)则为c . 看 “kern.rawpartition” sysctl - "3" 意味着 "d", "2" 意味着 "c".
这块磁盘的默认disklabel看起来像这样:
# disklabel -r sd0
[...snip...]
bytes/sector: 512
sectors/track: 116
tracks/cylinder: 9
sectors/cylinder: 1044
cylinders: 3992
total sectors: 4197405
[..snip...]
3 partitions:
# size offset fstype [fsize bsize cpg]
c: 4197405 0 unused 1024 8192 # (Cyl. 0 - 4020*)
你将需要在磁盘上的NetBSD分区上创建一个 “slice(分区)” ,它占用了整个分区。这个slice的起始点必须从磁盘或分区开始处往后偏移至少一个柱面以便给特殊的CCD disllabel提供空间。这个偏移量必须是1倍的扇区数/每个柱面(参下面的说明)。因此, “size” 值应该是 “总扇区数” 减去 1x “扇区数/柱面”. 据此编辑你的disklabel:
# disklabel -e sd0
说明
“ccd”类型的一个slice的偏移量必须是 “扇区数/柱面” 的整数倍值。
说明
确保编辑disklabel前先 export EDITOR=[这里填上你喜欢的编辑器的路径] .
说明
这个slice的文件系统类型必须为 ccd.
因为这个分区上只有一个slice, 你可以回收 c slice (通常为象征性的预留使用). 将 你的disklabel参照下列修改:
3 partitions:
# size offset fstype [fsize bsize cpg]
c: 4196361 1044 ccd # (Cyl. 1 - 4020*)
Optionally you can setup a slice other than c to use, simply adjust accordingly below:
3 partitions:
# size offset fstype [fsize bsize cpg]
a: 4196361 1044 ccd # (Cyl. 1 - 4020*)
c: 4197405 0 unused 1024 8192 # (Cyl. 0 - 4020*)
确保完成时写入label。 如果你的分区有问题Disklabel会拒绝执行并提供信息让你重新编辑它
《NetBSD指南-15.3.Disklabel每个成员卷》
版主: lionux
在线用户
正浏览此版面之用户: 没有注册用户 和 1 访客