PowerEdge用にOMSAパッケージを作成
以前にも書いたけど。
Dell PowerEdge1650 にDebian(Sarge)を入れる - 学生サーバ管理者メモ
http://www.uta.fi/~pauli.borodulin/dellomsa/omsa44.html
サーバが増えてくるとその都度コンパイルしてるわけにもいかない。
ので、パッケージを作成することにする。
初のパッケージ作成がカーネルモジュールとは・・・。
参考はDebian New Maintainers' Guideこの辺。
バージョン等は
まずは上のサイトから必要なパッケージを作業ディレクトリ(ここでは/tmp/dell)にダウンロードしておく。
- mkdir /tmp/dell
- cd /tmp/dell
- wget 〜〜/dellomsa_4.4-1.deb
- apt-get install setserial libstdc++2.10-glibc2.2
- dpkg -i dellomsa_4.4-1.deb
- wget 〜〜/omsa-driver-4.4-v2.tar.gz
- tar xvzf omsa-driver-4.4-v2.tar.gz
- apt-get install kernel-headers-2.6.8-3-686
- apt-get install kernel-source-2.6.8
- apt-get install kernel-package libncurses-dev
- cd /usr/src
- tar xvjf kernel-source-2.6.8.tar.bz2
- cd kernel-source-2.6.8
- cp /boot/config-2.6.8-3-686 kernel-source-2.6.8/.config
- vi kernel-source-2.6.8/.config
- CONFIG_REGPARM=y に修正
- make-kpkg --append-to-version "-3-686-omsa" --revision=2.6.8-16omsa kernel_image --initrd
- cd /tmp/dell/omsa-driver-4.4-v2
- ./builddriver.sh /usr/src/kernel-source-2.6.8
kernel_imageを作るのは時間がかかるので最後でもいい。しかしbuilddriver.shを実行する前にカーネルソースのヘッダファイルは生成しておかなければならない。
./builddriver.sh は一般ユーザで実行するとモジュールがインストールされなくてちょうどいい(後でパッケージで入れるので)。エラー無く終了するようならパッケージを作成する。
- apt-get install dh-make fakeroot
- cd /tmp/dell/
- mkdir deb
- cp omsa-driver-4.4-v2.tar.gz deb
- cd deb
- tar xvzf omsa-driver-4.4-v2.tar.gz
- cd omsa-driver-4.4-v2
- dh_make -e maintainer@mail.address -f ../omsa-driver-4.4-v2.tar.gz
- k を選択
- cd debian
- control, copyright, changelog の編集
- 上記URLを参照
- 自分のみが使うのであれば適当に
- rm cron.d.ex dirs emacsen-* init.d.ex menu.ex
- cd ..
- 新しいMakefileを作成
- debian/rulesを編集
- dpkg-buildpackage -rfakeroot
- dpkg -i ../omsa-driver_4.4-v2-1_i386.deb
- dpkg -i /usr/src/kernel-image-2.6.8-3-686-omsa_2.6.8-16omsa_i386.deb
- 再起動して新しいカーネルで立ち上げる
- apt-get install modconf
- modconf
- extraのモジュールを全て読み込む
- # または、/etc/modules に dcdbas dcdesm dcdipm dcdtvmを追加する
- /etc/init.d/dellomsa-daemons start
- 再起動してomsaデーモンが自動起動するかを確認
Makefileの例
all: ./builddriver.sh /usr/src/kernel-source-2.6.8 install: clean: rm -rf build driver/* buildtmp.*
rulesの例
# Add here commands to install the package into debian/omsa-driver. $(MAKE) install DESTDIR=$(CURDIR)/debian/omsa-driver mkdir -p $(CURDIR)/debian/omsa-driver/lib/modules/2.6.8-3-686-omsa/extra cp build/*.ko $(CURDIR)/debian/omsa-driver/lib/modules/2.6.8-3-686-omsa/extra/
ビルドのときにバージョンをDebianのポリシーに従わせてくれって警告が出たり公開できるようなパッケージの作り方ではないけれど、取り急ぐならこれで一応使えるようになる。
PowerEdge1650を使ってるので1850等で動くのかは分からないし、何か不具合があるかもしれない。
それは分かり次第メモっていく方向で。
使い方はhttp://support2.jp.dell.com/docs/software/svradmin/この辺。
- . /opt/dell/srvadmin/config.sh
- omreport storage controller
- omreport storage controller controller=0
とかやる。