玄箱HGのdebian化

ホームストレージとして使われていた玄箱HGがメインサーバの入れ替えに伴って使えなくなっていたが、やっと時間ができたので復活。
当初80GByteでデフォルトのまま適当に使っていたが、いろいろと企んでいた事をそろそろ決行すんべと、Debian化。
フラッシュメモリも入れ替えようかと思っていたのだが、シリアルもJTAGも製作が面倒なので、ふつーのDebian化で妥協。
作業は90Hさんところの記録を参考に(というかそのまま)行った。

HDD換装

当初の稼動から1年くらい経過して埃をだいぶ吸い込んでいるので完全分解。やっばり潮風の影響かUSBコネクタは錆の予感。インジケータが黄ばんでいる感じだったのでイソプロピルアルコールで清浄。HDDは250GByteのものに交換。HGSTだったかな。

Debianイメージの確保

Genbako kernel collectionから取得したイメージがどうも壊れているっぽくて(MD5が違う)こっちの環境の問題かもしれないけど、ミラーサイトから取得しなおし。

EMモードでの玄箱HG起動

電源を入れ、Powerが点灯に変わるのを待ってから、付属CD-ROMのファームウェアアップデータを起動。正常にEMモードで、DHCPを参照して、まともなIPアドレスで起動できている事を確認。
何も考えずにHDDを交換してしまったが、無事EMモードで起動できていて良かった。

ハック開始。

telnetにてroot/kuroadminでログイン。

# /sbin/mfdisk -e /dev/hda
# sh /sbin/mkfilesystem.sh

無事にフォーマットもできたので、telnetはそのままftpで取得しておいたイメージファイルを/mnt2/shareに転送。

debian-sarge-2.6.17.3-kuroHG-20060702.tgz
kernelimage-2.6.20-kuroHG.tgz
modules-2.6.20-kuroHG.tgz

続いてそれを展開

# cd /mnt
# tar zxvf /mnt2/share/debian-sarge-2.6.17.3-kuroHG-20060702.tgz

で、すぐに再起動せずにIPアドレスとかはまともなものを設定しておく。具体的には

  • /etc/network/interfaces
  • /etc/hosts
  • /etc/hosts.allow
  • /etc/resolv.conf

を修正する。それから再起動。

# /usr/bin/write_ok
# reboot

そして祈る。

sarge化確認、カーネル2.6.20化

とりあえずtelnetでtmp-kun/tmp/kunでアクセスきる事を確認したら、rootのパスワード(root)を変更、tmp-kunユーザ削除。
ちなみにtelnetなのでrootはアクセスできず、tmp-kunユーザでしかアクセスできない状態。だからadduserして、そのユーザでログインしてsuしないとtmp-kunは削除できない。めんどー。
で、カーネルを更新。

# cd /boot
# tar zxvf /mnt/share/kernelimage-2.6.20-kuroHG.tgz
# reboot
# cd /lib/modules
# tar zxvf /mnt/share/modules-2.6.20-kuroHG.tgz
# depmod -a
# reboot
パッケージ更新

/etc/apt/sources.listを修正。

deb http://security.debian.org sarge/updates main contrib non-free
deb http://cdn.debian.or.jp/debian/ sarge main contrib non-free
deb-src http://cdn.debian.or.jp/debian/ sarge main contrib non-free

個人的好みでプライオリティレベルをlowに。(質問が増えるけど)

# dpkg-reconfigure debconf

で、アップデート。と思ったが、下界にアクセスできん。30分悩んでファイアウォールの設定を修正。(自分でセキュリティのためにアクセス禁止してたんだったよ)

# apt-get update
# apt-get upgrade
# reboot
etch

/etc/apt/sources.listを修正。

deb http://security.debian.org etch/updates main contrib non-free
deb http://cdn.debian.or.jp/debian/ etch main contrib non-free
deb-src http://cdn.debian.or.jp/debian/ etch main contrib non-free
# apt-get update
# apt-get -u dist-upgrade

いくつか聞かれるが、基本デフォルトでいいはず。ただ、/etc/init.d/haltと/etc/init.d/rebootの上書きについて聞かれるので、これは「新しいファイルで上書き」としておく。更新後にそれを修正。
/etc/init.d/halt

  PATH=/sbin:/usr/sbin:/bin:/usr/bin
  
+ # KURO-BOX AVR force shutdown
+ echo -n "EEEE" > /dev/ttyS1
+ 
  [ -f /etc/default/halt ] && . /etc/default/halt

/etc/init.d/reboot

  PATH=/sbin:/usr/sbin:/bin:/usr/bin
  
+ # KURO-BOX AVR force reboot
+ echo -n "CCCC" > /dev/ttyS1
+ 
  [ -f /etc/default/halt ] && . /etc/default/halt
# reboot

祈る。

etch基本設定

一通りetch化を祝った後、環境設定。

/etc/sysctl.conf
net.ipv4.ip_local_port_rangeあたりを設定しておく
/etc/default/rcS
好みだがUTC=noに。
/etc/networks
localnetとか追加。

最低限必要なツールをインストール。

ssh
PasswordAuthentication yesに修正
sudo
visudoでユーザの設定をしておく
vim
/etc/vim/vimrc.localに俺設定を追加。
ntpdate, ntpd
適当に設定
locales
en_US ISO-8859-1, ja_JP.EUC-JP EUC-JP, ja_JP.UTF-8 UTF-8を追加。UTF-8をデフォルトに。

その他の設定。

# update-alternatives --all

時間切れなので、後日に持ち越し。あとはsambaとかftpとかcvsとかpamとかldapとかbindとかhttpとかdavとかだけかな。(多いって)