[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[pbsd-mg2] Re: ATA boot disk



鈴木(康)です。
<3791D8C514A.D6D6NOGUCHI@npost1.netspace.or.jp>の記事において
noguchi@npost1.netspace.or.jpさんは書きました。

とても人に勧められないんですが、私の手順を紹介しますね。

  | On Fri, 16 Jul 1999 05:43:28 +0900
  | Yukihiro Hayashi <yuki@is.titech.ac.jp> wrote:
  | 
  | > ところで、MC-R500で、PC-Card 上の ffs を root に mount させようと
  | > 試しているのですが、未だにうまく行きません。
  | 
  | 私も同じような状況でひっかかってます.
  | 
  | 
  | On Fri, 16 Jul 1999 19:31:54 +0900
  | takemura@sm.sony.co.jp wrote:
  | 
  | > もしそうだとしたら、FreeBSD は wd0a などという指定方法の他に、
  | > wd0s1a というようにpartition 番号でもパーティションを指定できるため、
  | > partition ID を 169 にすれば両方からアクセスできます。
  | 
  | とのことでしたので,
  | 
  |   1. 30MバイトのCF ATAを,
  |        slice #1: DOS      4MB
  |        slice #2: FreeBSD 26MB
  |      と分割し,FreeBSD側は
  |        partition a (root filesystem):  20MB
  |        partition b (swap)           :   6MB
  |      とする.
  |      (ここまで,コマンドを分かってないので,/stand/sysinstallでやっている)

1) fdisk -i wd2

パーティションを切るときに、シリンダ単位で切るようにする。

cylinders=500 heads=8 sectors/track=16 (128 blks/cyl)

このジオメトリで設定しよとしたときに、
例えば、80 シリンダを DOS に割り当てようと思ったら次のようにする。

Supply a decimal value for "sysid (165=FreeBSD)" [0] 6
Supply a decimal value for "start" [0] 16
Supply a decimal value for "size" [0] 10224
Explicitly specify beg/end address ? [n] 

# start は、sectors/track の値
# size は、全セクタ - start (80*16*8 - 16)

残りを FreeBSD に割り当てる。

sysid 165,(FreeBSD/NetBSD/386BSD)
    start 10240, size 53760 (26 Meg), flag 0
        beg: cyl 80/ sector 1/ head 0;
        end: cyl 499/ sector 16/ head 7

Supply a decimal value for "sysid (165=FreeBSD)" [0] 165
Supply a decimal value for "start" [0] 10240
Supply a decimal value for "size" [0] 53760
Explicitly specify beg/end address ? [n] 

# start,size は、シリンダ境界にする。
# start = 80*8*16
# size = 420 * 8 * 16

active パーティションをちゃんと 1 に設定しておく。

Do you want to change the active partition? [n] y
Supply a decimal value for "active partition" [4] 1

2) DOS パーティションの初期化

dd を使って dos パーティションを壊しておく。

dd if=/dev/zero of=/dev/rwd2s1 count=100

後で、dos でフォーマット。

3) disklabel


/etc/disktab に次のようにエントリを書く。

CF32|CF 32M for MG2 :\
        :ty=removable:se#512:nc#420:nt#8:ns#16:\
        :pa#45564:oa#0:ba#4096:fa#512:ta=4.2BSD:\
        :pb#8196:ob#45564:tb=swap: \
        :pc#53760:oc#0:

#  #nc は、FreeBSD に割り当てた シリンダ数をいれる。
#  パーティションの区切りは、シリンダ単位

disklabel -B -r -w wd2 CF32
disklabel -B -r -w wd2 CF32

2回ぐらい disklabel する。( 意味はないと思うけれど、失敗したことが
あるので..やってます)


disklabel -r wd2

でちゃんと書かれていることを確認。

たとえば、disklabel -r wd2s2 と違う位置に disklabel が書かれるような
気がしています。( NetBSD ではここが引っかかる?)

普通に newfs した後は OK ですね。

  |   2. suzukiさんのminiファイルシステムをroot filesystemに展開
  |   3. fdiskコマンドでslice #2のslice IDを165 --> 169に変更


--
					鈴木 康司 @NEC
					suz@hpc.bs1.fc.nec.co.jp
					TEL 0423-33-5381