Sun Fire V100 debian GNU Linux Sarge Install Memo
出典: 有限会社クラフト 技術情報
目次 |
debain インストール前作業
genttooのインストーラでdiskパーティション情報を初期化する
理由
- 純正ディスクの場合、fdisk及びdebian純正のスライス作成ツールは、Sundiskラベルの自動作成に問題がある。そのため10.2Gまでしか認識しない。
- fdiskで領域確保がおかしい場合は、!!先頭に+を絶対につけること!!!!。それで直る…。
- 標準ディスクはd-iで領域確保すること
- d-iではRAIDは作成できない。純正ディスクでdebian fdiskだとまともにパーティションが作成できないので、ここですべて確定しておくこと(Soft RAID時に困るので)
スライス設定
Gentooのinstall cdの[Get Gentoo!][Gentoo 2005.1 Minimal install CD ][sparc64]をダウンロードする install cdから起動する
boot boot: gentoo-2.4
しばらくはNICのワーニングが表示されるが、1分程度でワーニングが表示されなくなる。その後 dmfeをunloadする。
modprobe -r dmfe
/dev/hdaの初期化とスライス設定
fdisk /dev/hda s 0 (custom) 16 (heads) 63 (sectors/track) 65533 (Cylinders) <--- ディフォルトから変更 2 (Alternate cylinders) 65535 (Physical cylinders) <--- ディフォルトから変更 10000 (rpm) <--- ディフォルトから変更 1 (interleave factor) 0 (extra sectoer) w
再起動する
reboot
debain インストール
準備
- nicケーブルはnic1に挿す(os上ではeth0になるので)
- d-i sparc 2.6のinstall cdをダウンロードする。
- CD-ROM sarge mini.iso 2.6を使用すること。
- sarge mini.iso 2.4はrmmodがないのでつかえない
- netinstはCD-ROMが使えない
ディフォルトの起動をcdromブートに切り替える
ok printenv boot-deviceok setenv boot-device = cdrom
OSインストール
再起動(電源を一度切る)こうしないとまともにインストーラが動かない
boot: なにも入力しないでEnter
OSインストール
Choose language English(日本語はつかえない) Choose ContoryOtherAjapan Choose languageUnited States Confiture the networketh0 Davicom Semiconductor Inceth1 Davicom Semiconductor Inc <Go Back> <--- この画面で必ずshellに出ること
Excute a shell<continue> Excute a shell modprobe -r dmfe modprobe tulip options=13,13 full_duplex=0,0 <-- 2ポートとも100BASE-T(half)固定 lsmodtulip <-- 表示されればOK(dmfeが表示されずにtulipだけあればOK)
ここで一度LANケーブルを抜き差ししてHubをhalfにする
exit
Configure the network Configure the networketh0: Davicom Semiconducor Configure the networkIP Address ***.***.***.*** netmask ***.***.***.*** Gateway ***.***.***.*** Name server ***.***.***.*** Configure the networkhostname: **** Choose a mirror of the Debian archive Japan ftp2.jp.debian.org Patition disksgo backexcute a shell Manually edit pattion table
初期化(Erase entire disk)はここでは絶対にしないこと。ここで初期化するとfdiskが自動設定になり、容量が10.2GBでしかパーティションが確保できなくなる。
事前にgentooのfdiskで手動設定する
IDE1 feespaceを選択
create a new patiton
39.0GB -> 10.2GBしか定義できない場合は、事前にgentooのfdiskで手動設定すること
BeginningUse as: Ext3 journaling file system
Bootable flag: ON -> 必ずDone setting up the partition
IDE1 feespaceを選択
create a new patitonmount point /
1.0GB -> 1.0GBと空白等いれないで入力すること
Use as: swap areaDone
setting up the partition
IDE2 feespaceを選択
create a new patiton
39.0GB -> 10.2GBしか定義できない場合は、事前にgentooのfdiskで手動設定すること
mount point /z2
BeginningUse as: Ext3 journaling file system
Bootable flag: ON -> 必ずDone setting up the partition
IDE2 freespaceを選択
create a new patitonmount point /
1.0GB -> 1.0GBと空白等いれないで入力すること
Use as: swap areaDone setting up the partition
このエリアはRAID時はswapになるが、
2つswapをここでつくるとおかしくなるのでz3にしている
Finish partitioning and write changes to diskwrite the changes to disk? <yes><continue>
<go back>
<Patition disks>
<install the base system>
install the base systemkernel-image-2.6-sparc64
Finish the installation
<go back><silo install>
silo install
Finish the installation
<go back><Excute a shell>
NIC driver設定
cd /target nano /target/etc/hotplug/blacklist dmfe <-- 最終行に追加 nano /target/etc/discover.conf skip dmfe <--最終行に2行追加 skip dmfe <--最終行に2行追加 nano /target/etc/modules tulip options=13,13 full_duplex=0,0 <-- tulipを使うので追加(100BASEhalf固定)
一度ケーブルを抜いてhub側もhalfにすること
hdにlilo installブート情報を設定
mount /dev/sda1 /boot/ cat /boot/silo.conf partition = 1 root = /dev/md1 timeout = 20 image = /kernel-2.4.28-sparc label = linux append="md=1,/dev/sda1,/dev/sdc1" /sbin/silo -C /boot/silo.conf umount /boot mount /dev/sdb1 /boot/ /sbin/silo -C /boot/silo.conf umount /boot <finish install>
ディフォルトの起動をdisk0ブートに切り替える
poweroff lom> poweron
send breakする
ok printenv boot-deviceok setenv boot-device = disk0
ディスクミラー(Soft RAID 1)設定
ミラーするディスクのパーティション作成(片方の何もしていないディスクのパーティション作成) 理由
- 標準ディスクでsparcのfdiskだとまともにパーティションが作成できないので、d-iのインストーラで作成すること。方法はインストール手順を参照
mdadmインストール
apt-get install mdadm Do you want to start the RAID devices automactically?<Yes> Do you want to start the RAID monitor daemon ?<Yes> Recipient for daemon email notificatinhs:root
raid設定
フルリストアから復旧した場合は、一度RAIDを停止すること
mdadm --stop /dev/md1 mdadm --stop /dev/md2
未使用のhdcをraidパーティションに設定する
fdisk /dev/hdc t 1 fd <-- raidパーティションに t 2 fd <-- raidパーティションに w
未使用のhdcにraidを適応する
mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/hdc1 Continue creating array? Y level 1: ミラー raid-devices: raid-devicesの台数 missing: まだhdaのパーティションがないので必ず指定する mdadm --create /dev/md2 --level=1 --raid-devices=2 missing /dev/hdc2 Continue creating array? Y
状態確認
cat /proc/mdstatmd1 : active raid1 hdc1[1] 124928 blocks [2/1] [_U] md2 : active raid1 hdc2[1] 999872 blocks [2/1] [_U] unused devices: <none>
ファイルシステム作成
mkfs.ext3 -b 2048 /dev/md1
swap作成
mkswap /dev/md2
設定ファイル作成
vi /etc/mdadm/mdadm.conf DEVICE /dev/hda* /dev/hdc* --> 1行目をこれに変更する mdadm --detail --scan >> /etc/mdadm/mdadm.conf --> md情報を設定ファイルに追記する vi /etc/fstab /dev/hda1,/dev/hda2 をそれぞれ /dev/md1,/dev/md2 に変更する vi /etc/mkinitrd/mkinitrd.conf MODULES=most DELAY=5 ROOT=/dev/md1 vi /etc/mkinitrd/modules md --> 追加する raid1 --> 追加する この2つがないと、rootパーティションのミラーが再起動毎に毎回解除される。 mkinitrd -o /boot/initrd.img vi /boot/silo.conf root=/dev/md1 --> /パーティションの位置(md1)に変更 partition=1 -->vmlinuzがある/bootディレクトリがあるパーティションの位置 default=Linux read-only timeout=100 append="md=1,/dev/hda1,/dev/hdc1" --> rootマウント先(md1)がどのドライブか指定する(行追加) image=1/boot/vmlinuz --> vmlinuzがある/bootディレクトリがあるパーティションの位置(1を追加) label=Linuxinitrd=/boot/initrd.imgimage=1/boot/vmlinuz.old label=LinuxOLDinitrd=/boot/initrd.img.old
silo -f -C /boot/silo.conf /boot/silo.conf appears to be valid (参考)/boot(第一スライス) , /(第二スライス)に分けていた場合 vi /boot/silo.conf append="md=2,/dev/hda2,/dev/hdc2" image=1/vmlinuz
raidへのファイルコピー
init 1 mount /dev/md1 /mnt cd / for i in `ls | egrep -v 'mnt|proc|sys'`; do cp -aux $i /mnt; done mkdir /mnt/mnt mkdir /mnt/proc mkdir /mnt/sys umount /mnt
再起動(必ずDisk2のvmlinuzから行うこと!!)
sync Send+Break
OK boot disk2
通常は自動起動するはずだが以下は起動しない場合の手順
boot: /pci@1f,0/ide@d/disk@2,0;1/boot/vmlinuz root=/dev/md1 initrd=/boot/initrd.img
hdaをraidパーティションに設定する
fdisk /dev/hda t 1 fd <-- raidパーティションに t 2 fd <-- raidパーティションに w
hdaをraidに組み込む
mdadm --add /dev/md1 /dev/hda1 mdadm --add /dev/md2 /dev/hda2
状況確認(同期完了まで待つ)
cat /proc/mdstat
同期完了後に最終的な設定ファイル作成をする
vi /etc/mdadm/mdadm.conf DEVICE /dev/hda* /dev/hdc* --> 1行目だけ残して2行目移行は消す mdadm --detail --scan >> /etc/mdadm/mdadm.conf --> md情報を設定ファイルに追記する
mkinitrd再実行
vi /etc/mkinitrd/modules
md --> 追加する
raid1 --> 追加する
この2つがないと、rootパーティションのミラーが再起動毎に毎回解除される。
mkinitrd -o /boot/initrd.img --> この作業をしないとrootがミラーされない場合がある
silo再実行
silo -f -C /boot/silo.conf
再起動
reboot
もし起動しなくなったら
disk0から起動
boot: /pci@1f,0/ide@d/disk@0,0;1/vmlinuz root=/dev/md1 initrd=/boot/initrd.img
disk2から起動
boot: /pci@1f,0/ide@d/disk@2,0;1/vmlinuz root=/dev/md1 initrd=/boot/initrd.img
で起動するが、完治させたい場合は以下の手順を踏むこと。
gentoo install cdで起動する
boot: cdrom
mkdir /tmp/a mount -t ext3 /dev/hda1 /tmp/a --> hda1に書き込み chroot /tmp/a su - mount -t proc none /proc silo -f -C /boot/silo.conf exit# exit umount /tmp/a mount -t ext3 /dev/hdc1 /tmp/a --> hdc1に書き込み chroot /tmp/a su - mount -t proc none /proc silo -f -C /boot/silo.conf exit exit reboot
参考情報
ディフォルトの起動をcdromブートに切り替える
ok printenv boot-device ok setenv boot-device = cdrom
ディフォルトの起動をdisk0ブートに切り替える
ok printenv boot-device ok setenv boot-device = disk0
obp(ファームウエア)バージョン確認とバージョンアップ
ok .version Firmware CORE Release 1.0.18 created 2002/5/23 18:22Release 4.0 Version 18 created 2002/05/23 18:22cPOST version 1.0.18 created 2002/5/23CORE 1.0.18 2002/05/23 18:22
インストールしてあったsolarisから起動
ok disk0
cdromをマウントしてファームウエアをバージョンアップ
volcheck mount -r -F hsfs -o ro /dev/dsk/c0t3d0s0 /cdrom cd /tmp# cp /cdrom/cdrom0/111952-03/Update.to.flapjack_lite.4.0.18\@OS . chmod +x Update.to.flapjack_lite.4.0.18@OS# ./Update.to.flapjack_lite.4.0.18@OS
obp(ファームウエア)自己診断解除
send break信号で落とす
ok setenv diag-switch? false
Sun Fire V100 注意点
- 電源投入時(俗に言うOK画面)には、OS起動完了後、一度ケーブルを抜いて、HubをHalfに落とすこと(Hub側の一番下のランプがオレンジ(half)になっている) (再起動時は問題なし)
- NICの不具合で動作がおかしくなり、いきなりNICだけ落ちる場合がある。その場合、tulipでオプションを13を指定しているか確認すること
modprobe -r dmfe modprobe tulip options=13,13 full_duplex=0,0
- Hub側の一番下のランプがオレンジ(half)になっていることを確認する。ちなみにfullはまともに動かないまた以下のようなメッセージがdmegに表示されていた場合は、fullの状態である。
NETDEV WATCHDOG: eth0: transmit timed out eth0: 21140 transmit timed out, status fc540000, SIA ffffff5a 00000000 00000000 00000000, resetting...
- nicケーブルはnic1に挿すこと(os上ではeth0になるので)
- siloでNo config file loadedと表示されるが、気にしないこと?
- ブート時に以下のような内容が表示される。
No config file loaded, you can boot just from this command lineType [prompath;]part/path_to_image parameters] on the prompt E.g. /iommu/sbus/espdma/esp/sd@3,0;4/vmlinux root=/dev/sda4 or 2/vmlinux.live (to load vmlinux.live from 2nd partition of boot disk)
- 古いsparcだとsiloは1G以下でしか/boot/silo.confを見つけられないらしいが、v100/netra t1などは問題ないと思うため、以下の手順で直る。
disk0/第1スライスの/bootディレクトリのvmliuzから起動する
boot: /pci@1f,0/ide@d/disk@0,0;1/boot/vmlinuz root=/dev/md1initrd=/boot/initrd.img
起動後にsiloに/boot/silo.confを読むようにsiloに教える。
silo -f -C /boot/silo.conf
-f : ブートセクタ書き込み(このエラー時には、siloはインストール済みだが念のため)
-C /boot/silo.conf : /boot/silo.conf を読むようにsiloに教える。
-C /boot/silo.confがないと、ディフォルトが/etc/silo.confになるようでsiloのfirstBootプログラムが発見できずに止まってしまう…。 ちなみに、siloconfigというプログラムがあるが、これは単にsilo -fしているだけなので使う意味なし。
