Minix/X68kをインストールした時の記録です。
参照回数[]
- ハードウェア環境
- 機種 X68000 ACE HD(内蔵SCSI HD(1GB ID=0) -- NetBSD/X68k用(内蔵 SASI HD 20Mは廃棄))
- 外付けSASI HD(40MB) -- Human68k用
- 外付けSCSI HD(2GB,ID=1) -- Minix/X68k用
- MEMORY 12M
- Minix/X68kの用意
-
bootscsi.img.Z
-
root.img.Z
-
usr1.img.Z
-
usr2.img.Z
-
ksrc.img.Z
-
ack.img.Z
上記のファイルを Linux 上の uncompress で圧縮を解き、
fdformat /dev/fd1h1200 でフォーマット(Human68kでのformat /5に相当)
したフロッピーに、 dd でコピーした。
- 手順
- パーティション設定
HUMAN上のFORMATコマンドで以下のように設定。後々、インストール課程で
パーティションは削除&再設定を行うが、このFORMAT作業でHDの先頭に
「X68000 HARD DISK IPL MENU」プログラムが書き込まれる(たぶん...)。
- bootimage1 1M -- /dev/sd11 通常時のbootカーネル
- bootimage2 1M -- /dev/sd12 緊急時のbootカーネル
- root 64M -- /dev/sd13
- usr 64M -- /dev/sd14
- Hard disk に root,usr1,usr2 をコピーする
- フロッピーベースでMinix起動
- 起動時のusrマウント要求にはusr1をマウントする
- rootのパスワードはGeheim
- SCSI ID=1用に/dev/sdxxを作成する
- mknod /dev/sd10 b 7 16 0 (<-- SCSI ID=1のハードディスク全体)
- mknod /dev/sd11 b 7 17 0 (<-- SCSI ID=1の第1パーティション)
- mknod /dev/sd12 b 7 18 0 (<-- SCSI ID=1の第2パーティション)
- mknod /dev/sd13 b 7 19 0 (<-- SCSI ID=1の第3パーティション)
- mknod /dev/sd14 b 7 20 0 (<-- SCSI ID=1の第4パーティション)
- rootフロッピー上にも、SCSI ID=1用に/dev/sdxxを作成する
- mkdir /fd1
- mount /dev/fd1 /fd1 -- rootフロッピーをマウント
- mknod /fd1/dev/sd10 b 7 16 0
- mknod /fd1/dev/sd11 b 7 17 0
- mknod /fd1/dev/sd12 b 7 18 0
- mknod /fd1/dev/sd13 b 7 19 0
- mknod /fd1/dev/sd14 b 7 20 0
- パーティションを再作成する(HD IPL MENUの表示をMinixにする為)
- xscsi -r 1/1 (<-- 第1パーティション削除)
- xscsi -r 1/2 (<-- 第2パーティション削除)
- xscsi -r 1/3 (<-- 第3パーティション削除)
- xscsi -r 1/4 (<-- 第4パーティション削除)
- xscsi -a 1/1 1024 (<-- 第1パーティション追加)
- xscsi -a 1/2 1024 (<-- 第2パーティション追加)
- xscsi -a 1/3 65536 (<-- 第3パーティション追加)
- xscsi -a 1/4 65536 (<-- 第4パーティション追加)
- /dev/sd13 にrootフロッピーをコピー
- mkfs /dev/sd13 65535 (MINIX-FS ver1.0の最大ブロック数の制限で65535KB以上のファイルシステムは構築できないとの事です)
- mkdir /mnt
- mount /dev/sd13 /mnt
- cpdir -msv /fd1 /mnt
- sync;sync;sync
- umount /dev/fd1
- umount /dev/sd13
- /dev/sd14 にusr1,usr2フロッピーをコピー
- mkfs /dev/sd14 65535
- mount /dev/sd14 /mnt
- cpdir -msv /usr /mnt
- sync;sync;sync
- mount /dev/fd1 /fd1 -- usr2フロッピーをマウント
- cpdir -msv /fd1 /mnt
- sync;sync;sync
- umount /dev/fd1
- umount /dev/sd14
- rootフロッピーの /etc/rc をHard disk(usr)マウント対応に修正
- mount /dev/fd1 /fd1 -- rootフロッピーをマウント
- cp /fd1/etc/rc.hd /fd1/etc/rc
- elvis /fd1/etc/rc で `/etc/mount /dev/hd6 /usr' を
`/etc/mount /dev/sd14 /usr' に修正
- sync;sync;sync
- umount /dev/fd1
- 修正したrootフロッピーを使ってMinix再起動(/usrには
/dev/sd14がマウントされる)
- カーネルのコンパイル
- カーネルソースの展開
- mkdir /fd1
- mount /dev/fd1 /fd1 -- ksrcフロッピーをマウント
- cpdir -msv /fd1 /usr
- sync;sync;sync
- umount /dev/fd1
- C compilerの展開
- mount /dev/fd1 /fd1 -- ackフロッピーをマウント
- cpdir -msv /fd1 /usr
- sync;sync;sync
- umount /dev/fd1
- ヘッダーファイルの修正(rootパーティションの指定)
elvis /usr/include/minix/boot.h で
`#define DROOTDEV (DEV_FD0 + 0)' を
`#define DROOTDEV (DEV_SD0 + (1 * 16) + 3)' に修正(「1」はSCSI ID、「3」はパーティション番号)
- コンパイル&ブートパーティション書き込み
- cd /usr/src/fs
- make clean;make
- cd /usr/src/mm
- make clean;make
- cd /usr/src/kernel
- elvis Makefile
`BOOTVOL = 1/1' に修正
`WINI = wini' 以降の空白を含めてコメント行を削除
`WINI2 = x6scsi' 以降の空白を含めてコメント行を削除
- make clean;make sd -- ここで boot が /dev/sd11 に書きこまれる。
- dd if=/dev/sd11 of=/dev/sd12 -- 第2パーティションにもコピーしておく
- Hard disk ブート対応に /etc/rc を修正
- mkdir /mnt
- mount /dev/sd13 /mnt
- cp /mnt/etc/rc.hd /mnt/etc/rc
- elvis /mnt/etc/rc で
- `/bin/rm /bin/printroot' を `#/bin/rm
/bin/printroot' に修正
- `/etc/mount /dev/hd6 /usr' を `/etc/mount /dev/sd14
/usr' に修正
- sync;sync;sync
- umount /dev/sd13
- BM(freeのブートメニュー)で bootパーティションを選択し再起動
&動作確認
Return
introduction of kyoto internet people
[更新]