免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: wuyanxiao
打印 上一主题 下一主题

[OpenBSD] 菜鸟笔记:openbsd3.8的安装 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-03-06 15:02 |只看该作者

分区的一些基础知识

下面就要开始分区操作了,在继续进行之前,需要先了解一些基础知识。对于以前一直使用windows的人来说,特别是对于从用电脑开始就是用win2000及其以后的版本win系统的人来说,分区很简单,只需要简单的指定那个分区的大小就可以了,但是对于大多数unix系统来说,想要分区,你必须了解一些底层的东西,要不然,只是看看unix的分区工具你就会觉的眼晕,更不用说来使用它们进行工作了。你可能会问,为什么不把这些内容也放到前面说的那些基础部分里去呢?因为我感觉,前面所说的安装包的选择和分区大小的确定,是偏向于概念性的东西,放在前面了解,有助于对整个安装进行规划,而现在讲的内容是偏向于实践性的东西,边了解边实践效果应该是最好的了。

    一个磁盘驱动器由一个或多个磁碟组成,每一个都用相当光滑的玻璃或者陶瓷制成,并覆盖上一层精细的金属氧化物。磁碟放在一个中心轴上面,并按照稳定 的速度转动。转动速度根据型号不同从3000到10000RPM(转/每分钟)。

磁道(track)
    大家都知道,读写硬盘时,磁头依靠磁盘的高速旋转引起的空气动力效应悬浮在盘面上,与盘面的距离不到1微米(约为头发直径的百分之一)。由于磁盘是旋转的,则连续写入的数据是排列在一个圆周上的。我们称这样的圆周为一个磁道(Track)。如果读写磁头沿着圆形薄膜的半径方向移动一段距离,以后写入的数据又排列在另外一个磁道上。磁道在磁碟的表面做同心圆排列,每个磁碟表面的磁道都有一个单独的编号,磁道0是最外面的磁道,最高编号的磁道是最接近中心轴的磁道。根据硬盘规格的不同,磁道数可以从几百到数千不等。

扇区(Sector)
    一个磁道上可以容纳数KB的数据,而主机读写时往往并不需要一次读写那么多,于是,磁道又被划分成若干段,每段称为一个扇区(Sector)。一个扇区一般存放512字节的数据。扇区也需要编号,同一磁道中的扇区都有一个单独的编号,分别称为1扇区,2扇区....这里需要注意的是,硬盘在划分扇区时,和一般的软盘有一定的区别。软盘的一个磁道中,扇区号依次编排,即2号与1号相邻,3号与2号相邻,以此类推。而在硬盘的一个磁道中,扇区号是按照某个间隔跳跃着编排的。我们举一个例子来说明:在某个硬盘上,以实际存储位置而论,2号扇区并不是1号扇区后的第一个,而是第5个,3号扇区又是2号扇区后的第5个,以此类推。这个"5"就是我们说的交叉因子。当然,这个交叉因子的设定并不是绝对的,每个种类的硬盘为根据自身的情况加以变化。选择适当的交叉因子,可使硬盘驱动器读写扇区的速度与硬盘的旋转速度相匹配,提高存储数据的速度。
   扇区(Sector)如何读写?计算机对硬盘的读写,处于效率的考虑,是以扇区为基本单位的。即使计算机只需要硬盘上存储的某个字节,也必须一次把这个字节所在的扇区中的512字节全部读入内存,再使用所需的那个字节。不过,在上文中我们也提到,硬盘上面、磁道、扇区的划分表面上是看不到任何痕迹的,虽然磁头可以根据某个磁道的应有半径来对准这个磁道,但怎样才能在首尾相连的一圈扇区中找出所需要的某一扇区呢?原来,每个扇区并不仅仅是由512个字节组成的,在这些由计算机存取的数据的前、后两端,都另有一些特定的数据,这些数据构成了扇区的界限标志,标志中含有扇区的编号和其他信息。计算机就凭借着这些标志来识别扇区。

主引导扇区(MBR区)
    硬盘的一个扇区(0道0头1扇区)被保留为主引导扇区(即Master Boot Record,一般简称为MBR)。在主引导区内主要有两项内容:主引导记录和硬盘分区表。主引导记录是一段程序代码,其作用主要是对硬盘上安装的操作系统进行引导;硬盘分区表则存储了硬盘的分区信息。

柱面(cylinder)和头(head)
    硬盘一般是由一片或几片圆形薄膜叠加而成。我们所说,每个圆形薄膜都有两个"面"(Side),这两个面都是用来存储数据的。按照面的多少,依次称为0面、1面、2面……由于每个面都专有一个读写磁头,也常用0头(head)、1头……称之。按照硬盘容量和规格的不同,硬盘面数(或头数)也不一定相同,少的只有2面,多的可达数十面。各面上磁道号相同的磁道合起来,称为一个柱面(cylinder)

chs寻址
    明白了上面这些名词的含义,就很容易理解chs寻址了,依次确定了柱面(cylinder)、头(head)和扇区(Sector),就可以找到数据在硬盘上的物理地址。chs是这三个英语单词的缩写。

    硬盘分区后,将会被划分为面、磁道和扇区。需要注意的是,这些只是个虚拟的概念,并不是真正在硬盘上划道子,很多操作系统使用chs来寻址,需要注意的是,操作系统上用的chs也是虚拟的,并不是你硬盘物理上实际的chs数,因为,不同的硬盘包含的磁碟数目可能也不相同,比如,同是20G的硬盘,有的可能包含2碟(4个head),有的可能包含3碟(6head)等等,同时,每个磁道可划分的扇区(sector)也不相同。为了方便硬件管理,操作系统采用虚拟的chs,不管你是哪一种硬盘,都采用同一的chs数值来管理,当然,一般来说,虚拟的head数和sector数是固定不变的,只有clinder随硬盘的容量而变化,比如说,openbsd3.8,每一个clinder包含的head数是固定的240,编号规则是[0-239],每个磁道划分的扇区数也是固定的63,编号规则是[1-63],只有clinder数随硬盘大小而不同,编号规则是[0-?]。每种操作系统的chs规则也不尽相同,比如说windows是head200、sector256(这个只是我随便写的,具体是多少,你可以查查资料),所以,在安装操作系统,特别是安装多操作系统时,最好是用操作系统自带的分区工具为其划分分区空间,不然的话就容易出错。

    上面所说的如果你还是不明白,那么先记住,现在跟着下面的分区操作指示进行实际的操作,成功操作完后,就应该可以明白许多。

待续........

[ 本帖最后由 wuyanxiao 于 2006-3-6 17:31 编辑 ]

未标题-1-拷贝-拷贝.gif (13.89 KB, 下载次数: 116)

未标题-1-拷贝-拷贝.gif

2.gif (16.72 KB, 下载次数: 107)

2.gif

论坛徽章:
0
12 [报告]
发表于 2006-03-06 17:28 |只看该作者
下面继续安装进程
注意:下面引用中,红色的数字是我添加的注释标记,绿色的文字是我添加的注释。
6、
  You will now create a single MBR partition to contain your OpenBSD data. This
  partition must have an id of 'A6'; must *NOT* overlap other partitions; and
  must be marked as the only active partition.

  The 'manual' command describes all the fdisk commands in detail.

  Disk: wd0       geometry: 1 2586/2 240/3 63 [4 39100320 Sectors]
//注释:上面这一行显示你硬盘的一些基本信息,显示的是openbsd下的fdisk所认为的你的硬盘尺寸。按照fdisk,你的硬盘有1 2586个柱面(cylinder)[0-2585],2 240个head[0-239],3 每个磁道(track)有63个扇区(sector)[1-63]。硬盘总共有4 39100320个扇区,有趣的是,fdisk显示的4和其他工具显示的一样。
  Offset: 0       Signature: 0xAA55
           Starting                                  Ending                LBA Info:
   #:       id        C     H    S   -       C       H        S [       start:      size   ]
  ------------------------------------------------------------------------
  *1 0: 2 0B    3 0   4 1  5 1 -  6 202 7 239 8 63 [          63:     3069297 ] 9 Win95 FAT-32
       1:    00       0      0     0 -       0        0        0 [           0:           0 ] unused
       2:    00       0      0     0 -       0        0        0 [           0:           0 ] unused
       3:    00       0      0     0 -       0        0        0 [           0:           0 ] unused
  Enter 'help' for information
//注释:1显示的是MBR分区数字,从0到3;2显示的是分区id,分区id用十六进制数来表示这个分区上的文件系统,0x0B分区id标示的是fat32文件系统;345分别表示这个分区开始于3所显示的cylinder、4所显示的head、5所显示的sector;看到这里你就会明白,C是cylinder的缩写,H是head的缩写,S是sector的缩写。同样,678表示的是这个分区结束位置的CHS;9用英语清晰的表明了这个分区的文件类型。也许你会注意到,第一个分区开始chs位置是0-1-1,为什么不是从0-0-1开始的呢?因为从0-0-1到0-0-63是零磁道,默认被MBR和其他东西?占用了。
  fdisk: 1> help   //注:在fdisk启动后,在其提示符后输入相应的命令然后回车,可以进行相应的操作,这里输入help,下面将会显示帮助信息。在下面的注释中,标记为重要的,是常用的命令,请你现在就记住,其他的如果你不想,可以等以后慢慢了解实践
          help            Command help list   //注: 重要,显示帮助信息
          manual          Show entire OpenBSD man page for fdisk  //注:显示openbsd下fdisk的全部手册页
          reinit          Re-initialize loaded MBR (to defaults)   // 注:重要,清除已存的分区表,建立一个大的OpenBSD分区,并标记它为active。等同于在"use *all* of ..."时回答"yes"
          setpid          Set the identifier of a given table entry  //注:设定分区文件类型的id
          disk            Edit current drive stats  //注:编辑当前硬盘状态
          edit            Edit given table entry  //注:重要,编辑或者改变分区表项
          flag            Flag given table entry as bootable  //注:重要,标记某分区为活动(active)分区,系统从该分区启动
          update          Update machine code in loaded MBR  //注:在加载MBR时,升级机器码
          select          Select extended partition table entry MBR  //注:选择扩展的分区表入口MBR
          swap            Swap two partition entries  //注:交换两个分区的入口
          print           Print loaded MBR partition table  //注:重要,按扇区显示出当前的分区表。 "p m"将以兆字节(MB)格式显示分区表."p g"以吉字节(gigabytes)显示分区表
          write           Write loaded MBR to disk  //注:重要,把载入的MBR写回磁盘
          exit            Exit edit of current MBR, without saving changes  //注:重要,退出当前的MBR编辑,并且对任何改变不保存。
          quit            Quit edit of current MBR, saving current changes  //注:重要,退出当前的MBR编辑,并且保存改变的内容。
          abort           Abort program without saving current changes  //注:中止程序,并且不保存当前的改变
  fdisk: 1>


      需要重申的是,这里出现任何错误都将导致严重的数据丢失。假如你要在有重要数据的计算机上做这些,最好能在一个无关紧要的盘上进行练习,另外要注意先备份。

     这里我们有1.5G分区是Windows2000(使用FAT文件系统)。看到上面显示的信息,我们可以发现windows分区占据了硬盘上0到202柱面,我们将剩下的分区分配给OpenBSD,从203柱面开始。你也可以计算出OpenBSD的起始扇区为3069360.(已知分区的起始扇区63加上它的大小3069297).

      你可以以柱面/头(Headers)/扇区格式来编辑分区布局或者调整raw扇区。哪个更容易些取决于你要做什么。此例对以已知分区进行处理,用CHS格式可能会容易些。

7、

  fdisk: 1> e 1  //注:e是edit的简写,这句的意思是编辑分区1 ,下面还用到了其他命令的简写,就不再一一作注释了,下面粗体的需要你输入的内容,为什么要输入这些东西,请用以前的知识在实践中加以体会。
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
   1: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
  Partition id ('0' to disable)  [0 - FF]: [0] (? for help) a6
  Do you wish to edit in CHS mode? [n] y
  BIOS Starting cylinder [0 - 2585]: [0] 203
  BIOS Starting head [0 - 239]: [0] 回车
  BIOS Starting sector [1 - 63]: [0] 1
  BIOS Ending cylinder [0 - 2585]: [0] 2585
  BIOS Ending head [0 - 239]: [0] 239
  BIOS Ending sector [1 - 63]: [0] 63
  fdisk:*1> p
  Disk: wd0       geometry: 2586/240/63 [39100320 Sectors]
  Offset: 0       Signature: 0xAA55
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
  *0: 0B    0   1  1 -  202 239 63 [          63:     3069297 ] Win95 FAT-32
   1: A6  203   0  1 - 2585 239 63 [     3069360:    36030960 ] OpenBSD
   2: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
   3: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
  fdisk:*1> p m
  Disk: wd0       geometry: 2586/240/63 [19092 Megabytes]
  Offset: 0       Signature: 0xAA55
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
  *0: 0B    0   1  1 -  202 239 63 [          63:        1499M] Win95 FAT-32
   1: A6  203   0  1 - 2585 239 63 [     3069360:       17593M] OpenBSD
   2: 00    0   0  0 -    0   0  0 [           0:           0M] unused
   3: 00    0   0  0 -    0   0  0 [           0:           0M] unused
  fdisk:*1>

注意,提示符如果变为一个带*号的,说明你的修改没有被保存。从上面的p m输出可以看出,我们没有改变windows分区,我们成功的将剩余分区分配给了OpenBSD,并且分区无交迭。

我们还没做的是标记某分区为活动分区active,这样计算机才能在下次重启时启动OpenBSD。

8、

  fdisk:*1> f 1   //注:把分区一设置为活动分区,这样,你的计算机启动时就会直接启动openbsd,但是你的windows就启动不起来了,若你还想启动win,就不需要这个命令,然后你可以参照后面的多系统安装这一节内容,若是你现在用了这个命令,也没关系,op重启后,用fdisk把分区0重新设置成活动的,这样win就能启动起来了。
  Partition 1 marked active.
  fdisk:*1> p
  Disk: wd0       geometry: 2586/240/63 [39100320 Sectors]
  Offset: 0       Signature: 0xAA55
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
   0: 0B    0   1  1 -  202 239 63 [          63:     3069297 ] Win95 FAT-32
  *1: A6  203   0  1 - 2585 239 63 [     3069360:    36030960 ] OpenBSD
   2: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
   3: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
  fdisk:*1>

至此,我们就可以保存我们的修改了。
9、

  fdisk:*1> w
  Writing MBR at offset 0.
  wd0: no disk label
  fdisk: 1> q


未完,待续............

[ 本帖最后由 wuyanxiao 于 2006-3-6 17:58 编辑 ]

论坛徽章:
0
13 [报告]
发表于 2006-03-07 01:09 |只看该作者
写的不错.昨天晚上按照FAQ安装了一下,使用的是http方式.有时间也制作一个光盘试试.

论坛徽章:
0
14 [报告]
发表于 2006-03-07 07:38 |只看该作者
加精鼓励。

论坛徽章:
0
15 [报告]
发表于 2006-03-08 16:49 |只看该作者
创建磁盘卷标(disklabel)

    下一步就是使用disklable(将OpenBSD Slice细分成不同文件系统的分区,disklable被创建来允许提供给磁盘和(在内核里的)磁盘的驱程一个有效的界面。标签(lables)包含你的磁盘的一些信息,像磁盘geometry和你的文件系统信息。这也被启动程序用来载入驱动器和确定文件系统包含在该驱动器的何处。标签也用来联合文件系统来创建更有效的环境。你可以阅读disklable(5)的手册页来了解更深入的信息。

    另一个额外的收获是,使用disklable可避免磁盘分区在体系上的限制。比如,在i386体系上,你最多只有4个主分区。使用disklable,你可以使用一个“主分区”来存储你的所有OpenBSD 分区(如'swap',"/",'/usr'和'/var')并且你还有3个主分区用于安装其他的操作系统。

  Here is the partition information you chose:
  
  Disk: wd0       geometry: 2586/240/63 [39100320 Sectors]
  Offset: 0       Signature: 0xAA55
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
   0: 0B    0   1  1 -  202 239 63 [          63:     3069297 ] Win95 FAT-32
  *1: A6  203   0  1 - 2585 239 63 [     3069360:    36030960 ] OpenBSD
   2: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
   3: 00    0   0  0 -    0   0  0 [           0:           0 ] unused

  You will now create an OpenBSD disklabel inside the OpenBSD MBR
  partition. The disklabel defines how OpenBSD splits up the MBR partition
  into OpenBSD partitions in which filesystems and swap space are created.

  The offsets used in the disklabel are ABSOLUTE, i.e. relative to the
  start of the disk, NOT the start of the OpenBSD MBR partition.

  disklabel: no disk label
  WARNING: Disk wd0 has no label. You will be creating a new one.
  
  # using MBR partition 1: type A6 off 3069360 (0x2ed5b0) size 36030960 (0x225c9f0)

  Treating sectors 3069360-39100320 as the OpenBSD portion of the disk.
  You can use the 'b' command to change this.

  Initial label editor (enter '?' for help at any prompt)
  > ?    //输入?显示下面的帮助信息
  Available commands:
          ? [cmnd]  - this message or command specific help.
          a [part]  - add new partition.  //增加一个新分区
          b         - set OpenBSD disk boundaries.
          c [part]  - change partition size.
          D         - set label to default.  //清除所有存在的disklabel,创建一个仅仅适合于当前openbsd分区的默认disklabel。硬盘上原先已经有disklabel,但是后来又重建了分区并改变了分区大小,原先的disklabel并不会消失,这样会引起混乱,这时候用这个命令就非常好。
          d [part]  - delete partition.  //删除分区
          e         - edit drive parameters.
          g [b|d|u] - use (b)ios, (d)isk or (u)ser geometry.
          M         - show entire OpenBSD man page for disklabel.
          m [part]  - modify existing partition.  //编辑已经存在的分区
          n [part]  - set the mount point for a partition.
          p [unit]  - print label.  //显示当前的disklabel,并且你可以在其后面加上修饰字符k、m或者g使其以千字节、兆字节或十亿字节的格式显示其结果。
          q         - quit and save changes.  //退出并且保存所有的改变
          r         - recalculate free space.
          s [path]  - save label to file.
          u         - undo last change.
          w         - write label to disk.  //把disklabel写回硬盘
          X         - toggle expert mode.
          x         - exit without saving changes.  //退出并且不保存改变
          z         - zero out partition table.
  Numeric parameters may use suffixes to indicate units:
          'b' for bytes, 'c' for cylinders, 'k' for kilobytes, 'm' for megabytes,
          'g' for gigabytes or no suffix for sectors (usually 512 bytes).
          '%' for of total disk size, '&' for percent of free space.
          Non-sector units will be rounded to the nearest cylinder.
  Entering '?' at most prompts will give you (simple) context sensitive help.  //上面这段话很有用,大概意思是:数字参数可以使用后缀来表明其单位:“b”代表字节,“c”代表柱面,“k”代表千字节,“m”代表兆字节,“g”代表十亿字节,或者没有后缀则代表扇区(一般情况下是512字节)。“%”代表整个硬盘的百分比,“&”代表剩余空间的百分比。
  >


在根硬盘,“a”和“b”分区必须被建立,若不然,安装程序将不会继续进行,“a”用于root文件系统(/),“b”用于交换空间。
在下面的例子中,我们将把/, /tmp, /var, /usr, /home这几个分区的大小设置为:
wd0a: / (root) - 150M.
wd0b: (swap) - 300M.
wd0d: /tmp - 120M.
wd0e: /var - 80M.
wd0g: /usr - 3G.
wd0h: /home - 4G.


  > p m  //以兆字节为单位显示当前disklabel
  device: /dev/rwd0c
  type: ESDI
  disk: ESDI/IDE disk
  label: ST320011A
  bytes/sector: 512
  sectors/track: 63
  tracks/cylinder: 16
  sectors/cylinder: 1008
  cylinders: 16383
  total sectors: 39102336
  free sectors: 36030960
  rpm: 3600
  
  16 partitions:
  #             size        offset  fstype [fsize bsize  cpg]
    a:      17593.2M       1498.7M  unused      0     0      
    c:      19092.9M          0.0M  unused      0     0      
    i:       1498.7M          0.0M  MSDOS                  
  > d a  //删除a分区
  > a a  //新建a分区
  offset: [3069360] 回车
  size: [36030960] 150m   //输入a分区的大小,数字后带了一个m后缀,表明是兆字节为单位
  Rounding to nearest cylinder: 307440
  FS type: [4.2BSD] 回车
  mount point: [none] /  //输入该分区的挂载点,这里输入“/”
  > a b
  offset: [3376800] 回车
  size: [35723520] 300m
  Rounding to nearest cylinder: 614880
  FS type: [swap] 回车
  > a d
  offset: [3991680] 回车
  size: [35108640] 120m
  Rounding to nearest cylinder: 245952
  FS type: [4.2BSD] 回车
  mount point: [none] /tmp
  > a e
  offset: [4237632] 回车
  size: [34862688] 80m
  Rounding to nearest cylinder: 164304
  FS type: [4.2BSD] 回车
  mount point: [none] /var
  > a g
  offset: [4401936] 回车
  size: [34698384] 3g
  Rounding to nearest cylinder: 6291936
  FS type: [4.2BSD] 回车
  mount point: [none] /usr
  > a h
  offset: [10693872] 回车
  size: [28406448] 4g
  Rounding to nearest cylinder: 8388576
  FS type: [4.2BSD] 回车
  mount point: [none] /home
  > p m
  device: /dev/rwd0c
  type: ESDI
  disk: ESDI/IDE disk
  label: ST320011A
  bytes/sector: 512
  sectors/track: 63
  tracks/cylinder: 16
  sectors/cylinder: 1008
  cylinders: 16383
  total sectors: 39102336
  free sectors: 22115520
  rpm: 3600
  
  16 partitions:
  #             size        offset  fstype [fsize bsize  cpg]
    a:        150.1M       1498.7M  4.2BSD   2048 16384   16 # /
    b:        300.2M       1648.8M    swap                  
    c:      19092.9M          0.0M  unused      0     0      
    d:        120.1M       1949.1M  4.2BSD   2048 16384   16 # /tmp
    e:         80.2M       2069.2M  4.2BSD   2048 16384   16 # /var
    g:       2048.0M       2149.4M  4.2BSD   2048 16384   16 # /usr
    h:       4096.0M       4197.4M  4.2BSD   2048 16384   16 # /home
    i:       1498.7M          0.0M   MSDOS                  
  > q
  Write new label?: [y] 回车

你会发现C区好像被我们忽略了。那个分区代表整个硬盘,不要改动它!你会发现i区我们没有定义,此分区是已存的windows2000分区。分区无须指定任何特殊的字母,a(root),b(swap),c(entire disk)除外。

如果你仔细的看来disklable的输出,你会发现你的硬盘RPM率很可能是错误的。这是历史性的,驱动器的速度不会被系统使用。无须担心。
未完,待续.......

[ 本帖最后由 wuyanxiao 于 2006-3-8 16:53 编辑 ]

论坛徽章:
0
16 [报告]
发表于 2006-03-08 17:56 |只看该作者
配置挂载点和格式化文件系统

现在进入挂载点的最后配置。如果你已经用disklable配置好了挂载点,这里你只需确定一下你的选择。但是,你也可在此指定它们。

  Mount point for wd0d (size=122976k)? (or 'none' or 'done') [/tmp] 回车
  Mount point for wd0e (size=82152k)? (or 'none' or 'done') [/var] 回车
  Mount point for wd0g (size=3145968k)? (or 'none' or 'done') [/usr] 回车
  Mount point for wd0h (size=4194288k)? (or 'none' or 'done') [/home] 回车
  Mount point for wd0d (size=122976k)? (or 'none' or 'done') [/tmp] done
  No more disks to initialize.

  OpenBSD filesystems:
  wd0a /
  wd0d /tmp
  wd0e /var
  wd0g /usr
  wd0h /home

  The next step *DESTROYS* all existing data on these partitions!
  Are you really sure that you're ready to proceed? [no] y
  /dev/rwd0a:     307440 sectors in 305 cylinders of 16 tracks, 63 sectors
          150.1MB in 1 cyl groups (306 c/g, 150.61MB/g, 19328 i/g)  //若你需要安装多系统,注意这一行显示的内容“/dev/rwd0a”,在后面的多系统启动中这个会用的着。
  /dev/rwd0d:     245952 sectors in 244 cylinders of 16 tracks, 63 sectors
          120.1MB in 1 cyl groups (244 c/g, 120.09MB/g, 15360 i/g)
  /dev/rwd0e:     164304 sectors in 163 cylinders of 16 tracks, 63 sectors
          80.2MB in 1 cyl groups (164 c/g, 80.72MB/g, 10368 i/g)
  /dev/rwd0g:     6291936 sectors in 6242 cylinders of 16 tracks, 63 sectors
          3072.2MB in 20 cyl groups (328 c/g, 161.44MB/g, 20608 i/g)
  /dev/rwd0h:     8388576 sectors in 8322 cylinders of 16 tracks, 63 sectors
          4096.0MB in 26 cyl groups (328 c/g, 161.44MB/g, 20608 i/g)
  /dev/wd0a on /mnt type ffs (rw, asynchronous, local, ctime=Thu Oct 20 00:03:14 2
  005)
  /dev/wd0h on /mnt/home type ffs (rw, asynchronous, local, nodev, nosuid, ctime=T
  hu Oct 20 00:03:14 2005)
  /dev/wd0d on /mnt/tmp type ffs (rw, asynchronous, local, nodev, nosuid, ctime=Th
  u Oct 20 00:03:15 2005)
  /dev/wd0g on /mnt/usr type ffs (rw, asynchronous, local, nodev, ctime=Thu Oct 20
   00:03:15 2005)
  /dev/wd0e on /mnt/var type ffs (rw, asynchronous, local, nodev, nosuid, ctime=Th
  u Oct 20 00:03:15 2005)

你也许会问installer为什么还要问挂载点。这个允许你从(用disklable时建立的)任何错误的或者冗余的挂载点中恢复过来。比如,安装程序会自动删除在disklable创建时输入的任何重复的挂载点。disklable允许你输入重复的挂载点,因此退出disklable后就应该再次确认它们。被删除的挂载点将使得分区没有挂载点,所以为了使用你需要指定新的挂载点。

注意"Are you really sure that you are ready to proceed?"默认为no,所以你需要特意告诉它继续且格式化你的 分区。如果选择no,你会进入一个shell,在那可以输入install或者重起计算机来重新启动安装程序。

在此,所有的分区将被格式化。可能要花一些时间,这取决你的分区大小和硬盘速度。

设置主机名(hostname)
 现在你必须设置主机名。 这里的设置和DNS域名一样被保存在文件 /etc/myname中,该文件用于在一般启动使设置好系统的主机名。如果你不设置主机名的话, 将会使用默认值"my.domain".
 设置好主机名是很重要的,因为系统在安装后首次启动时生成加密密钥的时候要使用主机名,这个通常取决于网络是否已经进行了配置。
Enter system hostname (short form, e.g. 'foo'): puffy


网络配置
现在就开始配置网络了。如果你要使用FTP或者NFS进行安装的话,就必须配置好网络,确定好你的相应信息,并回车。下面是安装程序中配置网络的整个过程:
  Configure the network? [yes] 回车
  Available interfaces are: fxp0.
  Which one do you wish to initialize? (or 'done') [fxp0] 回车
  Symbolic (host) name for fxp0? [puffy] 回车
  The default media for fxp0 is
          media: Ethernet autoselect (100baseTX full-duplex)
  Do you want to change the default media? [no] 回车
  IP address for fxp0? (or 'dhcp') 199.185.137.55
  Netmask? [255.255.255.0] 回车
  IPv6 address for fxp0? (or 'rtsol' or 'none') [none] 回车
  No more interfaces to initialize.
  DNS domain name? (e.g. 'bar.com') [my.domain] example.com
  DNS nameserver? (IP address or 'none') [none] 199.185.137.1
  Use the nameserver now? [yes] 回车
  Default route? (IP address, 'dhcp' or 'none') 199.185.137.128
  add net default: gateway 199.185.137.128
  Edit hosts with ed? [no] E回车
  Do you want to do any manual network configuration? [no] 回车

上例中我们使用的是一个静态的IP地址,在那些支持dhcp环境的平台上,你也可以使用"dhcp"来代替之。在DHCP配置中,大部分的信息将从DHCP服务器上得到,在此你也有机会对那些信息进行核实。下面就是安装过程中配置DHCP网络的例子:

  Configure the network? [yes] 回车
  Available interfaces are: fxp0.
  Which one do you wish to initialize? (or 'done') [fxp0] 回车
  Symbolic (host) name for fxp0? [puffy] 回车
  The default media for fxp0 is
          media: Ethernet autoselect (100baseTX full-duplex)
  Do you want to change the default media? [no] 回车
  IP address for fxp0? (or 'dhcp') dhcp
  Issuing hostname-associated DHCP request for fxp0.
  Sending on   Socket/fallback/fallback-net
  DHCPDISCOVER on fxp0 to 255.255.255.255 port 67 interval 1
  DHCPOFFER from 199.185.137.128
  DHCPREQUEST on fxp0 to 255.255.255.255 port 67
  DHCPACK from 199.185.137.128
  New Network Number: 199.185.137.0
  New Broadcast Address: 199.185.137.255
  bound to 199.185.137.55 -- renewal in 43200 seconds.
  Done - no available interfaces found.
  DNS domain name? (e.g. 'bar.com') [example.org] 回车
  DNS nameserver? (IP address or 'none') [199.185.137.1] 回车
  Use the nameserver now? [yes] 回车
  Default route? (IP address, 'dhcp' or 'none') [199.185.137.128] 回车
  Edit hosts with ed? [no] 回车
  Do you want to do any manual network configuration? [no] 回车

 注意:在安装时使用DHCP只能配置一个网络界面(interface).如果你想配置多个网络界面使用DHCP,将会出错。你需要在安装后手工配置其他的界面。
 现在,我们设置root用户的密码:

Password for root account? (will not echo) pAssWOrd
Password for root account? (again) pAssWOrd

你应该为root设置一个安全的密码。在系统启动后,你也要创建另外一个用户。从passwd(1)我们知道:
 新密码至少为6个字符长,并且白能全为字母。它的长度也不能大于_PASSWORD_LEN(目前为128字符长)。我们推荐大小写字母和数字以及其他符号混合使用。
这部分基本上是拷贝的

未完,待续....

[ 本帖最后由 wuyanxiao 于 2006-3-8 18:06 编辑 ]

论坛徽章:
0
17 [报告]
发表于 2006-03-09 18:11 |只看该作者
下面就该开始安装的第二部分了,这部分根据你选择的安装方式不同,提示的内容也不相同。一共有四种安装方式:cd、硬盘、http和ftp,下面分别介绍。
通过cd安装
    安装程序默认的安装方式是cd安装,所以cd安装最简单了,一路回车就可以了,若一切顺利,就能达到让你选择安装包这一步。
  Let's install the sets!
  Location of sets? (cd disk ftp http or 'done') [cd] 回车
  Available CD-ROMs are: cd0.
  Which one contains the install media? (or 'done') [cd0] 回车
  Pathname to the sets?  (or 'done') [3.8/i386] 回车


通过硬盘安装
    通过硬盘安装,我没有安装成功过,据说是应为你保存文件的硬盘分区应该为fat格式,若使用fat32就不行,因为我的机器上目前是fat32格式的分区,没有fat格式的分区,一时半会还不想大动,所以就没有试fat格式的,但是我的fat32格式试了N次都没有成功。你可以参看这里:硬盘安装OpenBSD 3.6

通过网络安装,也就是使用http或ftp方式进行安装
    http和ftp的安装方式基本相同,其提示内容也基本相同,因此,这里我们只介绍一下ftp安装方式,http方式可以依次类推,我通过网络安装时,是先把安装包下载下来,然后把安装包拷贝到自己的服务器上,通过自己的服务器安装,这个服务器具备web服务和ftp服务,所以安装包在服务器地址为:http://192.168.0.2/3.8/i386/和ftp://192.168.0.2/3.8/i386/,下面我们以此为例进行安装

  Let's install the sets!
  Location of sets? (cd disk ftp http or 'done') [cd] ftp  //若想进行http安装,就输入“http”,这里我们进行ftp安装,所以就输入“ftp”
  HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none]回车  //这句是问你是否使用了代理上网,若有,输入代理地址,若没有,默认的就是没有,直接回车就可以了。
Do you want a list of potential ftp servers? [y]回车  //问你是否列出可能的ftp地址,若果你已经知道有ftp地址或准备有ftp地址,可以输入“n”然后回车
   1 1 2 ftp://ftp.openbsd.org/pub/OpenBSD         3 Alberta, Canada
      2   ftp://ftp.openbsd.org.ar/pub/OpenBSD         Buenos Aires, Argentina
      3   ftp://mirror.aarnet.edu.au/pub/OpenBSD       Canberra, Australia
...  //列出的ftp服务器地址,1是序号,2是地址,3是服务器所在地方(国家),请尽量选择离你近的服务器。
  Server IP address, hostname, or list#? [] 192.168.0.2  //问你服务器ip或者是服务器主机名,或者上面列表中的序号。在这里你可以输入上面列表中的序号,比如说你选中了第二个:2   ftp://ftp.openbsd.org.ar/pub/OpenBSD         Buenos Aires, Argentina ,那么你可以输入“2”然后回车就可以了。
  Using ftp://192.168.0.2
  Does the server support passive mode ftp? [y]回车  //除了一些较老的ftp服务器,现在的ftp服务器基本上都支持passive mode,若在后面你的安装包不能正常找到,你可以在这里输入“n”试试。
  Server directory? [pub/OpenBSD/3.2/i386]3.8/i386  //注意这里和上面服务器地址的输入,前面和后面的“/”是不用输入的,安装程序会自动给你加上,请与前面所说的服务器地址:ftp://192.168.0.2/3.8/i386/ 做对比。
  Login? [anonymous]   //问你ftp服务器的用户名和密码,默认的是匿名登陆,若是匿名登陆,直接回车就可以了,若有用户名和密码,在这里输入用户名,回车后,会出现让你输入密码的提示



上面不管选用哪种安装方式,若进行正常,接下来就该选择安装包了

  The following sets are available. Enter a filename, 'all' to select
  all the sets, or 'done'. You may de-select a set by prepending a '-'
  to its name.

          [X] bsd
          [X] bsd.rd
          [ ] bsd.mp
          [X] base38.tgz
          [X] etc38.tgz
          [X] misc38.tgz
          [X] comp38.tgz
          [X] man38.tgz
          [X] game38.tgz
          [ ] xbase38.tgz
          [ ] xetc38.tgz
          [ ] xshare38.tgz
          [ ] xfont38.tgz
          [ ] xserv38.tgz

  File Name? (or 'done') [bsd.mp] all //若你是第一次安装,请尽量安装所有安装包,输入all是选择所有安装包,输入文件名,就会选择相应的包,输入“-”(减法号)后紧跟文件名,可以减去相应的包,使用“+”(加法号)紧跟文件名,可以添加相应的包,在文件名中可以使用通配符“*”或“?”,比如说:-x*,就会把所有x开头的包去掉。

  The following sets are available. Enter a filename, 'all' to select
  all the sets, or 'done'. You may de-select a set by prepending a '-'
  to its name.

          [X] bsd
          [X] bsd.rd
          [X] bsd.mp
          [X] base38.tgz
          [X] etc38.tgz
          [X] misc38.tgz
          [X] comp38.tgz
          [X] man38.tgz
          [X] game38.tgz
          [X] xbase38.tgz
          [X] xetc38.tgz
          [X] xshare38.tgz
          [X] xfont38.tgz
          [X] xserv38.tgz
   File Name? (or 'done') [done] 回车  //每一次选择完后都会出现“File Name? (or 'done') [?] ”中括号中的“?”会随你选择不同而是不同内容,若你确定你的选择后,可以输入“done”表示完成选择,在这里由于中括号中就是[done],所以,直接回车就可以了
  Ready to install sets? [yes] 回车 //问你是否准备好安装了,默认是“yes”是的
  Getting bsd ...
  100% |**************************************************|  5157 KB    00:08
  Getting bsd.rd ...
  100% |**************************************************|  4549 KB    00:02
  Getting bsd.mp ...
  100% |**************************************************|  5202 KB    00:03
  Getting base38.tgz ...
  100% |**************************************************| 35928 KB    00:25
  Getting etc38.tgz ...
  100% |**************************************************|  1123 KB    00:01
  Getting misc38.tgz ...
  100% |**************************************************|  2222 KB    00:01
  Getting comp38.tgz ...
  100% |**************************************************| 20522 KB    00:17
  Getting man38.tgz ...
  100% |**************************************************|  7234 KB    00:05
  Getting game38.tgz ...
  100% |**************************************************|  2538 KB    00:01
  Getting xbase38.tgz ...
  100% |**************************************************| 10225 KB    00:07
  Getting xetc38.tgz ...
  100% |**************************************************| 93384       00:00
  Getting xshare38.tgz ...
  100% |**************************************************|  1986 KB    00:02
  Getting xfont38.tgz ...
  100% |**************************************************| 32438 KB    00:23
  Getting xserv38.tgz ...
  100% |**************************************************| 18172 KB    00:14
  Location of sets? (cd disk ftp http or 'done') [done] 回车


未完,待续.....

[ 本帖最后由 wuyanxiao 于 2006-3-10 08:40 编辑 ]

论坛徽章:
0
18 [报告]
发表于 2006-03-11 11:11 |只看该作者
完成安装 
    接下来,将有一些关于系统设置的问题。首先是是否在系统启动时启动sshd。通常,你希望让sshd运行,但有时却不要。如果你的应用程序无须sshd,理论上来说,不运行sshd会更安全。

Start sshd( by default? [yes] y


    接下来问你是否在启动时启用OpenNTPD,OpenNTPD是一种使你的电脑时间精确同步的无害方式,并且其默认配置已经可以满足大部分人的使用。

  Start ntpd( by default? [no] y


 现在你会被问是否想要在系统上运行X.如果你回答'Y',将会在/etc/sysctl.conf中加入machdep.allowaperture=1 或者machdep.allowaperture=2,这取决你的系统平台。某些平台根本就不会问这些问题。

  Do you expect to run the X Window System? [yes] y


接下来问你是否想要使用serial console (串口终端),而不是使用标准的键盘和显示器,如果你回答yes并且回答几个简单的问题,/etc/boot.conf 和 /etc/ttys 就会根据你的回答做出适当的更改。对大多数用户来说,应该选择默认的no

  Change the default console to com0? [no] 回车


 最后需要设置时区。根据你的机器所处的位置,有不同的回答。本例中我们使用US/Eastern,但也使用EST5EDT或者US/Michigan也可以同样的结果。在提示符下键入?会给出所有的选项。

  Saving configuration files......done.
  Generating initial host.random file ......done.
  What timezone are you in? ('?' for list) [Canada/Mountain] ?
  Africa/      Chile/       GB-Eire      Israel       NZ-CHAT      Turkey
  America/     Cuba         GMT          Jamaica      Navajo       UCT
  Antarctica/  EET          GMT+0        Japan        PRC          US/
  Arctic/      EST          GMT-0        Kwajalein    PST8PDT      UTC
  Asia/        EST5EDT      GMT0         Libya        Pacific/     Universal
  Atlantic/    Egypt        Greenwich    MET          Poland       W-SU
  Australia/   Eire         HST          MST          Portugal     WET
  Brazil/      Etc/         Hongkong     MST7MDT      ROC          Zulu
  CET          Europe/      Iceland      Mexico/      ROK          posix/
  CST6CDT      Factory      Indian/      Mideast/     Singapore    posixrules
  Canada/      GB           Iran         NZ           SystemV/     right/
  What timezone are you in? ('?' for list) [Canada/Mountain] US  //在这里你可以直接输入“PRC”,这个代表中国。如果你输入PRC,下面的内容就不会出现了
  What sub-timezone of 'US' are you in? ('?' for list) ?
  Alaska          Central         Hawaii          Mountain        Samoa
  Aleutian        East-Indiana    Indiana-Starke  Pacific
  Arizona         Eastern         Michigan        Pacific-New
  Select a sub-timezone of 'US' ('?' for list): Eastern
  Setting local timezone to 'US/Eastern'...done.


 最后是让系统创建/dev目录(某些系统可能需要花点时间,特别是当内存很小的),并安装启动块。

  Making all device nodes...done.
  Installing boot block...
  boot: /mnt/boot
  proto: /usr/mdec/biosboot
  device: /dev/rwd0c
  /usr/mdec/biosboot: entry point 0
  proto bootblock size 512
  /mnt/boot is 3 blocks x 16384 bytes
  fs block shift 2; part offset 3069360; inode block 152, offset 4136
  using MBR partition 1: type 166 (0xa6) offset 3069360 (0x2ed5b0)
  done.

  CONGRATULATIONS! Your OpenBSD install has been successfully completed!
  To boot the new system, enter halt at the command prompt. Once the
  system has halted, reset the machine and boot from the disk.
  #


现在OpenBSD已经安装到你的系统上了,如果你的电脑上只安装有openbsd,你可以在shell提示符后输入“halt”来重新启动系统,如果你的电脑上还装有windows,并且你希望这两个系统都能够启动,请继续看下去。多重启动的方式有很多,这里我们只简单介绍一下Windows NT/2000/XP NTLDR。
Windows NT/2000/XP NTLDR
多重引导Windows NT/2000/XP,你可以使用启动NT的NTLDR.为了和NT多重引导,你需要一份OpenBSD分区引导记录(PBR)。运行完installboot后,可以使用dd(1)将其复制到某文件:
首先,你应该将你的c盘安装到openbsd文件系统中,注意,这只适用于你的c盘是fat或fat32,对于ntfs格式的不适用
1、如何知道你的c盘在openbsd中用什么表示
一般情况下,c盘在openbsd中用/dev/wd0i表示,/dev是openbsd的设备目录,wd0代表的是你的第一个ide硬盘,如果你的硬盘不是ide硬盘,那会用其他的符号代替,比如第一个scsi硬盘,用rsd0表示,i表示这个硬盘上的第i个分区,你可以在使用下面的命令来看一看你的c盘用什么表示

  #disklable wd0

第一个fstype是msdos应该就是你的c盘,disklable的使用请参看这里
2、把c盘安装到你的openbsd文件系统中

  #mount /dev/wd0i /mnt

mount命令是用来把设备安装到openbsd系统中,其具体用法可以以后慢慢了解,这个命令的意思是把/dev/wd0i 安装到/mnt目录下
3、进入c盘(/mnt)

  #cd /mnt

命令的意思是进入/mnt目录,cd这个命令不用解释了吧,和dos的一样。
为什么要进行上面3步额外的操作呢?经过这3步操作,然后运行下面的命令,就可以把产生的文件直接保存到你的c盘。
4、在官方faq中是使用下面命令来产生OpenBSD分区引导记录(PBR)的:

# dd if=/dev/rsd0a of=openbsd.pbr bs=512 count=1

dd是磁盘拷贝命令,把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。
if =输入文件(或设备名称)。
of =输出文件(或设备名称)。
bs = bytes 同时设置读/写缓冲区的字节数
count=blocks 只拷贝输入的blocks块
rsd0代表scsi硬盘在内存中的虚拟
使用ide硬盘的人输入上面的命令不会成功,因为上面的命令对准的是scsi硬盘,你应该使用/dev/rwd0a,rwd0代表在内存中虚拟的wd0硬盘,在这里,这个命令中不能直接使用你物理的硬盘分区,而应该使用在内存中虚拟的硬盘分区,一般情况下,在内存中虚拟的硬盘分区用这个分区名字前面加上“r”表示,例如:计算机中的第一个scsi硬盘用“sd0”表示,那么它在内存中虚拟的表示就是“rsd0”,同理,第一个ide硬盘在内存中虚拟的用“rwd0”表示,如果你不确定你的硬盘在内存中的虚拟用什么表示,可以看我在15楼内容中注释的那样,你可以使用你在那里看到的内容,那就是你的硬盘的openbsd的root分区在内存中的虚拟的表示,在那里你看到什么就用什么。我的机器在那里看到的是:/dev/rwd0a,所以使用下面的命令:

# dd if=/dev/rwd0a of=openbsd.pbr bs=512 count=1

5、
 现在启动NT并将openbsd.pbr放到C盘。在C:\BOOT.INI文件末尾加入如下行:

c:\openbsd.pbr="OpenBSD"


对于c盘是ntfs分区的就比较复杂了,建议你使用其他方式:
有一些工具可以帮你完成大部分这些工作。比如BootPart。此程序可以在Windows NT/2000/XP下运行,抓取OpenBSD PBR然后放到Windows NT/2000/XP分区中,并将其添加到C:\BOOT.INI中。
 OpenBSD的安装和升级程序会重装OpenBSD的boot loader。因为boot loader的位置代码在PBR,所以如果你重装或者升级安装OpenBSD。你需要重复以上的操作来得到OpenBSD PBR的新拷贝。
注意:Windows NT/2000/XP的boot loader只能从主硬盘上启动操作系统。使用它不能从你计算机的别的硬盘上启动OpenBSD!

其他的boot loader
OpenBSD用户成功使用的其他的bootloader包括GAG,OS-BS,The Ranish Partition Manager and GRUB.

到此,整个安装过程就结束了,对前面内容有不对的地方,包括我自己翻译的东西更是错误多多,请大家不要吝惜您的意见,我会根据大家的意见不停的修改,在这里我就提前先谢谢大家的热心指正了。

[ 本帖最后由 wuyanxiao 于 2006-3-13 11:57 编辑 ]

论坛徽章:
0
19 [报告]
发表于 2006-03-13 10:27 |只看该作者
这篇文章太棒了,谢谢你,看了有不少启发

论坛徽章:
0
20 [报告]
发表于 2006-04-19 23:10 |只看该作者
呵呵~~昨天搞了一个晚上~~
终于装好了BSD~~~
早点看到这文章就好了~~~
支持,继续努力~~~
opebBSD资料太少了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP