Sun Fire V100 debian GNU Linux Sarge Install Memo

出典: 有限会社クラフト 技術情報

目次

debain インストール前作業

genttooのインストーラでdiskパーティション情報を初期化する

理由

  1. 純正ディスクの場合、fdisk及びdebian純正のスライス作成ツールは、Sundiskラベルの自動作成に問題がある。そのため10.2Gまでしか認識しない。
  2. fdiskで領域確保がおかしい場合は、!!先頭に+を絶対につけること!!!!。それで直る…。
  3. 標準ディスクはd-iで領域確保すること
  4. 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しているだけなので使う意味なし。

adsense
位置情報とアクセス解析
なかのひと