Archive: 2010

今日はbindの設定を変更して、同じホスト名の名前解決に違うIPアドレスを返すようにした

DynamicDNSを使って外出中もiPhoneから家のIMAPサーバにアクセスするようにしていたが、なぜか家に帰って家のLANのプライベートIPに切り替わるとIMAP接続が失敗するようになっていた。IMAPサーバにふっているIPアドレスを指定すればアクセスは成功する。いちいちIMAPサーバ設定変更するのが面倒なので、同じホスト名で外からはグローバルアドレス、中からはプライベートアドレスを返すように、家のbindの設定を変更した。

/etc/named.conf

1
2
3
4
5
zone "saba.dyndns.org" {
 type master;
 file "saba.dyndns.org.zone";
 allow-update { none; };
};

/var/named/saba.dyndns.org.zone

1
2
3
4
5
6
7
8
9
$TTL    86400
@               IN SOA  localhost root (
 2010120802              ; serial (d. adams)
 3H              ; refresh
 15M             ; retry
 1W              ; expiry
 1D )            ; minimum
 IN NS           localhost
@               IN A            192.168.xxx.xxx

これでsvcadm restart svc:/network/dns/server:defaultで有効になる。

たぶんあまり正しいやり方ではないんだろうけど・・・。

参考:旧@IT会議室・LinuxSquare 「BINDでゾーン内の一部のノードをフォワード」

MPEG2 PS内の字幕をmencoderで焼き付ける方法

$ mencoder disk.mpg -oac lavc -ovc lavc -of mpeg -mpegopts ¥ format=dvd:tsaf -vf scale=720:480,harddup -srate 48000 ¥ -af lavcresample=48000 -aid 128 -sid 3 -forcedsubsonly ¥ -spuaa 4 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=3072:vbitrate=2048:keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:vqmin=1:lmin=1:dc=10:vstrict=0:acodec=ac3:abitrate=384:aspect=4/3 -ofps 30000/1001 ¥ -o “disk2.mpg” あとはGOP単位で切ればいい。ただsidがどれかを見つけるのが超めんどくさい。

そして今日はFedora14インストール祭りでした

仮想サーバの親、子、Macbookのvirtualboxの子、と3つ。Spiceがリポジトリに入ってるのでとても楽です。xrog-x11-drv-qxlがバージョンアップして1280x800に対応するようになって嬉しいです。でもspicecで仮想サーバの子に接続するとXがバコバコ落ちるのはなぜなんだぜ!?

10/17に、i MIEVに乗ってみた

10/17の話だけどワンコインお試しアイミーブを使ってi-MIEVに乗ってみた こんな感じ。乗った感じはオートマの普通の車と一緒。音は確かに静かなんだけど、40km/hくらいまではロードノイズや周辺の音が大きく聞こえるので電気自動車ならではの静粛性、というのはあまりない。 充電もやってみた!これは急速充電器で、20分ほどで80%充電できる。現時点はほとんどの充電ポイントで無料で充電できる。ただし満充電でも走行可能距離は100km以下、80%だと70kmくらいなので、走り方としてはどこに充電スポットがあるかを常に意識して走る必要がある。 友人H氏がいざ充電!急速充電は200V三相で、コネクタ形状は電力線4本、通信線4(?)本で、四葉のクローバーのような形状をしている。今回複数の充電器で充電を試してみたが、このコネクタ形状は統一されているようだ。 第三京浜都筑SAの急速充電器。メーカーは異なるが同様に充電が可能でした。やはり無料。 充電中は充電器側のパネルに完了までの時間と充電量が表示される。 ということで、横浜〜目黒往復で70kmくらい走りました。途中3回ほど充電。感想としては、やはり充電して走れる距離が70km程度が目安なので、俺の日常用途では少し厳しいかなと。ときどき横浜〜蘇我片道80kmとかも走るので。今の車が満タンで40ℓ、燃費10km/ℓなので、満タン時の走行可能距離は400kmというところから考えると、せめて満充電時の走行可能距離として200kmはほしいなと。i-MIEVのスペック(PDF)によると、最大充電量は16kWhなので、200kmの走行可能距離を実現するには35kWh程度を実装しなければいけないので、電池の搭載をほぼ倍にしないといけない。しかも電池を倍にすると車重がかなり重くなるので燃費(?)が悪くなり、実際の走行可能距離は短くなる、と。 で、都市部では家の充電設備をどうやって確保するのかも重要。アパートやマンションでは駐車場に200Vをひっぱることができないことも多いので。都市部以外ではこのへんの制限は少し緩くなるけど、逆に走行可能距離の制約がきつくなってくる。う〜ん難しい。 ただ取得は本当に普通の自動車並みで、補助金も加味した乗り出し価格は200万の後半。車格を考えると少し割高だけど、買えない金額ではないです。また運転の感覚は本当に普通の車と一緒なので、戸惑うことは全くないです。 ということで、実際に乗ってみるといろいろ体で覚えるのでとてもいい経験でした。懲りずにまた乗ってちょっと遠乗りして、体を張ってベンチマークしてみたいですね!

0から1にする人と、1から7にする人と、7から10にする人は違う

http://twitter.com/shimaguniyamato/status/29117426120 あーわかる。0→1と1→10はいままで自覚してたけどそういわれればその通り。SIerに限って言うと、0→1は経験プラスアルファの世界かもしれないなあ素人さんには無理かもしれん。

で充電とかどうなのよ?とか思ったので調べてみた

今日は自宅のファイルサーバをラックマウント型に搭載し直した

これを使った。マザーボードやOSは以前のままでOpenSolarisで。zfsが堅牢で堅牢で幸せです。Fedora+XFSのころの苦労が嘘のようだ・・・。うまく言いづらいけどLinuxは細かいところで安定性がないなと最近思う。ということを昔某勉強会の懇親会で話したら「ウチはCentOSで5年くらいノントラブルですよ」という話も頂いていたり。やっぱり自分で経験していないとなかなか切り替えられないなあ現状に満足していると特に。 でもリムーバブルシャーシのファンがうるさくてかなわん。静音化したいなあ。こういうのでopensolarisでzfsなら即買いするんだが。Nexentaあたりが出してくれないもんだろうか。

SuperChassis 847E16 RJBOD1

http://www.supermicro.com/products/chassis/4U/847/SC847E16-RJBOD1.cfm いい意味で頭おかしい。4Uで最大90TBってww さすがにマザーボードとか入れる余裕はないのか

.procmailrcを酔っぱらった勢いで書き換えミスって、メール来ないなー来ないなーと思っていたら死ぬほど1ファイルに上書きされまくっていたでござるの巻

この1週間ほどのメールがロストしていたことに今日気づいた。・・・まあいっか

それにしてもscreenコマンドが便利過ぎる

いままではnohup command > log 2>&1 &とかしてたけど、screenコマンドを思い切って使い始めてからあっというまに手放せなくなった。出かける時には[Ctrl]+[a],[d]でデタッチしておいて、帰ってきたらscreen -rで元の画面を呼び出せる。超便利。 @IT: ターミナルを切り替えて使えるscreenコマンドとは

flybackは過去のバックアップを消すのがめちゃくちゃ時間がかかる

きっかけはバックアップ先のzfsボリュームがフルになったので、昔のものを減らそうかなと、rm -rf ./2009とかしたら3日経っても終わらないorz。別にそんなに大層なほどやってないんだけどなファイル数30,000弱、ディレクトリ数3,000弱のホームディレクトリなんだが。2009年8月〜2009年12月の毎日2時間に1回なんで、12305(30000 or 3000)で5,400万ファイル(ほとんどがハードリンク)、540万ディレクトリか。rmのパフォーマンスが悪いだけなんだろうか?

今日はKVM+SPICE環境で仮想デスクトップごっこをしてみた

http://www.spice-space.org/

環境

  • 物理サーバ
  • Fedora 14 alpha
  • KVM環境、xorg-x11-drv-qxl, tunctl
  • 仮想デスクトップ
  • Fedora 13
  • xorg-x11-drv-qxl
  • クライアント環境

1.物理サーバ(1)

  1. 普通にFedora 14 alphaを入れる。KVMグループを入れておくと楽なのかも。
  2. インストール後ブリッジ接続ができるように設定変更して再起動。(インストール後1回目の再起動はrebootしても反応がないので強制リセットした)
  3. xorg-x11-drv-qxl, tunctlをインストールする

2.仮想デスクトップ(1)

  1. 物理サーバのvirt-managerで普通にFedora 13を入れる
  2. インストール後とりあえずvirt-managerからForce Offして落としておく

3.クライアント(1)

  1. Fedora 13用のSPICEリポジトリを追加して、yum install spicecする。

4.物理サーバ(2)

  1. 以下のスクリプトを/etc/qemu-ifupとして保存。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#!/bin/sh
set -x

switch=br0

if [ -n "$1" ];then
 /usr/bin/sudo /usr/sbin/tunctl -u `whoami` -t $1
 /usr/bin/sudo /sbin/ip link set $1 up
 sleep 0.5s
 /usr/bin/sudo /usr/sbin/brctl addif $switch $1
 exit 0
else
 echo "Error: no interface specified"
 exit 1
fi
  1. さっきShutdownした仮想サーバを以下のようにコマンドラインから起動
1
2
3
4
5
6
qemu-kvm -hda /root/f13.img -enable-kvm -m 768 -vga qxl ¥
-spice port=5930,disable-ticketing -name f13 ¥
-uuid XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX -rtc base=localtime ¥
-device virtio-net-pci,vlan=0,id=net0,mac=XX:XX:XX:XX:XX:XX,bus=pci.0 ¥
-net tap,vlan=0,name=hostnet0 -usb -device usb-tablet,id=input0 ¥
-device AC97,id=sound0

5.クライアント(3)

  1. 以下のコマンドでデスクトップに接続。接続時はまだ最大800x600の解像度しか出ない。
    1
    
    $ spicec --host <物理サーバのアドレス> --port <さっき指定したポート番号>
  2. ログインしたらrootになって、xorg-x11-drv-qxlをインストールして仮想デスクトップを再起動する
  3. 再起動後、画面が大きくなる。試したときは1024x768まで出せた。

で、やってみてどうだったか

  • いい感じだと思う。RDPのようなサクサク感がある。LAN環境であれば十分デスクトップとして使える。日本語入力も含めキー入力も問題なし(でも今回クライアント環境をVirtualBox上のFedora13でやったので[Ctrl]+[Alt]+[F2]とかがVirtualBox側に取られて結構なんだかであった。やっぱり仮想環境上でクライアントするのはいろいろ面倒くさいかもしれない)。
  • ムービーを流しながらウィンドウをドラッグすると少しもっさりする
  • 使用する帯域は大体目測で10KB/s〜2MB/s(80Kbps〜16Mbps)
  • 音も出てる。でも今回クライアント環境をVirtualBox上のFedora13でやったのでピッチが落ちててがっかりであった。Windowsクライアントでやればもっと幸せになれるかもしれない
  • USBリダイレクションはSPICEの仕様にはあるが、まだ実装されていないようだ あまりHOWTO的な文書がなくて環境を作るのに苦労したが結構満足度が高いのでこれからどんどん使ってみようかな!

今日はMacbookにUSB外付けHDDをつけてそこにFedora13入れようとしたらrEFItがうまく認識してくれない

確信が持てないのだけど、たぶん古いMacbookでは外付けUSB HDDからブートできないのでは。grub2であればEFI対応なのでMac標準のEFIに合わせられるみたい。だけどanacondaで入らないから入れるのしんどい。ちょっと断念。

今日は久しぶりにCocoaのチュートリアルをこなした

Cocoaアプリケーションチュートリアル 今まで何年もやっては挫折してたが、ようやくプロパティ、メソッド、コネクタがぼんやりわかってきたような気がする。でもどうやってアプリ作ればいいんださっぱりわかんねえ!

最近WordPressのカテゴリーとタグの使い分け方がわかったような気がする

カテゴリーはある程度時間的な継続性がある要素で大雑把に話題を括り、逆にタグはそのエントリに含まれる要素を雑多に並べ時間的な継続性を重視しない、という使い分けじゃないか。

最近ちょっとした娯楽がほとんどiPhoneで済んでしまう

しかも仕事しすぎな事を複数の人から怒られたりマジで心配される始末。んだら仕事回すな他に振れ他に!めんどくせーことゆーなグズグズ言う暇で手ェ動かせ!とも言わずに日々粛々と多忙を楽しんでいる次第。

openindiana.org

http://openindiana.org/ 出るべくして出たという感じ [9/11 0:29追記]・・・と思ったけどページ見るとほとんど何もないし誰がやってるかもわからないしライセンスも不明だし怪しい。全ては13日になってみないとわかんないなこりゃ

昨日は自宅の鯖をVMware ESXiベースにしようかな検証してみようかなと思ってインストール試みるもNIC認識しないorz

ナイスなWebサイトを発見したのでこれでいろいろやってみる。 http://www.vm-help.com/index.html

Does the Fate of OpenSolaris Tell Us Where Unix Is Headed?

http://www.enterprisenetworkingplanet.com/linux_unix/article.php/3901946 読んだ。既にFree(as a Beer)のUnixってBSD一択なんだなぁ。商用ですらAIX, Solaris, MacOSXでしか選択肢が無いって。

今日は久しぶりに時間があったのでIllumosのAnnouncement PDFを読んだ

http://www.illumos.org/attachments/download/3/illumos.pdf 自分用チラシの裏 * ディストロじゃないですよ。でもブート用のISOは配りますよ

  • .debベース?(IPSじゃない?でもディストロじゃないんだよね・・・?)
  • BSD or MIT?

ヨイトマケの唄

なんかの拍子で歌詞を初めて知った。なんか美談のように書かれてるけど立派になった(かのようにみえる)エンジニアの息子がその後どうなったかは書かれていないんだよね・・・。 ・・・たかが3、40年程度で状況が簡単に変わるものかよ、と申し上げたい

消滅—空の帝国「パンナム」の興亡を読んだ

面白くて一気に読み切った。俺もパンナム乗ってみたかったなあ。ザッツアメリカな感じ。やっぱりアメリカってゲリラのような抵抗勢力に弱いなあ、と。

実験の環境だからいいやとrootのパスワードを超簡単にして外部と接続してたら24時間たたないうちにクラックされて怪しげなプログラムをしこたま動かされていたでござるの巻

簡単にクラックできないようなパスワードとFilterは必須ですね・・・世知辛い世の中だと嘆くのもさすがにアナクロが過ぎるか・・・

今日はfirefoxでダウンロード中のファイル名を変更してもダウンロードは正常に終了するような気がした

考えてみればopenしたファイルハンドルにwriteしているわけで、ファイルハンドルはファイルパスに依存している訳ではない(たぶん)。だからとあるファイル名を変更してもopenしているファイルハンドルとinodeの一意性は継続的に維持される。たぶん、そういう理屈なんだろうか。いまいち自信がない。確認するほどの時間もない。

Internet RadioBOXがいい感じ

shoutcast聞けてsmoothjazz.comとDI(まあこれはどのアプリでも普通に聞ける)がちゃんと入ってバックグラウンドで動くということで。画面も奇麗だしスリープ機能もあるしこれで¥100はお得だな。今までのtunerやshoutcast.appはなんだったんだという感じだ。 Internet RadioBOX(iTunes Store)

今日はひげそりの充電池を交換した

10年くらい使っているひげ剃りの充電池がまともに充電しなくなったので、もしやと思って開けてみたら普通の単三リチウム電池であったのでエネループに交換。また動くようになって嬉しい。エネループなのでブランニューでエコな感じもする。充電のところが気になるので今日1日ほど様子をみてみるか。

お前マイクロコズムいう前にまずスカベンジャー4でありFM TOWNSフラクタルデモでありAmigaのShadow of the Beastだろ

スカベンジャー4 FM-TOWNS Fractal Demo AMIGA - Shadow of the Beast DAPSってのもあったよね。当時見たときは震えた。 【ニコニコ動画】「アヤ」リメイク版のDAPSリプレイ前編 まあどれもこれも逆噴射で大気圏突破なシロモノなんだけど。あのときには俺にも未来が見えたんだ。多分今でも。

犬が死んだらしい

日本オラクルの社員犬ウェン ディ逝去 忠に殉じて彼女(彼?)は満足だったのか?彼女(彼?)に忠を求めたのは適切だったのか?もう一度考えてほしい。 (参考)犬の十戒

今日は

  • 家の近くでCR-Zを見た。結構小さい。軽よりちょっと大きいくらいか。いい感じだけど軽の方が税金が圧倒的に安いので悩む
  • ドリームジャンボあたらなかった
  • 風邪が治らない
  • 蒸し暑い
  • 今日も仕事

岡林信康 それで自由になったのかい

いくらブタ箱の臭いマズイ飯がうまくなったところで うまくなったところで それで自由になったのかい それで自由になったのかよ そりゃよかったね 給料が上がったのかい 組合のおかげだね 上がった給料で一体何を買う テレビでいつも云ってる車を買うのかい それで自由になったのかい それで自由になれたのかよ ブタ箱の中の自由さ 俺達が欲しいのはブタ箱の中でのより良い生活なんかじゃないのさ 新しい世界さ 新しい世界さ シミだらけの汚ねぇカベをきれいに塗り替えて モナリザの微笑を飾ったところで それで自由になったのかい それで自由になったのかよ そりゃよかったね 給料が上がったのかい 組合のおかげだね やっとあんたの息子も大学にやれるね どんどん出世してもらわなくちゃナ それで自由になったのかい それで自由になれたのかよ ブタ箱の中の自由さ 俺達が欲しいのはブタ箱の中でのより良い生活なんかじゃないのさ 新しい世界さ 新しい世界さ ジュータンでも敷くかい ソファも入れるかい 冷たい鉄格子にカーテンでもかけりゃ こぎれいになったね ブタ箱じゃないみたい それで自由になったのかい それで自由になったのかよ 今にきっとあんたは言い出すだろう 住めば都さ ブタ箱も悪かない じっと黙ってりゃ そのうち出してくれるさ それで自由になったのかい それで自由になれたのかよ ブタ箱の中の自由さ 俺達が欲しいのはブタ箱の中でのより良い生活なんかじゃないのさ 新しい世界さ 新しい世界さ

今日はVirtualBox上のFedoraでトラックパッド指二本でやるスクロールが横スクロールにも対応していることを知り驚いた

これが以外と便利なんだよね

昨日は出張から戻り足腰たたなくなるほど疲れた

数年ぶりに西の方へ出張した。昔は自分が若かったこともありいろいろ無知であったことを思い知る。とともに数年前に一緒に仕事をした先輩方の年輪を見て少しショックを受けた。若いばかりが能ではないが熟れてゆく先輩方を俺も追いかけているのかと考え、俺もいずれそこに行くのであろうと思うと感慨も深いが少し落ち込む。 俺はSIerであるのでお客様と面会しご要望を伺うことが仕事だ。数社のお客様と面会したが、よい話ができるときもあるしできないときもある。基本的に人間の気持ちを汲むことが上手い方ではないので、会話がうまくいかないときはかなりのストレスが発生する(表情や仕草には出さないように努力している)。昔俺の上司は俺を評してロボットのような男だと言い、当時はそうとうに腹が立った。今でもそいつには言葉では言いようのない悪い感情があるが、その言葉自体はどうも自分のある側面を的確に表現しているように思え、事あるごとに言っている。夜は現地の仲間が歓待して頂けるとのことで地元のおでんを食べながら今と将来の話をする。気持ちが楽になったことでずいぶんと深酒してしまったため何を言ったのか細かく覚えていないが、確か夢だけで人は食えぬ、珍妙なものに惑わされてはならないが新しいものにどん欲に取り組むことが重要だ、といった話をしたと思う。現地の仲間曰く、東京の人はこっちに来ると愚痴が多いといい、呵々大笑した。 自宅に戻ったら緊張から解放されたせいか久しぶりにへたれこんだ。ぎっくり腰でたてなくなることもあるが、気力が果てて座り込むのも前職以来だ。ベランダに出てタバコを吸いながらぼおっと座っていたらそのまま少し眠ってしまい、気づいたら1時間ほどたっていた。少し持ち直したので玉子と醤油を飲んで寝た。 今日も残務をやらねばならぬ。

今日はここのDNSエントリがおかしくなっていたのを直した

いままでDNS情報をVALUEDOMAIN側で持っていたのが消えたので見えなくなってたみたい。DNS情報をさくら側を指すようにしたら直った。DNSはどこがどういう風に繋がってるかよくわかんね。

今日はFedora 13のlameでエンコードしたら謎の無音ができて困ったので結局iTunes LAMEにした

Fedora 12でも同現象だった。前はできたような気もするけど気のせいかもしれない。最近iTunes Music Storeで買ったものが結構あることに気がつきAndroidに行くと全部使えないよなあとヘコんだ。iTuneで取り込むと曲名にアクサンテギュが反映されない。アーティスト名には入ってるのでGracenote側で落としているのだろうか。ちゃんとi18n(l10n?)してほしいなあ・・・。

でも結局updateをhttp/ftpでする現状を踏まえると、じゃあISO配るコストはさほど高くないし、ユーザが感じるペナルティも同程度だから少し長いタイムスパンでみてもBitTorrentで成果物を配布する妥当性は明瞭に言いづらいんじゃね?とか

今回はBitTorrentでisoゲットしてみたけど、JAISTの公開と数時間しか差がないのでやっぱりBitTorrentを使うインセンティブはあまりないなあと

これも日本に大きなキャパシティを持つFTP Serverがあるおかげ。やっぱり日本は幸せな国だ。

今日は自鯖環境を復活させた

Sun公式リポジトリだけでなんとかするようにした。安定性重視。入れたのはpostfix, dovecot, samba, dhcpd, bind, fetchmail, procmail, virtualbox。rootディスクのバックアップもちゃんと取るようにした。 一つ勉強になったのは、zfs upgradeしたボリュームをインポートできなくなること。むやみにupgradeするのも考えものだな。

今日はMirror's Edgeのプレイ動画を見た

【ニコニコ動画】英国淑女的に Mirror’s Edge #01 一気に見てしまった。フェイスかっこいい。建物の内装外装のセンスが秀逸。音楽最高。アクションかっこいい。文句なしですね。

そして今日は大好きなPortalがMacで遊べると聞いてインストールしたものの画面が激しくフラッシュして動かないと来たもんだorz

まずSteamを普通にインストールし、起動しようとすると以下のようなエラーが出て起動できない。 どうやらSteamは大文字小文字を判別するファイルシステムでは動作できないようだ。ファビョっていても仕方がないのでなにか解決法はないものかと探したら、どうやらナイスな回避方法を考えてくれた方がいるようなので、それに従ってインストール、起動、Portalのダウンロードまでは成功した。 しかし起動すると画面が激しくフラッシュして全くメニュー画面が出ない。どうしたものかと調べてると、どうやらSteam for MacOSXではGMA950をサポートしていないとのこと。あー残念だー。Portal遊びたいなぁ・・・。 [5/16 23:02追記]リンクが間違っていたのを修正

今日はXen4.0でネットワークパフォーマンスを計測した結果を公開した

**Xen4.0 and vt-d Network Performance Benchmark**View more presentations from mkiuchi3. SlideShareとか使ってみる。グラフの元データはここからダウンロードしてください。プレゼン自体はSlideShareからダウンロードできます。

今日はZFSがサイレント破損をリカバリする様を垣間みて惚れ直した

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
  pool: longterm
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
   see: http://www.sun.com/msg/ZFS-8000-9P
 scrub: none requested
config:

        NAME         STATE     READ WRITE CKSUM
        longterm     ONLINE       0     0     0
          raidz1     ONLINE       0     0     0
            c9t0d0   ONLINE       0     0     2
            c10t0d0  ONLINE       0     0     6
            c10t0d1  ONLINE       0     0     3

USB接続されたディスク上のRAID-Zでデータリカバリされた様。ZFSに改めて惚れ直す。かつUSBディスクって怖いよなと。よくあんなの普通に使えるよなと。今でも使ってるけど。

今日はリポジトリサーバが壊れた

LVMでディスク全体を追加して再起動したらLV再構成できず起動してこなくなった。現在データ修復中。I/O Intensiveな作業はどうしても待ち時間が多くなる。しょうがないからバイトヘルでもするか。 ・・・そういえばzfsってその辺のメタデータ管理ってどこでやってるんだ?と調べたら、vdevの先頭とお尻に4つ書かれるようだ(PDF注意)。パーティションテーブルはいじってないと。やっぱzfsがいいなあ。

今日はMacとFedoraを再インストールした

再インストールするだけで10GBもHDD容量が減るのが納得行かない・・・。 そういえば最近使いやすいって長期的には問題があるような気がしてきた。改善する意欲をなくすので。Fedoraでこれそれできないって時に近くにMacがあって、Macでちょっとソフトをインストールするとできてしまうと、何か作ろうって気もなくなる。ただ昔それやったら結局作る時間も無かった、ということになったんだが。GWのノリに慣れてくるとずっとそれが続くような感覚で物事を考えてしまうからダメだな・・・。

24時間後の被験者レポート

なんか、依存してきた気がする。6〜12時間くらいすると味が恋しくなってくる。誰かに評価してほしいとか思い始めている。心なしかヤバい。 TKG2回、袋ラーメン1回。いずれも大さじ山盛り2杯をかけて食べる。穀物系との相性が非常に良いようだ。ポイントは山椒とニンニクの旨味だろうか。最初は辛いと思っていたが、まざらでもないと思い始めた。逆にフライドオニオンは少しこげ過ぎで、炒める順序を考慮した方が良さそうだ。もう2回目を作ろうかとか思い始めている。ヤバい。 今日は夜に酒を飲もうか。マッシュポテトにかけると旨そうだ。じゃがいもを買いにいきそうになっている。ヤバい。

今日は気になる桃ラーっぽいものを自作してみた

どうやら世間では桃屋の「辛そうで辛くない少し辛いラー油」なるものが人気を博しているらしい。俺も気になり地元のスーパーに行くたびに桃屋コーナーをチェックするも全く置いていない。でもどうしても食べたい。あのデブ好みの味とやらを一度舌にしてブヒブヒ言ってみたいものだ、と。 で、レシピがあるようなので、それを横目に作ってみた。 ### 買ったもの

俺作成方法

  1. タマネギとニンニクをみじん切りにする。ここが一番時間がかかる。最近本当にフードプロセッサが欲しい
  2. フライパンに油を多めに引いて、みじん切りにしたタマネギとニンニクを入れる。割り箸で時々混ぜる感じで。水が飛んで真っ黒になる前位で火を止める。
  3. もう一個鍋(袋ラーメンのお湯わかすようなやつ)を用意して、ごま油を1瓶全部入れる。弱めに火を入れる。
  4. ごま油に香り七味全部と、ラー油1瓶全部、豆板醤大さじ山盛り2杯、味の素大さじ山盛り2杯入れてぐるぐる混ぜる。
  5. 炒めたタマネギとニンニクを、油の方に入れて、箸でぐるぐる混ぜて、出来上がり。さまして適当な瓶に移す。

で、どうなったか。

こうなった。

CIMG1452 どうやらタマゴご飯にかけて食べるとヤバいらしいのでやってみた。 CIMG1453

ご飯炊いて

CIMG1454

タマゴご飯にして

CIMG1455

かける。そして食う。

で、実際食ってどうだったか?

辛かった。辛そうで辛くない少し辛い、じゃなく辛かった。汗が出るのでアトピー気味の肌にはいいのかもしれない。ニンニクの旨味があるのでまあ捨てたくなるほどの味じゃない。本家を食わずに作っているので実際どこまでエミュレーションできているかは謎だ。¥1,500円くらいかかっているのでコストパフォーマンスがよい訳でもない。素直に通販で買った方がいいのかもしれないな・・・。

フローという考え方があるのか

はてな匿名ダイアリー: Twitterは良すぎるのかしら? Is Twitter TOO good? これは味わい深い。いや記事そのものよりはフローという、いままでぼんやりと思っていたことにロゴスが存在していたことが。

ぬこ可愛いよぬこ・・・

http://dj-kaz.com/blog/2010/02/post-460.html どうでもいいけどFree animal sex.とか延々とスパムコメント投げ続ける業者の方は勘弁して頂きたいところですね・・・華麗にスパム行きですが・・・

YouTubeの再生リスト機能を試してみる

今日はこれで行ってみる! [追記]気に入ったら是非アーティストに還元をお願いいたします。 2. BOOM BOOM SATELLITES - FOG BOUNDS 4. Ridge Racer V OST - Euphoria 6. Ridge Racer V OST - Night Ride 8. Ridge Racer V OST - Paris 10. Ridge Racer V OST - Main Menu 12. Ridge Racer V OST - Tsui Tsui 14. Ridge Racer V OST - Power Slider 16. Ridge Racer V OST - Ridge City FM 18. Ridge Racer V OST - Gammon 20. Ryuichi Sakamoto - Coro 22. PIANO COLLECTIONS/FINAL FANTASY X - 旅行公司 24. HASYMO - Rescue 26. TECHNOBOYS - LOST SECOND 28. Kraftwerk - Tour De France

あるFLOSSプロジェクトが失敗する運命にあるか判別する方法

あるFLOSSプロジェクトが失敗する運命にあるか判別する方法 むう・・・どうやらgnviewプロジェクトには難破船が来ているようだ・・・orz

”iPodは何を変えたのか?”を読んだ

寒くて調子が悪い。熱っぽい。鼻水が止まらずだるい。 本は前半は興味深い。日本の会社ではこういうのは無理だろうなあ・・・。後半はよく言われているApple褒め過ぎ感あり、ダルい。 最近の日本は理想と現実の乖離が強過ぎると思う。

今日はASnumber入れたらこのサイトがあの糞会社の中にあったことを知って絶望した

https://addons.mozilla.org/ja/firefox/addon/2072 ASから大雑把なロケーションを把握するのはいい考えだな。それはそうと本当にはらわたが煮えくり返る。まじめに引っ越そう。ここを。

オープンソースソフトウェアの開発を推進するために、「おう、客が金出すらしいから企画書けや」と少し勉強してぼんやりと夢を持っている若者に書かせた企画書に難癖つけまくったり変人扱いしたり上司とつるんで要件てんこ盛りにしたり無茶苦茶な売上目標設定しまくって精神的にガンガン追い込んでげんなりさせて会社でのプロジェクト推進を断念させるライフハック

我ながら最悪の発想だorz

PayPalが国内の個人間送金を一時停止

Internet Watch: PayPalが国内の個人間送金を一時停止、「資金決済法」施行に伴い IT Media: 資金決済法の施行で目覚めるネット上の才能 PayPalからのメールで知った。個人事業主にとってはより自由度が高くなるのかもしれないなあ。

エイプリルフールだるい

なんかこう、どいつもこいつもスキン変えてるだけじゃね?だからあれだ。これからの企業のホームページはボタン一発でスキンかわるようなのにすればいいんだ。もしくは代表取締役社長近辺がプルプルするようなネタでインスパイヤザネクストしてみるとか

Solaris 10 no longer free as in beer, now a 90 day trial

ArsTechnica: Solaris 10 no longer free as in beer, now a 90-day trial 早速換骨奪胎が始まったか・・・Solaris Fanとしては誠に遺憾

庭は相変わらず終わってるなp

いまさらNetWalker作り直してどうすんだよ頭おかしいなこいつら(悪い意味で)。しかもスマートフォンはWindowsMobileかよ7が出ようとしている時にいまさら6とか本当に(人的コストがかかる割に誰も幸せになれないという意味で)地球環境によくないわ。まあWimaxでも散々散財してるだろうからさっさとアレしたほうが日本のためだな

楽しい4月1日をお過ごしいただくために、 以下の準備が整っていることをお確かめください。

こいつらどうかしてる(もちろん褒め言葉です)。R-TYPEするとあまりの救いのなさに絶望するのに。

どうやらgmailでも過去のメールは消えるらしい

Desktop Whatever’s blog: Gmail INBOX retention period limited! Gmailユーザ涙目。やっぱりGoogleは信用ならん。うちの自鯖に残っているメールの中で最古のものは1998年4月のものだった。当然今でも読める。自鯖最強伝説。

HTC Desireが気になる

まんまNexus Oneなのでよい。最近Androidがアレな感じがするのでiPhoneの次のやつ待ちにしたい気もするなあ。とはいえこれで禿がiPhoneもNexusOneも手に入れたので茸、庭涙目。庭には同情の余地もないので健全な日本経済のためにもさっさとアレしたほうがいいな。

今日は自鯖のバックアップをCrashPlanで取り始めたら初回バックアップ完了まで8ヶ月とか出て吹いた

病み上がりで調子悪い。 CrashPlan AmazonS3高くて話にならねーよとか思ってたら、米国ではいろいろあるんですね。大体月$5で上限無制限ってのが相場って感じか?どいつもこいつもWindowsとMacだけに対応のなかOpenSolarisにも対応するイイところということでCrashPlanをチョイスしてみた。が、いざバックアップを始めて見ると300kbps程度しか出ず900GBのバックアップ完了まで8ヶ月とか出るので絶望して旧自鯖の750GBx4をZFSで組んでrsyncして心の平穏をえる。"ZFS loves cheap disks."(PDF注意) そもそもAmazonですら1Mbps程度しか出ないしプレミアムサービスであってもそんなに幸せにはなれないかもしれない。Googleなら帯域は何とかなるかもしれないけどバカっ高だし。日本国内にCrashPlan Centralの代理店作るだけでもだいぶ幸せになるんだけど誰かやらないかなあ月980円容量無制限程度で。俺バイトしてもいいかも。こういうの作ってもいい。 [21:08追記] 国内ではkeepitというサービスがほぼ同等だがやっぱりWindowsとMacしか対応していない。Linuxは近日リリース予定。ぜひOpenSolarisにも対応してほしいものだ。というか余計なお世話かもしれないがTivoliなんか使っていて採算が取れるんだろうか・・・? [25:06追記]そういえばこんなもの読んでてふと思った。ネットワーク流量の不均衡が問題の源泉なのであれば、こんなところとかけしかけて現地法人にこういうやつのバックアップサーバ置いて、自動バックアップさせるようなことすればあっという間に問題解消できるんじゃないか?とか。毎週日曜の21時頃からかの国に大量のトラフィックが発生して、よくよく解析するとみんなおんなじで何だよこれ・・・みたいな妄想をしてみた。

あー

もし追記ができないファイルシステムがあったとしても、仮想ディスクには追記処理がない?から問題ない。とか妄想した。スパースに対応できればシンプロビジョニングできたも同然だし

今日はDNSの逆引きゾーンファイル書くときはIPアドレスも逆順で書かなければならないことを知った

クラスBのプライベートアドレスとか使ってると困るというか今さら気づいた。hogehoge.fugafugaが172.16.0.1となるときは 1.0 IN PTR hogehoge.fugafuga. としないといけない。あー。

rssフィードに時折無意味に入っている半角スペースがそこはかとなく気になる

こんちには みさなん おんげき ですか? わしたは げんき です。 この ぶんょしう は いりぎす の ケブンッリジ だがいく の けゅきんう の けっか にんんげ は もじ を にしんき する とき その さしいょ と さいご の もさじえ あいてっれば じばんゅん は めくちちゃゃ でも ちんゃと よめる という けゅきんう に もづいとて わざと もじの じんばゅん を いかれえて あまりす。 どでうす? ちんゃと よゃちめう でしょ?

今日はOpenSolaris Hot Topics Seminarに参加した

OpenSolaris Hot Topics Seminar ~ 新春 IPS 特集! パッケージシステム「IPS」対応のパッケージを作成して、みんなでコントリビュータ化計画 ~ Fedoraと比べてもOpenSolarisのパッケージコントリビュートは敷居が低い!瀧さん渾身のプレゼンすごかった!フォントもすごかった!俺もパッケージャになるぜなるぜ俺は!だがまずは自宅にIPSリポジトリ立てるところからだな。 あとVirtualBoxでVM動かしたままiso入れ替えたり、netのNAT/ブリッジ切り替えられること初めて知った!やってみたら確かにできるようになっててビビった!つーかわからず使ってましたサーセン・・・ みなさんグッドスピリッツの持ち主で俺もすっげーモチベーション上がりました。俺もこういうナイスメンになりたいなあ!努力するぜ。

最近真剣にAmazon EC2を勉強している

いろいろ初心者。勉強勉強。 わかったことをちらしの裏にメモ * 自作イメージのアップロードは死ぬほど遅い 5GBほどのイメージのアップロードに6時間ほどかかる。2Mbps弱くらいですか計算上。おせー。Appleとかのアップデートとか爆速で落ちてくるのでそれくらいできてほしい気が。おまけにアップロード中にtimeoutがガツガツ出るのでec2-upload-bundleには–retryオプション必須。これで数回死んだ。

  • ec2-bundle-imageが失敗する場合はディスクの空き容量を見ろ -dオプションで指定していなければ/tmpにできてしまうのでそこに空きがなければだめ。

  • ec2-registerが失敗する場合にはcertificateを作り直してリトライ

  • どうやらkernelとinitrdはAmazonほか謹製のものを使わなければいけない予感 予感とかなんだよって感じだけどどうやらそういうことらしい。つまり世の中でいろいろ書かれている自作AMI作成方法ってのはbios->kernel->initrd->のあとの、rootディスクの部分。init以降は自作できるよ、という風に理解しなければいけないのか?よくわかんね。

  • AWS Management ConsoleもElasticfoxもsshももっさりクオリティ なんかえれえもっさりって感じですがこんなもんなんだろうか?よくわかんね。

いまだに自作AMIでブートできてない。でも結構ハマる感覚が久しぶりで楽しいかも。お金もそんなにかかってないし。1週間使って$1程度だし。

翻訳とかしてみる

あるソフトウェアの翻訳をお手伝いしている。英語は読み書きは怪しいながらもできなくはない、というレベルなので挑戦してみる。SPACE ALCとにらめっこしながら。ホフク前進している感じ。じわじわ行くぜ。

絶望した!Core i3はvt dに対応していないことを知り絶望した!

http://pc.watch.impress.co.jp/docs/column/ubiq/20090713_301917.html vt-dってチップセットの機能とばっかり思ってたよ・・・。対応するCPUと組み合わせないと有効にならないなんて・・・orz

昨日は友人と餃子大会をした

メールのやり取りの中でふと餃子大会をすることになったのでやった。 具を皮で巻いて作るなんて何年ぶりだろ 餃子をまとめて作っておいて冷凍しておけばご飯のおかずにもなるし、お酒のつまみにもグー! img_7243 img_7244 img_7245 で、焼いて食べる。友人の配慮でニンニク多め。うまうま! img_7246 img_7247 値段もお得でありとてもウマかった!

みんな大好きなカレー

今回空港カレーめぐりをしていて、ふと気づいた。 なぜかお店の人がみんな優しいのだ。 空港に、ただカレーを食べに来ているだけのボクのような者さえも、すてきな笑顔で迎えてくれる。 それだけでボクは、まるでどこかに旅をしているような気分にひたれる。 これは街のカレー店では味わえない、空港ならではのホスピタリティーだろう。 それがボクを旅人にさせる。 そう、人はみな旅人なのだ。 旅立ち、ふと立ち止まり、カレーを食べる。 そしてまた歩き出す。 人生とはその繰り返しだ。

http://portal.nifty.com/koneta06/03/10/01/ 名言がここに産まれた!俺もカレースキーとして座右の銘にする系だ!すぐに忘れちゃうけどまた思い出すときも来るよ!カレーとはすなわち旅であり、人生である。カレーは人生。ピリ辛にしてほのかな甘み。ときどきカツ乗せてもいい。チーズも生卵もまたよし。まさに多様性を許容する有様でありインド。すげえカレーすげえ。俺はカレーリスペクトだわ。

Deconstructing Nautilus and rebuilding it better: Design By Izo

new-nautilus_zeitgeist-common すげえかっこいい!アイデアモックらしいけどこうなってほしい! http://www.design-by-izo.com/2010/02/27/deconstructing-nautilus-and-rebuilding-it-better/

今日はビットレート低くエンコードしていたものをエンコードし直した

img_7219 アニメのサントラなのにユーロ立てのカード決済しかできずAirMailで届くというシロモノ。中全部フランス語だし。Bande Originaleとか語感で萌える!おかげさまでアクサンテギュと日本語が同一ファイルシステム内で見えますUnicodeありがとう!

超限戦を読んだ

イマイチエモーショナル過ぎる文体だけど書いてあることはとても明確でわかりやすい。すげえすげえと読み進めると6章でいきなり電波全開にorz。何があったんですか。それ以外が秀逸だけに惜しい!

今日は遅ればせながらffmpegからlibfaacが呼び出せないことを知った

でもそんなに生きる気力はなくなってないです。どうやらこうなってこうなってこうなった、感じなのか?iPhone用動画変換スクリプトを久しぶりに実行して気づいた。以下のように修正。

[修正前]

1
system("/bin/nice -n19 /usr/bin/ffmpeg -threads 4 -i \"$infile\" -r 29.97 -vcodec libx264 -s ${owidth}x${oheight} -flags \+loop -cmp \+chroma -deblockalpha 0 -deblockbeta 0 -crf 24 -b 256k -refs 1 -coder 0 -me\_method hex -me\_range 16 -subq 5 -partitions \+parti4x4\+parti8x8\+partp8x8 -g 250 -keyint\_min 25 -level 30 -qmin 10 -qmax 51 -trellis 2 -sc\_threshold 40 -i\_qfactor 0.71 -acodec libfaac -ab 128k -ar 48000 -ac 2 \"$outfile\"");

[修正後]

1
2
 system("/bin/nice -n19 /usr/bin/ffmpeg -threads 4 -i \"$infile\" -r 29.97 -vcodec libx264 -s ${owidth}x${oheight} -flags \+loop -cmp \+chroma -deblockalpha 0 -deblockbeta 0 -crf 24 -b 256k -refs 1 -coder 0 -me\_method hex -me\_range 16 -subq 5 -partitions \+parti4x4\+parti8x8\+partp8x8 -g 250 -keyint\_min 25 -level 30 -qmin 10 -qmax 51 -trellis 2 -sc\_threshold 40 -i\_qfactor 0.71 -acodec aac -ab 128k -ar 48000 -ac 2 \"$outfile\"");
 

できたもの(映画)を聞いてみるとそんなに悪くなかったので、これでいっかと。 なに変換したかというと、これ。デンゼル・ワシントン最高だろ。

ネットワークの帯域幅を計測するのはNetPIPEがいいみたい

pingpongよりもいいらしい。よくわかんないけど結構使っている人も多いようだ。CentOSならdagリポジトリに入ってるのでインストールも簡単。 使い方は、まず受信(?)側で # NPtcp としておいて、送信(?)側で # NPtcp -h <受信側ホスト名> とすればいい。だららっと出力が出る。こんな感じ。両方ともギガイーサだから900Mbpsでるんだな。普段こんな帯域お目にかかったことがないけど。 Send and receive buffers are 16384 and 87380 bytes (A bug in Linux doubles the requested buffer sizes) Now starting the main loop 0: 1 bytes 1355 times –> 0.10 Mbps in 72.74 usec 1: 2 bytes 1374 times –> 0.21 Mbps in 72.76 usec 2: 3 bytes 1374 times –> 0.31 Mbps in 72.93 usec (中略) 121: 8388605 bytes 3 times –> 890.35 Mbps in 71882.16 usec 122: 8388608 bytes 3 times –> 890.15 Mbps in 71898.33 usec 123: 8388611 bytes 3 times –> 890.33 Mbps in 71883.49 usec

ようやくだいたいうまくいくようになった

今日は朝から家のネットがとても調子が悪かった。パケットロスが頻発してまともにwebページが表示できない。家でいろいろやろうかと思ったがとてもじゃないがこっちを先になんとかせねば、みたいな。いろいろ調べたが結局ルーターのリセットで回復した。何が問題だったのか結局よくわからない。安いのはダメだ、みたいな話もあるけど安いものしか買えないこともまた事実であって。ワープアは残念ですねそうですね。不満はいろいろあるけど現状のままなんとかするしかない。ルーターのリセット後、無線LANのブリッジの設定がどうたらこうたら、で結局固定IP振っていたのがDHCPに戻っていたみたい。なぜか工場出荷時設定にならないというのも不思議は不思議だがもういいもういいよsyslogの転送もできないけどいいよもう(キレ気味に)。ちくしょう面白くない話ばかりだぜ。

今日はkickstartでxenカーネルを入れるようにした

だんだん本題に入りつつある。先日作成したkickstartファイルを編集して、インストール時にxenカーネルを入れるようにする。起動時にど のカーネルで上がるようにするかは明示していないが、xenカーネルしかインストールしなければxenカーネルで上がってくるようだ。以下 kickstartファイル。赤字が変更部分。 # cat /var/www/html/ks_cent54.cfg # Kickstart file automatically generated by anaconda. install #cdrom url –url http://172.16.0.1/dist repo –name=released –baseurl=http://172.16.0.1/dist repo –name=ore –baseurl=http://172.16.0.1/ore lang en_US.UTF-8 #keyboard jp106 keyboard us network –device eth0 –bootproto dhcp #rootpw –iscrypted $1$.DqY.ln7$yOJvWGbmFjuU6aiPwF9KA0 rootpw password firewall –enabled –port=22:tcp authconfig –enableshadow –enablemd5 selinux –disabled timezone Asia/Tokyo bootloader –location=mbr –driveorder=hda # The following is the partition information you requested # Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is # not guaranteed to work clearpart –all –drives=sda part /boot –fstype ext3 –size=100 –ondisk=sda part pv.2 –size=0 –grow –ondisk=sda volgroup VolGroup00 –pesize=32768 pv.2 logvol swap –fstype swap –name=LogVol01 –vgname=VolGroup00 –size=768 –grow –maxsize=1536 logvol / –fstype ext3 –name=LogVol00 –vgname=VolGroup00 –size=1024 –grow %packages @admin-tools @base @core @development-libs @development-tools @editors @ftp-server @java @java-development @legacy-network-server @legacy-software-development @legacy-software-support @mail-server @network-server @ruby @server-cfg @system-tools @text-internet @web-server @smb-server -kernel -kernel-PAE kernel-xen kmod-atl1e-xen xen libvirt virt-manager keyutils kexec-tools trousers fipscheck device-mapper-multipath perl-Convert-ASN1 imake audit

今日は細かいところを整理してみた(my homebrewed cluster part.4)

前回でだいたいできたけど、今日は細かいところを少し整理した。 やること 2.
2. IPアドレスを固定で振りたい。IPアドレスのアサイン自体はDHCPサーバでやりたいけど、MACアドレス見て固定で割り付けたい。DHCPサーバにあと登録していないMACアドレスからのDHCP要求は無視するようにしたい 4. PXEブート時に放っておいたらローカルのHDDから起動するようにしたい。そうするとOS配布用サーバを生かしたままクライアントを起動しても起動時間が少し長くなるだけでオッケイになるので。前回の宿題事項だったので。

じゃあ逝ってみようか! 1.DHCPサーバでIPアドレスを固定する

/etc/dhcpd.confで設定する。赤字が該当部分。

cat /etc/dhcpd.conf ddns-update-style interim; ignore client-updates; deny unknown-clients; # ここで登録していないMACアドレスからの要求は拒否する・・・と思う。多分。 default-lease-time 21600; max-lease-time 43200; allow booting; allow bootp; subnet 172.16.0.0 netmask 255.255.0.0 { # — default gateway option routers 172.16.0.1; option subnet-mask 255.255.0.0; range 172.16.10.1 172.16.10.254; default-lease-time 21600; max-lease-time 43200; host cluster0_1 { hardware ethernet 0:26:18:d2:85:72; fixed-address 172.16.10.1; } host cluster0_2 { hardware ethernet 0:26:18:d2:85:82; fixed-address 172.16.10.2; } host cluster0_3 { hardware ethernet 0:26:18:d2:85:9c; fixed-address 172.16.10.3; } class “pxeclients” { match if substring(option vendor-class-identifier, 0, 9) = “PXEClient”; next-server 172.16.0.1; filename “linux-install/pxelinux.0”; } } 書いたらservice dhcpd restartでdhcpdを再起動。登録していないMACからのIP割当要求はこんなかんじにignoreしていた。/var/log/messages抜粋。3行目は他のDHCPサーバ(Opensolaris上のDHCPサーバ。192.168.2.12。)が要求に答えている様子、なのかな?

Jan 31 21:51:28 localhost dhcpd: DHCPDISCOVER from 00:1b:63:34:e5:58 via eth1: unknown client Jan 31 21:51:29 localhost dhcpd: DHCPDISCOVER from 00:1b:63:34:e5:58 via eth1: unknown client Jan 31 21:51:30 localhost dhcpd: DHCPREQUEST for 192.168.2.35 (192.168.2.12) from 00:1b:63:34:e5:58 via eth1: ignored (not authoritative). 2.PXEブート時に放っておいたらローカルのHDDから起動するようにしたい

前回うまくいかなかったところを直した。結果で言うと、localbootじゃなくて、chain.c32を使えばいいみたい。まずchain.c32を/tftpbootにコピーする。

cp /usr/lib/syslinux/chain.c32 /tftpbot/linux-install 以下修正した/tftpboot/linux-install/pxelinux.cfg/defaultの内容。赤字が修正部分。

cat default default local timeout 100 prompt 1 display msgs/boot.msg F1 msgs/boot.msg F2 msgs/general.msg F3 msgs/expert.msg F4 msgs/param.msg F5 msgs/rescue.msg F7 msgs/snake.msg label local # localboot 1 # chain.c32 hd# [partition_no]と指定する。partition_noを省略するとMBRが呼び出されるみたい kernel chain.c32 append hd0 label 0 # localboot 1 kernel chain.c32 append hd0 label 1 kernel CentOS4.5/vmlinuz #append initrd=CentOS4.5/initrd.img ramdisk_size=8419 method=http://172.16.0.1/dist ip=dhcp append initrd=CentOS4.5/initrd.img ramdisk_size=8419 ksdevice=eth0 ks=http://172.16.0.1/ks_cent54.cfg devfs=nomount ip=dhcp 3.報告書作成


これこれ

4.脳内反省会

次にいこうかもうちょっといろいろ周辺を整理しようか悩む・・・。やるとすれば、DNS, NTPを追加で立てるべきかな・・・。あと192.168.2.x〜172.16.x.xを透過的に通すようにすべきか・・・。う〜ん。

謎な挙動をしている

smbでマウントしたディレクトリでlameでmp3変換スクリプト流してると、単独ファイルのはずが同じ名前で全部ディレクトリに変化したり、全然違うディレクトリの内容を表示したりする。一回いっこ上のディレクトリに上がって戻ってくると正しく表示されるようになる。おかしいけど再現条件がよくわからず。なんかこう、少し不安になる。 ・・・と思ったら再現条件わかったっぽい。別のターミナルで同じディレクトリに移動してlsするとそうなるっぽい。っぽいが、わからん。

別に無線LANはバンドオーバーできないわけではないと思う

昔会社の同僚からできないと聞いていて。なんとなくそのまま飲み込んでいたのだけど。VARP?Reverse ARP?使えばARPテーブルは書き換わるし。そもそもLive Migrationとか何なの?って話だし。やっぱできるよなあ・・・できるよ多分。L2ネットワークが前提だとは思うけど・・・。

今日は激しくOSをインストールしてみた(my homebrewed cluster part.3)

前回の続き。ネットワークが繋がらないことにはどうにもならないので、今日はインストール直後からちゃんとネットワークが動くように頑張ってみた。ELRepo使えばいいじゃんって話もあるけど自分の勉強もかねて自力で頑張ってみる。やっぱり先輩はいるもので、ここここでやりかたを解説していた。正直いままでDKMSしか知らなかったのでKMPとか初めて知った。これは読むべき。ていうか事前に読んでる前提で以下の話。超勉強になるぜ勉強するぜ。 1.RPMパッケージを作る

1.1.rpmmacroを作る

とりあえず手元にある./.rpmmacrosをベースに作ってみる。OS配布サーバの/root以下にするとこんな感じか。 %_topdir /root/rpmbuild %_smp_mflags -j3 %__arch_install_post /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot %packager Anatano Namae <anatano_namae@dokosoko.com> %_signature gpg %_gpg_path /root/.gnupg %_gpg_name Anatano Namae <anatano_namae@dokosoko.com> %_gpgbin /usr/bin/gpg ### 1.2.GPG鍵を作る

gpg –gen-key gpg (GnuPG) 1.4.5; Copyright (C) 2006 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. gpg: keyring /root/.gnupg/secring.gpg' created gpg: keyring /root/.gnupg/pubring.gpg' created Please select what kind of key you want. (1) DSA and Elgamal (default) (2) DSA (sign only) (5) RSA (sign only) Your selection? 1 DSA keypair will have 1024 bits. ELG-E keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) 1024 Requested keysize is 1024 bits Please specify how long the key should be valid. <0> = key does not expire = key expires in n days w = key expires in n weeks m = key expires in n months y = key expires in n years Key is valid for? (0) 0 Key does not expire at all Is this correct? (y/N) y You need a user ID to identify your key; the software constructs the user ID from the Real Name, Comment and Email Address in this form: “Heinrich Heine (Der Dichter) heinrichh@duesseldorf.de” Real name: Anatano Namae Email address: anatano_namae@dokosoko.com Comment: You selected this USER-ID: “Anatano Namae <anatano_namae@dokosoko.com>” Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O You need a Passphrase to protect your secret key. You don’t want a passphrase - this is probably a bad idea! I will do it anyway. You can change your passphrase at any time, using this program with the option “–edit-key”. We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. +++++++++++++++++++++++++++++++++++++++++++++..++++++++++++++++++++.+++++.++++++++++.+++++.++++++++++..++++++++++++++++++++..+++++++++++++++>++++++++++………………………………………………….+++++ Not enough random bytes available. Please do some other work to give the OS a chance to collect more entropy! (Need 284 more bytes) We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. +0+++++++++++++++++++v.+++++.++++++++++++++++++++.+++++.+++++.+++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++>+++++…..f…….d……..+++++^^^ gpg: /root/.gnupg/trustdb.gpg: trustdb created gpg: key 85592D99 marked as ultimately trusted public and secret key created and signed. gpg: checking the trustdb gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u pub 1024D/85592D99 2010-01-26 Key fingerprint = CF6E 355C 4F85 5C69 A67A A203 8C57 0983 8559 2D99 uid Anatano Namae <anatano_namae@dokosoko.com> sub 1024g/3451D799 2010-01-26 ### 1.3.ビルドするディレクトリを作る

で、/root/rpmbuildディレクトリを作る。パーミッションは700で。その下にBUILD/BUILDROOT/RPMS/SOURCES/SPECS/SRPMSの各ディレクトリを作る。 # mkdir BUILD BUILDROOT RPMS SOURCES SPECS SRPMS # ls -l total 24 drwxr-xr-x 2 root root 4096 Jan 26 23:04 BUILD drwxr-xr-x 2 root root 4096 Jan 26 23:04 BUILDROOT drwxr-xr-x 2 root root 4096 Jan 26 23:04 RPMS drwxr-xr-x 2 root root 4096 Jan 26 23:04 SOURCES drwxr-xr-x 2 root root 4096 Jan 26 23:04 SPECS drwxr-xr-x 2 root root 4096 Jan 26 23:04 SRPMS # ### 1.4.specファイルを作る

ここはELRepoのを拝借。以下掲載。 # cat /usr/src/redhat/SPECS/atl1e-kmod.spec # Define the kmod package name here. %define kmod_name atl1e Name: %{kmod_name}-kmod Version: 1.0.1.0 Release: 3.el5.elrepo Group: System Environment/Kernel License: GPL v2 Summary: %{kmod_name} kernel modules for Atheros(R) L1E Gigabit Ethernet NICs URL: http://www.atheros.com/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-build-%(%{__id_u} -n) ExclusiveArch: i686 x86_64 # Sources. Source0: %{kmod_name}-%{version}.tar.bz2 Source10: kmodtool-%{kmod_name} # If kversion isn’t defined on the rpmbuild line, build for the current kernel. %{!?kversion: %define kversion %(uname -r)} # Define the variants for each architecture. %define basevar "" %ifarch i686 %define paevar PAE %endif %ifarch i686 x86_64 %define xenvar xen %endif # If kvariants isn’t defined on the rpmbuild line, build all variants for this architecture. %{!?kvariants: %define kvariants %{?basevar} %{?xenvar} %{?paevar}} # Magic hidden here. %define kmodtool sh %{SOURCE10} %{expand:%(%{kmodtool} rpmtemplate_kmp %{kmod_name} %{kversion} %{kvariants} 2>/dev/null)} %description This package provides the %{kmod_name} kernel modules for the Atheros(R) L1E Gigabit Ethernet NIC with the PCI-Express interface. It is built to depend upon the specific ABI provided by a range of releases of the same variant of the Linux kernel and not on any one specific build. %prep %setup -q -c -T -a 0 for kvariant in %{kvariants} ; do %{__cp} -a %{kmod_name}-%{version} _kmod_build_$kvariant %{__cat} «-EOF >_kmod_build_$kvariant/%{kmod_name}.conf override %{kmod_name} * weak-updates/%{kmod_name} EOF done %build for kvariant in %{kvariants} ; do ksrc=%{_usrsrc}/kernels/%{kversion}${kvariant:+-$kvariant}-%{_target_cpu} pushd _kmod_build_$kvariant %{__make} -C “${ksrc}” modules M=$PWD popd done %install export INSTALL_MOD_PATH=$RPM_BUILD_ROOT export INSTALL_MOD_DIR=extra/%{kmod_name} for kvariant in %{kvariants} ; do ksrc=%{_usrsrc}/kernels/%{kversion}${kvariant:+-$kvariant}-%{_target_cpu} pushd _kmod_build_$kvariant %{__make} -C “${ksrc}” modules_install M=$PWD %{__install} -d ${INSTALL_MOD_PATH}/etc/depmod.d/ %{__install} %{kmod_name}.conf ${INSTALL_MOD_PATH}/etc/depmod.d/ popd done # Strip the module(s). find ${INSTALL_MOD_PATH} -type f -name *.ko -exec strip –strip-debug {} ; %clean %{__rm} -rf $RPM_BUILD_ROOT %changelog * Fri Oct 09 2009 Alan Bartlett ajb@elrepo.org - Revised the kmodtool file and this spec file. * Wed Jul 29 2009 Alan Bartlett ajb@elrepo.org - Revised the kmodtool file and this spec file. * Tue Mar 24 2009 Alan Bartlett ajb@elrepo.org - Added the .elrepo tag and code to strip the module(s). * Sat Dec 27 2008 Alan Bartlett ajb@elrepo.org - Revised this spec file. * Mon Dec 15 2008 Alan Bartlett ajb@elrepo.org - Added a .el5 identifier to the release. * Sun Nov 30 2008 Alan Bartlett ajb@elrepo.org - Initial build of the kmod packages. # ### 1.5.ソースファイルをコピーする。これもELRepoのrpmをほどいたものから拝借

1.6.ビルドの時にいるので、kernel-PAE-devel, kernel-xen-develをインストール

yum –disablerepo=* –enablerepo=c5-media install kernel-PAE-devel Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * c5-media: Setting up Install Process Resolving Dependencies –> Running transaction check —> Package kernel-PAE-devel.i686 0:2.6.18-164.el5 set to be installed –> Finished Dependency Resolution Dependencies Resolved =================================================================================================================================================== Package Arch Version Repository Size =================================================================================================================================================== Installing: kernel-PAE-devel i686 2.6.18-164.el5 c5-media 5.2 M Transaction Summary =================================================================================================================================================== Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 5.2 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : kernel-PAE-devel 1/1 Installed: kernel-PAE-devel.i686 0:2.6.18-164.el5 Complete! # yum –disablerepo=* –enablerepo=c5-media install kernel-xen-devel Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * c5-media: Setting up Install Process Resolving Dependencies –> Running transaction check —> Package kernel-xen-devel.i686 0:2.6.18-164.el5 set to be installed –> Finished Dependency Resolution Dependencies Resolved =================================================================================================================================================== Package Arch Version Repository Size =================================================================================================================================================== Installing: kernel-xen-devel i686 2.6.18-164.el5 c5-media 5.2 M Transaction Summary =================================================================================================================================================== Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 5.2 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : kernel-xen-devel 1/1 Installed: kernel-xen-devel.i686 0:2.6.18-164.el5 Complete! # ### 1.7.んでrpmbuildする

rpmbuild -bb –target i686 ./SPECS/atl1e-kmod.spec Building target platforms: i686 Building for target i686 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.19714 + umask 022 + cd /root/rpmbuild/BUILD + LANG=C + export LANG + unset DISPLAY + cd /root/rpmbuild/BUILD + rm -rf atl1e-kmod-1.0.1.0 + /bin/mkdir -p atl1e-kmod-1.0.1.0 + cd atl1e-kmod-1.0.1.0 + /usr/bin/bzip2 -dc /root/rpmbuild/SOURCES/atl1e-1.0.1.0.tar.bz2 + tar -xf - + STATUS=0 + ‘[’ 0 -ne 0 ‘]’ ++ /usr/bin/id -u + ‘[’ 0 = 0 ‘]’ + /bin/chown -Rhf root . ++ /usr/bin/id -u + ‘[’ 0 = 0 ‘]’ + /bin/chgrp -Rhf root . + /bin/chmod -Rf a+rX,u+w,g-w,o-w . + for kvariant in ‘""’ xen PAE + /bin/cp -a atl1e-1.0.1.0 _kmod_build_ + /bin/cat + for kvariant in ‘""’ xen PAE + /bin/cp -a atl1e-1.0.1.0 _kmod_build_xen + /bin/cat + for kvariant in ‘""’ xen PAE + /bin/cp -a atl1e-1.0.1.0 _kmod_build_PAE + /bin/cat + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.22401 + umask 022 + cd /root/rpmbuild/BUILD + cd atl1e-kmod-1.0.1.0 + LANG=C + export LANG + unset DISPLAY + for kvariant in ‘""’ xen PAE + ksrc=/usr/src/kernels/2.6.18-164.el5-i686 + pushd _kmod_build_ ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/_kmod_build_ ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0 + /usr/bin/make -C /usr/src/kernels/2.6.18-164.el5-i686 modules M=/root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/_kmod_build_ make: Entering directory /usr/src/kernels/2.6.18-164.el5-i686' CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_/at\_main.o CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_/at\_hw.o CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_/at\_param.o CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_/at\_ethtool.o CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_/kcompat.o LD [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_/atl1e.o Building modules, stage 2. MODPOST CC /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_/atl1e.mod.o LD [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_/atl1e.ko make: Leaving directory /usr/src/kernels/2.6.18-164.el5-i686' + popd ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0 + for kvariant in ‘""’ xen PAE + ksrc=/usr/src/kernels/2.6.18-164.el5-xen-i686 + pushd _kmod_build_xen ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/_kmod_build_xen ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0 + /usr/bin/make -C /usr/src/kernels/2.6.18-164.el5-xen-i686 modules M=/root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/_kmod_build_xen make: Entering directory /usr/src/kernels/2.6.18-164.el5-xen-i686' CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_xen/at\_main.o CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_xen/at\_hw.o CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_xen/at\_param.o CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_xen/at\_ethtool.o CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_xen/kcompat.o LD [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_xen/atl1e.o Building modules, stage 2. MODPOST CC /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_xen/atl1e.mod.o LD [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_xen/atl1e.ko make: Leaving directory /usr/src/kernels/2.6.18-164.el5-xen-i686' + popd ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0 + for kvariant in ‘""’ xen PAE + ksrc=/usr/src/kernels/2.6.18-164.el5-PAE-i686 + pushd _kmod_build_PAE ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/_kmod_build_PAE ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0 + /usr/bin/make -C /usr/src/kernels/2.6.18-164.el5-PAE-i686 modules M=/root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/_kmod_build_PAE make: Entering directory /usr/src/kernels/2.6.18-164.el5-PAE-i686' CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_PAE/at\_main.o CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_PAE/at\_hw.o CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_PAE/at\_param.o CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_PAE/at\_ethtool.o CC [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_PAE/kcompat.o LD [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_PAE/atl1e.o Building modules, stage 2. MODPOST CC /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_PAE/atl1e.mod.o LD [M] /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_PAE/atl1e.ko make: Leaving directory /usr/src/kernels/2.6.18-164.el5-PAE-i686' + popd ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0 + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.95856 + umask 022 + cd /root/rpmbuild/BUILD + cd atl1e-kmod-1.0.1.0 + LANG=C + export LANG + unset DISPLAY + export INSTALL_MOD_PATH=/var/tmp/atl1e-kmod-1.0.1.0-3.el5.elrepo-build-root + INSTALL_MOD_PATH=/var/tmp/atl1e-kmod-1.0.1.0-3.el5.elrepo-build-root + export INSTALL_MOD_DIR=extra/atl1e + INSTALL_MOD_DIR=extra/atl1e + for kvariant in ‘""’ xen PAE + ksrc=/usr/src/kernels/2.6.18-164.el5-i686 + pushd _kmod_build_ ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/_kmod_build_ ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0 + /usr/bin/make -C /usr/src/kernels/2.6.18-164.el5-i686 modules_install M=/root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/_kmod_build_ make: Entering directory /usr/src/kernels/2.6.18-164.el5-i686' INSTALL /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_/atl1e.ko DEPMOD 2.6.18-164.el5 make: Leaving directory /usr/src/kernels/2.6.18-164.el5-i686' + /usr/bin/install -d /var/tmp/atl1e-kmod-1.0.1.0-3.el5.elrepo-build-root/etc/depmod.d/ + /usr/bin/install atl1e.conf /var/tmp/atl1e-kmod-1.0.1.0-3.el5.elrepo-build-root/etc/depmod.d/ + popd ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0 + for kvariant in ‘""’ xen PAE + ksrc=/usr/src/kernels/2.6.18-164.el5-xen-i686 + pushd _kmod_build_xen ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/_kmod_build_xen ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0 + /usr/bin/make -C /usr/src/kernels/2.6.18-164.el5-xen-i686 modules_install M=/root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/_kmod_build_xen make: Entering directory /usr/src/kernels/2.6.18-164.el5-xen-i686' INSTALL /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_xen/atl1e.ko DEPMOD 2.6.18-164.el5xen make: Leaving directory /usr/src/kernels/2.6.18-164.el5-xen-i686' + /usr/bin/install -d /var/tmp/atl1e-kmod-1.0.1.0-3.el5.elrepo-build-root/etc/depmod.d/ + /usr/bin/install atl1e.conf /var/tmp/atl1e-kmod-1.0.1.0-3.el5.elrepo-build-root/etc/depmod.d/ + popd ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0 + for kvariant in ‘""’ xen PAE + ksrc=/usr/src/kernels/2.6.18-164.el5-PAE-i686 + pushd _kmod_build_PAE ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/_kmod_build_PAE ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0 + /usr/bin/make -C /usr/src/kernels/2.6.18-164.el5-PAE-i686 modules_install M=/root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/_kmod_build_PAE make: Entering directory /usr/src/kernels/2.6.18-164.el5-PAE-i686' INSTALL /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0/\_kmod\_build\_PAE/atl1e.ko DEPMOD 2.6.18-164.el5PAE make: Leaving directory /usr/src/kernels/2.6.18-164.el5-PAE-i686' + /usr/bin/install -d /var/tmp/atl1e-kmod-1.0.1.0-3.el5.elrepo-build-root/etc/depmod.d/ + /usr/bin/install atl1e.conf /var/tmp/atl1e-kmod-1.0.1.0-3.el5.elrepo-build-root/etc/depmod.d/ + popd ~/rpmbuild/BUILD/atl1e-kmod-1.0.1.0 + find /var/tmp/atl1e-kmod-1.0.1.0-3.el5.elrepo-build-root -type f -name ‘.ko’ -exec strip –strip-debug ‘{}’ ‘;’ + /usr/lib/rpm/find-debuginfo.sh /root/rpmbuild/BUILD/atl1e-kmod-1.0.1.0 + /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-compress + /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/brp-python-bytecompile + /usr/lib/rpm/redhat/brp-java-repack-jars Processing files: kmod-atl1e-1.0.1.0-3.el5.elrepo Finding Provides: /usr/lib/rpm/redhat/find-provides Finding Requires: /usr/lib/rpm/redhat/find-requires Provides: kabi-modules = 2.6.18-164.el5 atl1e-kmod = 1.0.1.0-3.el5.elrepo modalias(pci:v00001969d00001026svsdbcsci) = 1.0.1.0 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(VersionedDependencies) <= 3.0.3-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 Requires(post): /sbin/depmod /bin/sh Requires(preun): /bin/sh Requires(postun): /sbin/depmod /bin/sh Requires: kernel(rhel5_mm_ga) = 09f63dfab81bba7e01a2bf693f5ce125db466051 kernel(rhel5_drivers_pci_ga) = 33d9e0612417f727a0d8311c229fe8a80c65bb65 kernel(rhel5_net_core_ga) = 5aae342a66dcbcc14a7c1c001624f73a13620809 kernel(rhel5_kernel_module_ga) = 1b051ce57d6b18fdf071786f6f7296d3d0ab28f9 kernel(rhel5_kernel_ga) = 2cd142708e2d573b2de522df5df87aaeb7c1d298 kernel(rhel5_kernel_irq_ga) = 828c3f468e7a640d409d2bf24b4676e457406917 kernel(rhel5_init_ga) = e18da0926c862eaed98f20f312403ea33c944cbd kernel(rhel5_arch_i386_kernel_ga) = d1c30e0a553e9225eebd1b866e0d3ed7a6154147 kernel(rhel5_net_sched_ga) = 85d96cb2f432b540922c05edf889854d63884830 kernel(rhel5_vmlinux_ga) = 2bf444396ff7060828059d7a5379435140aee48a kernel(rhel5_arch_i386_mm_ga) = 0164a9bd3f1d0935cd3dcb734785179f25c1a064 kernel(rhel5_net_ethernet_ga) = 9c3c45aebe364e710f059016c591287b76553c11 Processing files: kmod-atl1e-xen-1.0.1.0-3.el5.elrepo Finding Provides: /usr/lib/rpm/redhat/find-provides Finding Requires: /usr/lib/rpm/redhat/find-requires Provides: kabi-modules = 2.6.18-164.el5xen atl1e-kmod = 1.0.1.0-3.el5.elrepo modalias(pci:v00001969d00001026svsdbcsci*) = 1.0.1.0 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(VersionedDependencies) <= 3.0.3-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 Requires(post): /sbin/depmod /bin/sh Requires(preun): /bin/sh Requires(postun): /sbin/depmod /bin/sh Requires: kernel(rhel5_mm_ga) = 5016f99aaf599aa846aa6937d9f20b5b1c4e3575 kernel(rhel5_net_sched_ga) = f37da797205bc94ee3ef5c164fe5e1f648db3483 kernel(rhel5_net_core_ga) = f7b50e8442f1ebbdb5da72ae720b178334020d33 kernel(rhel5_kernel_module_ga) = d5735208bc6503ccd8948759997ed61fb6889451 kernel(rhel5_kernel_ga) = 52c756e7a0505cfbcd0285fd99a855956b18c37b kernel(rhel5_drivers_pci_ga) = 454a29c6f654e93a3899a3fa29d214ea326c98bc kernel(rhel5_kernel_irq_ga) = 828c3f468e7a640d409d2bf24b4676e457406917 kernel(rhel5_init_ga) = e18da0926c862eaed98f20f312403ea33c944cbd kernel(rhel5_net_ethernet_ga) = 9c11f8f984fd4c5de39b059a170378fb6b676650 kernel(rhel5_arch_i386_kernel_ga) = 4b96372e997f8b63b9592eed1bf476f98ba7469d kernel(rhel5_vmlinux_ga) = d1de93c7337d058f90834388c99daa94ca262d90 ksym(pci_enable_msi) = 7e2b784b kernel(rhel5_arch_i386_mm_ga) = c4f1b9a53127e1f1ab1680c9a78e23b73ff1b054 kernel(rhel5_arch_i386_mach_xen_ga) = f140ac8f99498655de6d2128067bff4946e3cbcf ksym(pci_disable_msi) = e6abde88 Processing files: kmod-atl1e-PAE-1.0.1.0-3.el5.elrepo Finding Provides: /usr/lib/rpm/redhat/find-provides Finding Requires: /usr/lib/rpm/redhat/find-requires Provides: kabi-modules = 2.6.18-164.el5PAE atl1e-kmod = 1.0.1.0-3.el5.elrepo modalias(pci:v00001969d00001026svsdbcsci*) = 1.0.1.0 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(VersionedDependencies) <= 3.0.3-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 Requires(post): /sbin/depmod /bin/sh Requires(preun): /bin/sh Requires(postun): /sbin/depmod /bin/sh Requires: kernel(rhel5_mm_ga) = 6332c6ed3ca143359798a4529631ebefa894a9c9 kernel(rhel5_drivers_pci_ga) = 50086fb8ed28719cd834e4faca88e0dd8e6451eb kernel(rhel5_net_core_ga) = d9d07c04de86c56d6fa0af24917e03af183200f8 kernel(rhel5_kernel_module_ga) = 6a580650b415bc0a40b1d9914dac45fe3eb24526 kernel(rhel5_kernel_ga) = 20c31f5714940a261cdf954d5a8195d6bcffc42a kernel(rhel5_kernel_irq_ga) = 828c3f468e7a640d409d2bf24b4676e457406917 kernel(rhel5_init_ga) = e18da0926c862eaed98f20f312403ea33c944cbd kernel(rhel5_net_ethernet_ga) = 17934f3ea7f56deeaa9b45e5fa8ea47db815ac51 kernel(rhel5_net_sched_ga) = 2210a9a7709720cd845203f97b52c4d2c2758a5c kernel(rhel5_arch_i386_kernel_ga) = 122d62e3da674471acbdef78d5c2cc8206275af9 kernel(rhel5_vmlinux_ga) = 60527c0937744189fdc3fcc5dd43601b259d0cf1 kernel(rhel5_arch_i386_mm_ga) = 7fd3d573119f55b3123fce44b3c6dd1961226949 Processing files: atl1e-kmod-debuginfo-1.0.1.0-3.el5.elrepo Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/atl1e-kmod-1.0.1.0-3.el5.elrepo-build-root Wrote: /root/rpmbuild/RPMS/i686/kmod-atl1e-1.0.1.0-3.el5.elrepo.i686.rpm Wrote: /root/rpmbuild/RPMS/i686/kmod-atl1e-xen-1.0.1.0-3.el5.elrepo.i686.rpm Wrote: /root/rpmbuild/RPMS/i686/kmod-atl1e-PAE-1.0.1.0-3.el5.elrepo.i686.rpm Wrote: /root/rpmbuild/RPMS/i686/atl1e-kmod-debuginfo-1.0.1.0-3.el5.elrepo.i686.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.12479 + umask 022 + cd /root/rpmbuild/BUILD + cd atl1e-kmod-1.0.1.0 + /bin/rm -rf /var/tmp/atl1e-kmod-1.0.1.0-3.el5.elrepo-build-root + exit 0 # で、見るとrpmファイルができている。 # find .|grep -v BUILD . ./SRPMS ./SPECS ./SPECS/atl1e-kmod.spec ./RPMS ./RPMS/i686 ./RPMS/i686/atl1e-kmod-debuginfo-1.0.1.0-3.el5.elrepo.i686.rpm ./RPMS/i686/kmod-atl1e-xen-1.0.1.0-3.el5.elrepo.i686.rpm ./RPMS/i686/kmod-atl1e-1.0.1.0-3.el5.elrepo.i686.rpm ./RPMS/i686/kmod-atl1e-PAE-1.0.1.0-3.el5.elrepo.i686.rpm ./SOURCES ./SOURCES/kmodtool-atl1e ./SOURCES/atl1e-1.0.1.0.tar.bz2 # できたrpmファイルに署名する。 # cd RPMS/i686 # for i in ls -1 *.rpm > do > rpm –addsign $i > done Enter pass phrase: Pass phrase is good. atl1e-kmod-debuginfo-1.0.1.0-3.el5.elrepo.i686.rpm: gpg: WARNING: standard input reopened gpg: WARNING: standard input reopened Enter pass phrase: Pass phrase is good. kmod-atl1e-1.0.1.0-3.el5.elrepo.i686.rpm: gpg: WARNING: standard input reopened gpg: WARNING: standard input reopened Enter pass phrase: Pass phrase is good. kmod-atl1e-PAE-1.0.1.0-3.el5.elrepo.i686.rpm: gpg: WARNING: standard input reopened gpg: WARNING: standard input reopened Enter pass phrase: Pass phrase is good. kmod-atl1e-xen-1.0.1.0-3.el5.elrepo.i686.rpm: gpg: WARNING: standard input reopened gpg: WARNING: standard input reopened # おk。じゃあ次に進む。 2.できたrpmを配布するためにリポジトリを作る


前回インストールしたリポジトリとは別のものを作る。混ぜると危険。(今回ここでめちゃめちゃハマった) まずrpm本体ファイルをコピーする # cd /root/rpmbuild # mkdir -p /var/www/html/ore/CentOS # cp RPMS/*.rpm /var/www/html/ore/CentOS/ コピーしただけじゃリポジトリの一部として認識できないのでcreaterepoする。まずはcreaterepoをインストール。 # yum –disablerepo=* –enablerepo=c5-media install createrepo んでcreaterepoする。 # cd /var/www/html/ore # mkdir repodata # touch repodata/comps.xml # createrepo -g repodata/comps.xml -o /var/www/html/ore /var/www/html/ore 4/4 - CentOS/lapack-3.0-37.el5.i386.rpm m6.rpm Saving Primary metadata Saving file lists metadata Saving other metadata # とりあえずモジュールが含まれているかどうか確認。 # cd repodata # zcat filelist.xml.gz | grep kmod-atl1e /etc/depmod.d/atl1e.conf/lib/modules/2.6.18-164.el5xen/extra/atl1e/atl1e.ko/lib/modules/2.6.18-164.el5xen/lib/modules/2.6.18-164.el5xen/extra/lib/modules/2.6.18-164.el5xen/extra/atl1e /etc/depmod.d/atl1e.conf/lib/modules/2.6.18-164.el5/extra/atl1e/atl1e.ko/lib/modules/2.6.18-164.el5/lib/modules/2.6.18-164.el5/extra/lib/modules/2.6.18-164.el5/extra/atl1e /etc/depmod.d/atl1e.conf/lib/modules/2.6.18-164.el5PAE/extra/atl1e/atl1e.ko/lib/modules/2.6.18-164.el5PAE/lib/modules/2.6.18-164.el5PAE/extra/lib/modules/2.6.18-164.el5PAE/extra/atl1e # おk。入ってるっぽいな。 じゃあkickstartの設定ファイルを編集してkmod-atl1eを追加。今回i686-PAEカーネルが入るのでそれを反映して。 # cd /var/www/html # vi ks_centos54.cfg 変更部分は赤字 # Kickstart file automatically generated by anaconda. install #cdrom url –url http://172.16.0.1/dist repo –name=dist –baseurl=http://172.16.0.1/dist repo –name=ore –baseurl=http://172.16.0.1/ore lang en_US.UTF-8 keyboard jp106 network –device eth0 –bootproto dhcp #rootpw –iscrypted $1$.DqY.ln7$yOJvWGbmFjuU6aiPwF9KA0 rootpw password firewall –enabled –port=22:tcp authconfig –enableshadow –enablemd5 selinux –disabled timezone Asia/Tokyo bootloader –location=mbr –driveorder=hda # The following is the partition information you requested # Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is # not guaranteed to work clearpart –all –drives=sda part /boot –fstype ext3 –size=100 –ondisk=sda part pv.2 –size=0 –grow –ondisk=sda volgroup VolGroup00 –pesize=32768 pv.2 logvol swap –fstype swap –name=LogVol01 –vgname=VolGroup00 –size=768 –grow –maxsize=1536 logvol / –fstype ext3 –name=LogVol00 –vgname=VolGroup00 –size=1024 –grow %packages @admin-tools @base @core @development-libs @development-tools @editors @ftp-server @java @java-development @legacy-network-server @legacy-software-development @legacy-software-support @mail-server @network-server @ruby @server-cfg @system-tools @text-internet @web-server @smb-server kmod-atl1e-PAE (<–これを追加した) keyutils kexec-tools trousers fipscheck device-mapper-multipath perl-Convert-ASN1 imake audit 3.じゃあクライアントをkickstartしてみるか

で、インストール直後からネットワークも使えてよいことになった! 4.報告書作成

これ書いた 5.脳内反省会

今日はVirtualBox上のOpenSolarisで音を出した

いろいろ参考にした。まとめるとこんな感じか。ハードウェアはMacbooc。Intel ICH AC97。VirtualBoxの設定では、ホストドライバはCoreAudio、コントローラはICH AC97になっている。

  1. pfexec pkg uninstall SUNWaudiohd
  2. リブート
  3. ここから"Solaris 10/11 (x86/AMD64)“用のpkgをダウンロードする
  4. 既にossパッケージが入っているようならpkgrm ossして、リブート
  5. で、pfexec pkgadd -d oss-solaris-v4.2-2002-i386.pkg
  6. pfexec rm -f /etc/rc3.d/S89oss
  7. 再起動
  8. 再起動後デバイスドライバユーティリティで見ると、oss_ichデバイスドライバでオーディオデバイスが見えてる。一般ユーザでosstestすると音が鳴るはず
  9. 一般ユーザでgstreamer-propertiesを開く
  10. 出力をいろいろ変えながらテストボタンを押すとなんか音が出る
  11. パネルの音量調節はなんかうまくリンクしてないので、一回削除してはり直す

て感じか。システム更新すると鳴らなくなったりするのでそのときは上の手順をやり直し。

いままでFedoraだと音は出るけど遅くなったり早くなったりと残念クオリティだったけど。これだけでOpenSolaris使ってみる気出てくるわ〜。次はaudaciousだな。

今日はベニヤサーバにOSを入れてみた(my homebrewed cluster part.2)

  1. 今日はOSを入れるぜ

前回まででハードウェアは大体組めた。現状は以下のような構成になっている。

draw100104-1

まずはCentOSでpxeboot&kickstartでOSのインストールをできるだけ省力化しようと努力してみた。

  1. インストールサーバの準備

2.1. CentOS5.4をVirtualBox上の仮想サーバとして作る

Macbookから、“ssh -X user@opensolaris"としてログインし、VirtualBoxを起動してXをMacbookに飛ばしてくる。Mac超便利!とりあえずディスクサイズは最大20GBの可変サイズで作成。

作成後は一旦シャットダウン。ネットワークデバイスをブリッジ接続にしてブート。

2.2. インストール用リポジトリを展開する

インストールできたら、インストールに使用したDVDから、ネットワークインストール用に内容をコピーする。

mount -o ro /dev/cdrom /media/cdrom # mkdir -p /var/www/html/dist # cd /media/cdrom # tar cf - . | ( cd /var/www/html/dist ; tar xvf - ) ブラウザからhttp://virtualserver/dist/で内容が見れることを確認。

2.3. TFTPサーバを構成する

Red Hat(CentOS)にはsystem-config-netbootというGUIツールで比較的容易にTFTPサーバを構成できるツールがあるのでこれを使ってみる。

yum –disablerepo=* –enablerepo=c5-media install system-config-netboot* で、インストールしたら"system-config-netboot"で起動。

sc100104-1

“Network Install"を選択。

sc100104-2

[Operating system identifier], [Description]には識別可能な文字列 [Select protocol for installation]は"HTTP” [kickstart]は(とりあえず今は)空欄 [Server IP Address]にはHTTPサーバのIPアドレス(この場合は172.16.0.1)※OKボタンを押した時点でここにHTTPで到達可能なようにしておくこと。 [Location]はDocumentRootからの相対アドレス

を書く。で、OK。

次はクライアント側。

sc100104-3

ここはクライアント側のIPアドレスだけ入れてOK。

できあがったtftpdの設定は以下のようになっている。

cat /tftpboot/linux-install/pxelinux.cfg/default default local timeout 100 prompt 1 display msgs/boot.msg F1 msgs/boot.msg F2 msgs/general.msg F3 msgs/expert.msg F4 msgs/param.msg F5 msgs/rescue.msg F7 msgs/snake.msg label local localboot 1 label 0 localboot 1 label 1 kernel nodeA/vmlinuz append initrd=nodeA/initrd.img ramdisk_size=8419 method=http://172.16.0.1/dist ip=dhcp ここにある"nodeA/vmlinuz”, “nodeA/initrd.img"はそれぞれ”/tftpboot/linux-install"からの相対パスになっている。

2.4. DHCPサーバを構成する

次にDHCPサーバを構成する。まずはインストール。

yum –disablerepo=* –enablerepo=c5-media install dhcp # cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf cp: overwrite `/etc/dhcpd.conf'? y /etc/dhcpd.confを編集する。赤字部分がpxebootに関係する部分。

ddns-update-style interim; ignore client-updates; allow booting; allow bootp; default-lease-time 21600; max-lease-time 43200; subnet 172.16.0.0 netmask 255.255.0.0 { option routers 172.16.0.1; option subnet-mask 255.255.0.0; range 172.16.10.1 172.16.10.254; default-lease-time 21600; max-lease-time 43200; class “pxeclients” { match if substring(option vendor-class-identifier, 0, 9) = “PXEClient”; next-server 172.16.0.1; filename “linux-install/pxelinux.0”; } } ここまできたら、dhcpdとtftpdを動かす。

chkconfig dhcpd on # /etc/init.d/dhcpd start # chkconfig tftp on # chkconfig xinetd on # /etc/init.d/xinetd restart クライアント側は事前にPXE起動できるようBIOS設定しておく。キーボード、ネットワークケーブル、VGAモニタをつけて電源を入れる。以下のような画面が出れば成功。[1]キーをタイプして"nodeA"のブートプロセスに移行する。

cimg1358

ただしこのままブートプロセスを進めると、以下のように通常のインストールになってしまうので、次はkickstartの設定を追加する。

cimg1359

2.5. kickstartファイルを用意する

kickstartファイルはインストールサーバをインストールした時に/rootにできているanaconda-ks.cfgをベースに少し変更する。赤字部分が変更したところ。

Kickstart file automatically generated by anaconda. install #cdrom url –url http://172.16.0.1/dist lang en_US.UTF-8 keyboard jp106 network –device eth0 –bootproto dhcp #rootpw –iscrypted $1$J1wcQuxw$sfIj335v9EAHSm1Kct9UU1 rootpw password firewall –enabled –port=22:tcp authconfig –enableshadow –enablemd5 selinux –disabled timezone Asia/Tokyo bootloader –location=mbr –driveorder=hda # The following is the partition information you requested # Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is # not guaranteed to work #clearpart –all –drives=hda clearpart –all –drives=sda part /boot –fstype ext3 –size=100 –ondisk=sda part pv.2 –size=0 –grow –ondisk=sda volgroup VolGroup00 –pesize=32768 pv.2 logvol swap –fstype swap –name=LogVol01 –vgname=VolGroup00 –size=768 –grow –maxsize=1536 logvol / –fstype ext3 –name=LogVol00 –vgname=VolGroup00 –size=1024 –grow %packages @admin-tools @base @core @dns-server @development-libs @development-tools @editors @ftp-server @java @java-development @legacy-network-server @legacy-software-development @legacy-software-support @mail-server @network-server @ruby @server-cfg @system-tools @text-internet @web-server @smb-server keyutils kexec-tools trousers fipscheck device-mapper-multipath perl-Convert-ASN1 imake audit で、これを/var/www/html以下におく。

mv ks_cent54.cfg /var/www/html # chmod 644 /var/www/html/ks_cent54.cfg で、/tftpboot/linux-install/pxelinux.cfg/defaultを編集する。赤字が変更部分。

default local timeout 100 prompt 1 display msgs/boot.msg F1 msgs/boot.msg F2 msgs/general.msg F3 msgs/expert.msg F4 msgs/param.msg F5 msgs/rescue.msg F7 msgs/snake.msg label local localboot 1 label 0 localboot 1 label 1 kernel nodeA/vmlinuz # append initrd=nodeA/initrd.img ramdisk_size=8419 method=http://172.16.0.1/dist ip=dhcp append initrd=nodeA/initrd.img ramdisk_size=8419 ksdevice=eth0 ks=http://172.16.0.1/ks_cent54.cfg devfs=nomount ip=dhcp これで変更はおわり。クライアント側をもう一度起動してみる。

  1. じゃあクライアントにインストールしてみる→失敗する訳だがorz

で、クライアントを起動してみると、kickstartファイルの読み込みに失敗する。(ハードウェアの構成によってはここで読み込める人もいるかもしれない。その人はここで終わり。Enjoy!)

cimg1361

で、[Alt]+[F4]キーでログを見てみると、ネットワークデバイスドライバが読み込めていないのでネットワークに繫げられていないことがわかる。

そういえば前回、ネットワークカードの設定をしながら「これってAtherosのネットワークチップなんだ・・・」と思っていたが。で、マザーボード(P5KPL-AM EPL)のメーカーAsusのホームページを見てみると、Linux用にドライバが用意されている。おお!これ組み込めばいいんじゃね?となる。

  1. ネットワークドライバをpxebootで使用するinitrd.imgに追加する

以下さらっと書いてますがかなり試行錯誤しました・・・。

まずASUSのページからダウンロードしたドライバをインストールサーバにおいて、展開する。

mac$ scp LinuxDrivers.zip root@instserver:/root root@instserver’s password: LinuxDrivers.zip 100% 4586KB 4.5MB/s 00:01 mac$ ssh root@instserver root@instserver’s password: Last login: Mon Jan 4 22:53:51 2010 from mac # ls anaconda-ks.cfg install.log install.log.syslog LinuxDrivers.zip # unzip LinuxDrivers.zip 展開先のディレクトリに移動し、ドライバをmakeする。本来は不要なmake installまでやってるが、ここで変更される内容を後で参照するため。もしかしたらmake installしなくてもいい方法があるのかもしれないがよくわかんない。

cd LinuxDrivers/Lan/src # make make -C /lib/modules/2.6.18-164.el5/build SUBDIRS=/root/LinuxDrivers/Lan/src modules make[1]: Entering directory /usr/src/kernels/2.6.18-164.el5-i686' CC [M] /root/LinuxDrivers/Lan/src/at\_main.o CC [M] /root/LinuxDrivers/Lan/src/at\_hw.o CC [M] /root/LinuxDrivers/Lan/src/at\_param.o CC [M] /root/LinuxDrivers/Lan/src/at\_ethtool.o CC [M] /root/LinuxDrivers/Lan/src/kcompat.o LD [M] /root/LinuxDrivers/Lan/src/atl1e.o Building modules, stage 2. MODPOST CC /root/LinuxDrivers/Lan/src/atl1e.mod.o LD [M] /root/LinuxDrivers/Lan/src/atl1e.ko make[1]: Leaving directory /usr/src/kernels/2.6.18-164.el5-i686' # make install make -C /lib/modules/2.6.18-164.el5/build SUBDIRS=/root/LinuxDrivers/Lan/src modules make[1]: Entering directory /usr/src/kernels/2.6.18-164.el5-i686' Building modules, stage 2. MODPOST make[1]: Leaving directory /usr/src/kernels/2.6.18-164.el5-i686' gzip -c ../atl1e.7 > atl1e.7.gz # remove all old versions of the driver find /lib/modules/2.6.18-164.el5 -name atl1e.ko -exec rm -f {} ; || true find /lib/modules/2.6.18-164.el5 -name atl1e.ko.gz -exec rm -f {} ; || true install -D -m 644 atl1e.ko /lib/modules/2.6.18-164.el5/kernel/drivers/net/atl1e/atl1e.ko /sbin/depmod -a || true install -D -m 644 atl1e.7.gz /usr/share/man/man7/atl1e.7.gz man -c -P’cat > /dev/null' atl1e || true # 次にpxebootで使われるinitrd.imgをほどく。

cd /tftpboot/linux-install/nodeA/ # mkdir initrd # cd initrd # zcat ../initrd.img | cpio -i -c # ls bin dev etc init modules proc sbin selinux sys tmp var # さらにmodules以下にある、各ファイルに変更をくわえる。 まずはドライバ本体(atl1e.ko)をmodules.cgzアーカイブにくわえる。

cd modules # ls module-info modules.alias modules.cgz modules.dep pci.ids # mkdir modulesdir # cd modulesdir # zcat ../modules.cgz | cpio -idv # ls 2.6.18-164.el5 # cd 2.6.18-164.el5/i686/ # cp /root/LinuxDrivers/Lan/src/atl1e.ko . # chmod 744 atl1e.ko # cd ../.. # find .| cpio -c -o | gzip -c9 > ../modules.cgz 27112 blocks # cd .. # rm -rf ./modulesdir # 次に、module-info, modules.alias, modules.dep, pci.idsの各ファイルに適切なエントリを追加する。何が適切かってのは参照するところがあるので以下参照。

まずはmodule-info。赤字が追加内容。インデントのスペースは実際にはタブです。追加の3行目はどんな文字でもいいのかもしれない。よくわかんない。

(前略) ata_piix scsi “Intel PIIX/ICH ATA controllers” atl1e eth “Atheros Gigabit Ethernet” atmel_cs eth “Atmel at76c50x 802.11 PCMCIA wireless ethernet” (後略) 次にmodules.alias。まずは追加する内容を以下のように確認する。赤字部分がそれ。

grep atl1e /lib/modules/2.6.18-164.el5/modules.alias alias pci:v00001969d00001026svsdbcsci* atl1e # で、pxeboot側のmodules.aliasを編集。赤字が追加内容。

alias pci:v00008086d00007010svsdbcsci* ata_piix alias pci:v00001969d00001026svsdbcsci* atl1e alias pcmcia:mcffnpfnpaB474D43Apb6B1FEC94pcpd* atmel_cs 次にmodules.dep。まずは確認。赤字部分がそれ。

grep atl1e /lib/modules/2.6.18-164.el5/modules.dep /lib/modules/2.6.18-164.el5/kernel/drivers/net/atl1e/atl1e.ko: 依存モジュールはないという意味だと思われたので、pxeboot側のmodules.depは特に変更せず。

最後にpci.ids。まずは確認。赤字部分がそれ。

grep atl1e /lib/modules/2.6.18-164.el5/modules.pcimap atl1e 0x00001969 0x00001026 0xffffffff 0xffffffff 0x00000000 0x00000000 0x0 赤字部分を以下のように追加する。インデントのスペースは実際にはタブです。

(前略) 18ca XGI Technology Inc. (eXtreme Graphics Innovation) 0020 Z7/Z9 (XG20 core) 0040 Volari V3XT/V5/V8 1969 Atheros Corp. 1026 Atheros Gigabit Ethernet 197b JMicron Technology Corp. (後略) 最後にinitrd.imgを再作成する。

find .| cpio -c -o | gzip -c9 > ../initrd.img 27809 blocks # これでおしまい。

  1. クライアントインストール再挑戦→成功!

クライアントを再度poweronして、pxebootする。うまく行けばanacondaのStage2まで移行して、インストールが開始される。

cimg1369

後は再起動を促す表示が出たら、再起動。

ただしpxebootを有効にしておくと、再起動後またインストール前の画面になり、通常であれば10秒待てばHDDからブートするはずだがブートしない。これはよくわかんなかった。要調査。とりあえずはdhcpdのpxeclients部を無効にしておけばいい。こんな感じ。/etc/init.d/dhcpd restartも忘れずに。

ddns-update-style interim; ignore client-updates; #allow booting; #allow bootp; default-lease-time 21600; max-lease-time 43200; subnet 172.16.0.0 netmask 255.255.0.0 { option routers 172.16.0.1; option subnet-mask 255.255.0.0; range 172.16.10.1 172.16.10.254; default-lease-time 21600; max-lease-time 43200; # class “pxeclients” { # match if substring(option vendor-class-identifier, 0, 9) = “PXEClient”; # next-server 172.16.0.1; # filename “linux-install/pxelinux.0”; # } } クライアントがインストールしたOSでブートすれば完了。

  1. 報告書作成

これ書いた。

  1. 脳内反省会

  • 疲れた・・・
  • 世の中に情報あんまりないですね・・・
  • HDDブートできるようにしたいなあ・・・
  • インストール時にatl1eドライバも入れたい
  • 他のリポジトリも同時にインストールできるようにしたいなあ こんな感じ!?

今日はWoLにトライして断念した

先日の続き。とりあえず3ノードできた。 WoLを試みるもできない。そういえば昔もトライして断念した記憶が・・・orz * マザーボードはAsus P5KPL-AM EPU

  • BIOSで[Power]-[ACPI 2.0 Support]を"Enable"に
  • [Power]-[APM Configuration]-[Power On By PCIE Devices]を"Enable"に
  • で、電源OFF。NICのLEDが点灯する。
  • wakeonlanを使用して、$ wakeonlan xx:xx:xx:xx:xx:xx とする
  • ・・・電源はいらねえしorz いろいろぐぐってもWindowsのデバイスマネージャで設定をなんとかかんとか、とか。Windows持ってねーし。しょうがないのでちょっとこれは一時保留。OS入れようOS!