その用途と予算から搭載されていなかったサウンドカードが自作 PC にやってきた。 山口氏があまっているカードをわけてくださったのだ。 あーめん。
これでもう一人前だ。
ちなみにカードは GALLANT の AUDIO ILLUSION PCI LOCAL BUS の SP401 (YAMAHA 724) モデル。
久しぶりに平日以外の秋葉原。雨が降ったりやんだり。
今日の目的は クラッシュした PCのマザーボードの購入。 雑誌等を立ち読みし、事前学習。 のち、ショップ巡りへGo.
で、Slot 1 用マザーボードだがやはり殆どない。 記憶の範囲で店頭で見かけたものは、
の3種。殆ど選択の余地なし。 P3C-E は RIMM だし、440BX はちょっと古いか。440BXももう少し安ければ買っても良いかなと思ったけど(店頭で 9,980円)。 ということで SH6 に決定。 これなら、手持ちの Pentium III と、SDRAM が使い回せる。 さすがに、ISAが無くなっており、現用しているLANカードが使えないのでこれも合わせて購入する事に。
SH6 14,800円(税別)也。あわせてPCIのLANカードとして、棚にあった corega の FEther PCI-TXS を買ってみる。
ここまでは SH6 のオンボードVGA機能で表示していたが、VRAMが少ないのか解像度を上げると色数が出ないので、今まで使っていた G200 をやはり使う事にする。
……うんBIOS起動画面が出ない。 P2B-Fの時と一緒。 あちゃ、もしかしてトラブルをおこしていたのはもしや、ビデオカードか。
BIOSでオンボードVGAをDisableにしてみるが、やはりG200は駄目。
って、オンボードVGAをDisableにしてしまったため、BIOSの設定でオンボードVGA Enable にすることもできないじゃん。 ボードのジャンパでCMOSクリアして、オンボードVGAに戻す。
で、とりあえずしばらくはオンボードVGA機能でいく事にしますか。 まぁそれにしてもSH6がVGA機能ありで良かった。 そうでなかったら、ビデオカードもすぐに買い直さなければならないから。
サウンド機能も AC'97 Digital Audio コントローラ / AC'97 Audio CODEC を内蔵しているんだけど、Line Out しかなくアンプ内蔵でないので、前から使っているカードを使用する(今、しょぼいスピーカー使っているので)。
最初リソースが衝突して PCI にさしたオーディオアダプタが有効にならなかったが BIOS で AC97 Audio / Game Port Address / Midi Port Address を Disabled にして OK(マザーボードのマニュアルにきちんと書いてあった)。
前回の続き。
bf24 ide0=0x1440,0x1436 ide1=0x1438,0x1432
ソフトウェアRAIDにするので、パーティションは4つにしておく。
cfdisk 2.11n ------------------------------------- name 入力サイズ(M) type マウント hda1 10000 83 Boot / hda2 60000 83 /home hda3 11827 83 /var hda4 (509) 82 swap -------------------------------------
NIC が ELECOM Laneed LD-10/100 AL PCI Fast Ethernet Adapter なので via-rhine を追加。
lilo は /dev/hda1 にしておいたけど、両方のディスクで起動できるようにするソフトウェアRAID1にしておくのにはこれで良かったのだろうか?
再起動後、tasksel してパッケージをインストール。 /etc/lilo.conf に
append="ide0=0x1440,0x1436 ide1=0x1438,0x1432"
を追加しておく。
cd /usr/local/src/linux tar jxvf /usr/src/kernel-source-2.4.18.tar.bz cd kernel-source-2.4.18 cp /boot/config-2.4.18-bf2.4 .config make oldconfig make menuconfig fakeroot make-kpkg clean fakeroot make-kpkg --revision=gate.1.0 kernel_image include/linux/fs.h でエラー
Debian公式 kernel-image の .config をベースにしても、いろいろ入りすぎていて結局1から設定するのとほとんど変わらないことに気がつく。 それより、コンパイルが通らん。 …… kernel-image でいっか。
まず raidtools2 をインストール。
apt-get install raidtools2
dpkg が segmentation fault。やな感じ。
cfdisk /dev/hdc
hda と同じ値を設定したのだが、サイズが違うんですけど。 hdc1, hdc1, hdc3 のタイプを fd に。
raidtab の設定。
raiddev /dev/md1 raid-level 1 nr-raid-disks 2 nr-spare-disks 0 chunk-size 4 persistent-superblock 1 device /dev/hdc1 raid-disk 0 device /dev/hda1 raid-disk 1 raiddev /dev/md2 raid-level 1 nr-raid-disks 2 nr-spare-disks 0 chunk-size 4 persistent-superblock 1 device /dev/hdc2 raid-disk 0 device /dev/hda2 raid-disk 1 raiddev /dev/md3 raid-level 1 nr-raid-disks 2 nr-spare-disks 0 chunk-size 4 persistent-superblock 1 device /dev/hdc3 raid-disk 0 device /dev/hda3 raid-disk 1
ただし、この時点で /dev/hdaX はマウント中なので、 各 「device /dev/hdaX \n raid-disk 1」はコメントアウトしておき、nr-raid-disks も 1にしておく。
mkraid /dev/md1 mkraid /dev/md2 mkraid /dev/md3 cat /proc/mdstat mkfs.ext3 /dev/md1 mkfs.ext3 /dev/md2 mkfs.ext3 /dev/md3
シングルユーザでリブート(linux single)し、hda から hdc へコピー
mkdir /mnt/raid mount /dev/md1 /mnt/raid mkdir /mnt/raid/home mkdir /mnt/raid/var mount /dev/md2 /mnt/raid/home mount /dev/md3 /mnt/raid/var cd / cp -a /bin /mnt/raid/ cp -a /boot /mnt/raid/ cp -a /cdrom /mnt/raid/ cp -a /dev /mnt/raid/ cp -a /etc /mnt/raid/ cp -a /floppy /mnt/raid/ cp -a /home /mnt/raid/ cp -a /initrd /mnt/raid/ cp -a /lib /mnt/raid/ cp -a /opt /mnt/raid/ cp -a /root /mnt/raid/ cp -a /sbin /mnt/raid/ cp -a /tmp /mnt/raid/ cp -a /usr /mnt/raid/ cp -a /var /mnt/raid/ cp -a /vmlinuz /mnt/raid/ mkdir /mnt/raid/mnt mkdir /mnt/raid/proc
hdc 側の設定。/mnt/raid/etc/fstab の /dev/hdaX を /dev/mdX に。
hda 側の起動設定。hda のローダから hdc 側を起動できるように。
echo 'other=/dev/hdc' >> /etc/lilo.cnf echo ' label=hdc' >> /etc/lilo.conf lilo
hdc 側の起動設定。ディスクの設定をとって
fdisk -ul /dev/hdc Disk /dev/hdc: 16heds, 63 sectors, 159560 cylinders ...
hda 側の lilo.conf (/mnt/raid/etc/lilo.conf.hdc)を書く。
(lilo.conf の内容。後で追記)
で lilo
lilo -C /mnt/raid/etc/lilo.conf.hdc
hdc を umount して再起動。
umount /dev/md3 umount /dev/md2 umount /dev/md1
hda での起動を確認。 hdc での起動も確認。失敗。Kernel Panic。 あそういえば、append し忘れてた。
続きはまた。
年末にうまくいかなかった「ソフトウェアRAID1なHDD2台両ブート」に再チャレンジ。 というか、既にネットワーク構成変更までに期限がないので頑張らないと。
bf24 ide0=0x1440,0x1436 ide1=0x1438,0x1432
で起動。cfdisk ではがつんと1パーティションにしてしまう(何度もパーティションを切りなおすのが嫌になったのと、やまだ君のところは1パーティションでやっているという話から)。
ドライバのところでは NIC が ELECOM Laneed LD-10/100 AL PCI Fast Ethernet Adapter なので via-rhine を追加。
後は普通に進めて再起動。
apt-get install grub raidtools2 emacs21 wget lv
でGRUB。
grub-install --root-directory=/boot /dev/hda
stage1 ファイルが grub から見えないでエラーになる場合があった。 その場合は、再起動したら成功するようになった。
update-grub
/boot/grub/menu.lst の kopt を編集
# kopt=root=/dev/hda1 ro ide0=0x1440,0x1436 ide1=0x1438,0x1432
コメントマーク(#)を残さなければならない事に最初気がつかず。
update-grub
再起動。OK。
年末に作ったRAIDを有効にしてある Linux kernel をインストール。 /etc/kernel-img.conf に
postinst_hook = /sbin/update-grub postrm_hook = /sbin/update-grub do_bootloader = no
を書いておいてから、
dpkg --install kernel-image-2.4.18_gate.1.0_i386.deb
再起動。OK。
cfdisk /dev/hdc で1パーティションに切り、タイプを fd に。 その後 /etc/raidtab を編集。
raiddev /dev/md1 raid-level 1 nr-raid-disks 2 chunk-size 64 nr-spare-disks 0 persistent-superblock 1 device /dev/hdc1 raid-disk 0 device /dev/hda1 failed-disk 1
書いたら hdc を RAID1にし、ext3 ファイルシステムを作成。
mkraid /dev/md1 mkfs.ext3 /dev/md1
シングルユーザモードで再起動し、/dev/md1 (hdc) へコピー。
cd / mount /dev/md1 /mnt cp -a /bin /mnt/ cp -a /boot /mnt/ cp -a /cdrom /mnt/ cp -a /dev /mnt/ cp -a /etc /mnt/ cp -a /floppy /mnt/ cp -a /home /mnt/ cp -a /initrd /mnt/ cp -a /lib /mnt/ cp -a /opt /mnt/ cp -a /root /mnt/ cp -a /sbin /mnt/ cp -a /tmp /mnt/ cp -a /usr /mnt/ cp -a /var /mnt/ cp -a /vmlinuz /mnt/ cp -a /vmlinuz.old /mnt/ mkdir /mnt/mnt mkdir /mnt/proc
/mnt/etc/fstab を編集し /dev/hda1 のところを /dev/md1 に。RAID1ディスクをルートパーティションにする。 書き換えたら
/umount /mnt
し、再起動。
kernel /boot/vmlinuz-2.4.18 root=/dev/md1 ro ide0...
で起動できる事を確認。
/boot/grub/menu.lst を編集。kopt を
# kopt=root=/dev/md1 ro ide0=0x1440,0x1436 ide1=0x1438,0x1432
に書き換え、update-grub。
grub-install で hda から起動できるように先にしてあるが、次に hdc 側からも起動できるように。 この段階では grub-install だとエラーになるので、grub で直接。
grub grub> device (hd0) /dev/hdc grub> root (hd0,0) grub> install /boot/grub/stage1 d (hd0) /boot/grub/stage2 0x8000 (hd0,0)/boot/grub/menu.lst grub> quit
という構成になっているので hda 側のケーブルを抜き、hdc だけ接続した状態で起動してみる。OK。
両方のHDDを接続してroot=dev/md1 で再起動。 cfdisk /dev/hda し、1パーティション・type fd に。
/etc/raidtab を編集。 /dev/hda1 を failed-disk から raid-disk にする。 で、
raidhotadd /dev/md1 /dev/hda1 md: trying to hot-add to md1 ... md1: disk size 80413248 blocks < array size 80418112 /dev/md1: can not hot-add disk: too small disk!
あれ? cfdisk で確認。
/dev/hdc 16 Heads, 63 Sectors, 159560 Cylinders 82348277760 bytes /hdc1 82348.28MB /dev/hda 255 Heads, 63 Sectors, 10011 Cylinders 82348277760 bytes /hda1 82343.28MB
おーまいがー。一緒に買ったディスクなのだが、パーティションを切ると5MB違う。
さて。 hda を /dev/md2 にして /dev/md1 -> /dev/md2 してから再度、hdc を /md2 にして... というのも思い浮かんだのだが、やっぱりあきらめて最初からやりなおす。 hda と hdc のケーブルを入れ換えて hdc 側に(ほんのちょっと)小さいディスクを配置。
で最初から、やりなおして次のセクションへ。
両方のHDDを接続してroot=dev/md1 で再起動。 cfdisk /dev/hda し、1パーティション・type fd に。
/etc/raidtab を編集。 /dev/hda1 を failed-disk から raid-disk にする。 で、
raidhotadd /dev/md1 /dev/hda1
リカバリが始まる。
lv /proc/mdstat
ちゃんとリカバリしている模様。年末にやった時は一瞬で終わってしまったのだが、あれ本当にリカバリしていたのかなぁ。今回はじめて recovery している様子が見れた。一安心。 560min ほどかかる予定。
RAID1上だと遅いんだろうな。メモリ512MBなので、一応作っておく。
dd if=/dev/zero of=/var/swap bs=1024 count=524288 mkswap /var/swap swapon /var/swap lv /proc/swaps emacs /etc/fstab /var/swap none swap exec,dev,suid,rw,sw 0 0
RAIDのリカバリが時間がかかるので、hda 側でブート設定は明日にもちこし。 他の設定をちゃっちゃか始める。
hda 側でのブート設定。
grub grub> device (hd0) /dev/hda grub> root (hd0,0) grub> install /boot/grub/stage1 d (hd0) /boot/grub/stage2 0x8000 (hd0,0)/boot/grub/menu.lst grub> quit
で両方のHDDでブートできることと、データが複製されている事の確認をする事。
ThinkPad X31 で tpctl を使ってみるために thinkpad-modules を入れる。 ついでに Linux kernel も 2.4.25 から 2.4.26 に上げておく。
2.4.26 から IBM PCI Hotplug driver (CONFIG_HOTPLUG_PCI_IBM) が追加されたようだ。 ThinkPad には関係あるのか? 以前から hotplug が不安定だった(今日はいつになく不調でフリーズまでしたし。Caps Lock ランプが点滅してた。)ので、有効にしておいてみた。
do_symlinks = Yes postinst_hook = /sbin/update-grub postrm_hook = /sbin/update-grub do_bootloader = no
一緒に入れるモジュール
pcmcia-cs は使わず、kernel のものを使用。
$su #apt-get build-dep kernel-source-2.4.26 shfs-source thinkpad-source #apt-get install kernel-source-2.4.26 #apt-get install shfs-source shfs-utils #apt-get install thinkpad-source tpctl #exit $mkdir -p /usr/local/src/linux $cd /usr/local/src/linux $tar jxvf /usr/src/kernel-source-2.4.26.tar.bz2 $tar jxvf /usr/src/shfs.tar.bz2 $tar zxvf /usr/src/thinkpad.tar.gz $cd kernel-source-2.4.26 $make menuconfig $make-kpkg clean $MODULE_LOC=/usr/local/src/linux/modules \ fakeroot make-kpkg --revision=sebastian.1.0 \ kernel_image modules_image $cd .. $su #dpkg -i kernel-image-2.4.26_sebastian.1.0_i386.deb #dpkg -i shfs-module-2.4.26_0.33-3+sebastian.1.0_i386.deb #dpkg -i thinkpad-modules-2.4.26_5.1-1+sebastian.1.0_i386.deb
リブート後、MADWIFIドライバを作り直すのでリブートの前に cvs から checkout だけ済ませておく。
リブート。
mkdir -p /usr/local/src/sf cd /usr/local/src/sf cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi cd madwifi make su make install modprobe -a ath_pci lsmod dmsg
ifup ath0 したらエラー
socket: Protocol not available - make sure CONFIG_PACKET and CONFIG_FILTER are defined in your kernel configuration!
2.4.25 の設定を見ながら 2.4.26 を設定した際、CONFIG_FILTER 有効にし忘れていた。 kernel ビルドからやりなおし。
[ Debian GNU/Linux ]
朝、Windows (ThinkPad X31 + AirStation WLI-PCM-L11GP)からもRTW65bに接続できない事を確認。 駄目元で RTW65b に挿さっている無線 LAN 用 PC カードを抜いて余っているもう一枚の WLI-PCM-L11GP を挿すもやっぱり駄目(必要なドライバが違うからやっぱり駄目か)。
うーんアクセスポイントを別途調達するしかないなぁ。 だとすると次はIEEE 802.11gにするか。 そうすると妻のThinkPad X31には前から検討していた Mini-PCI のワイヤレス LAN カード(31P9702)も買って挿さねばならんな。 突然の出費か。
週末まではしばらく有線生活。
ということで夜、帰宅してからケーブルと10BASEのハブを出してきて有線 LAN 環境を仮設。
接続。
うーん、滅茶苦茶パケットロスするな。
…思い出した。X31内蔵のNICとこのHUBは相性が悪いんだった。
しょうがないのでルータ直結。
やっぱアクセスポイントはハブ機能付きにしておくか。
不調になった無線 LAN を早く復旧しておきたい。 ということで会社帰りにヨドバシカメラへ行ってアクセスポイントを購入。 ここ最近周辺機器とか買ってなくて「何か買いたい物ないかなぁ」なんて事を考えていたのだが、今回はあまりトキメかない物を買うハメになってしまった。
選んだのはBUFFALOのブリッジモデルアクセスポイント AirStation WLA2-G54。 ルータ無し・ハブ付き IEEE 802.11g だとそれほど選択肢がない。 最近はルータ機能のついているのが主流なのか。 丸っこいデザインがダサいが我慢。
紙のマニュアルはペラッペラのが一枚。あとは注意書きの紙が数枚。 それ以外はCD-ROMに。 CD-ROM の中を見るのも面倒なので、紙のマニュアルだけでいってみる。 分かっていない人に分かり易く書こうとしてあるので、分かっている人には分かりにくい説明。
AOSSは最初から使わない。 暗号化方式は手持ちの機器・ドライバがどこまで対応できるのかわからないので、まずはWEPにしておく。
現行で使っている構成から ESSID をアクセスポイントの初期設定値へ変更。 最初のテストなので一旦キー無しにし、接続できる事を確認。
DHCPがうまくとれない。なぜ?
しかたないので CD-ROM ドライブのついている Windows 98 を起動。 付属CD-ROMをさして、エアステーション設定をしてみる。
えーと LAN 側 IP アドレスは 192.168.11.100 か (後でペラペラマニュアルを見直したら一応ちゃんと書いてあった)。
Web ブラウザから最終的に以下を設定
接続成功。 そういえば今まで WEP のキー無しで接続が成功したことなかったっけか。 今度設定方法を確認しておかねば。
ThinkPad X31 2672-BJ9 に 31P9702 を増設。 以前にインストールしたクライアントマネージャーは削除して Windows (+ IBM 同梱ソフト?)の機能を使うように戻しておく。
とりあえず場所を決めて設置。
片付け等をして結局2時間半以上かかってしまった。
妻の使っている ThinkPad X31 は 2672-BJ9 で LAN機能無し。 もともと ThinkPad X31 はどのモデルもアンテナを内蔵していて Mini-PCI のカードを増設できるようになっている。
今まではPCカード(WLI-PCM-L11GP)を使っていたのだが、アンテナ部分のでっぱりが邪魔。 今回IEEE 802.11g化するのを機に、いつかは買おうと思っていた 31P9702 を買うことに。
ヨドバシカメラに店頭在庫があったので、そちらへ買いにいった。
ThinkPad の説明書には増設方法が書いていない。 カードの説明書にも増設方法が書いていない。 付属CD-ROMに入っているマニュアルを見ると、「ThinkPad のオンラインマニュアル」に書いてあるとのこと。 Windows を消してあると参照できないねぇ。
指示通りオンラインマニュアルを参照すると、増設方法が書いてあった。 英語キーボード(08K5073)に交換した時と同様、キーボードを外したところに増設するようになっている。 増設方法を暗記(増設中は当然電源を落とすので参照できない)。
で増設。アンテナケーブルを2本つないで、メモリを増設する時のように差し込み固定。
で起動すると自動的にドライバが入ってすぐ使えるようになる。 素晴しい。
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。
#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。 それとは別に nNote にもちょっとしたノートがあります。
※内容は個人的見解であり所属組織とは関係ありません。