Dell のマグロ Zino HD (Inspiron 400) を鯖にする
2010-05-19 3:46 | カテゴリー: 未分類 | コメントするDell の廉価なマグロを ESXi の鯖にする。
NICのチップはBroadcomだったので安心していたが、ESXi 4.0 標準の tg3ドライバでは認識せず。
simple.mapに書いてもだめ。ドライバが持っている PCI ID の一覧にないので、そもそもプローブしない。
ちなみに NIC のチップは PCI ID が 14e4:1692 で、NetLink BCM57780 Gigabit Ethernet PCIe らしい。
VMware のサイトから、VMware-esx-public-source-4.0-208249.tar.gz をダウンロードして、ドライバのビルドを試みる。
Broadcomのサイトから、最新のドライバのソースコード(このメモの記載時はlinux-3.105h.zip)をダウンロードしてくる。
VMware-esx-public-source-4.0-208249.tar.gz から vmkdrivers-gpl.tgz をとりだし、vmkdrivers-gpl以下に展開。
mkdir vmkdrivers-gpl
cd vmkdrivers-gpl
tar xfzO ../VMware-esx-public-source-4.0-208249.tar.gz vmkdrivers-gpl.tgz | tar xfz -
linux-3.105h.zip に含まれている tg3-3.105h.tar.gz を展開する。
unzip linux-3.105h.zip
tar xfz Server/Linux/Driver/tg3-3.105h.tar.gz
vmkdrivers-gpl の vmkdrivers/src26/drivers/net/tg3 の中身を、展開した tg3-3.105h のものと置き換える。
rm ~/vmkdrivers/src26/drivers/net/tg3/*
cp ~/tg3-3.105h/* ~/vmkdrivers/src26/drivers/net/tg3
vmkdrivers-gpl にあわせて tg3_flags.hを作成する。
cd ~vmkdrivers-gpl/vmkdrivers/src26/drivers/net/tg3
makeflags.sh ~/vmkdrivers-gpl/vmkdrivers/src26
さらにtg3_flags.h に
#define VMWARE_ESX_40_DDK
を追加。
ビルドしたら INIT_WORK マクロの引数の数が合わないとエラーが出たので、ちょこっとハック
--- tg3-3.105h/tg3.c 2010-02-05 09:35:28.000000000 +0900 +++ tg3.c 2010-05-18 16:48:53.000000000 +0900 @@ -15310,7 +15310,11 @@ #ifdef BCM_HAS_NEW_INIT_WORK INIT_WORK(&tp->reset_task, tg3_reset_task); #else +#if 0 INIT_WORK(&tp->reset_task, tg3_reset_task, tp); +#else + INIT_WORK(&tp->reset_task, tg3_reset_task); +#endif #endif tp->regs = pci_ioremap_bar(pdev, BAR_0);
build-vmkdrivers.sh でドライバをビルドし、できあがった bora/build/scons/build/vmkdriver-tg3.o/release/vmkernel64/tg3.o を使って oem.tgz を作成すればよし。
Opera では CNET Japan が表示できない
2010-05-02 18:29 | カテゴリー: 未分類 | コメントするJavaScript で、互換性のない書き方をしているようなので、サイトごとの設定で JavaScript を無効にしてしまう。
ついでに http://japan.cnet.com/media/c/2006/img/cnet_background.gif をブロックしてしまえば、頭の痛くなる背景の黄色がでなくなる。
GNU tail バグってる
2010-04-16 23:19 | カテゴリー: 未分類 | コメントするtail +n ができない。
tail -n +n すればいいんだけど、手が覚えていることを変えるのはなかなかたいへん。
ATEN製KVMのACアダプタ
2010-04-07 16:24 | カテゴリー: 未分類 | コメントするPC切替機がこわれた。
正確には、PC切替機のACアダプタが壊れていて、十分な電力を供給できないようだ。中の部品が安物で、温度寿命設計に余裕がないんだろうと思う。
しかたがないので、秋月で使えそうなACアダプタを買ってきたが、DCプラグの内径が合わない。ATEN付属のものは2.5φ、秋月で買ったものは2.1φ。
あらためてDCプラグのパーツを千石で買ってきて交換した。
一週間ぶりに切替機復活。
eneloop air fresher のミストが出なくなった
2010-02-02 21:52 | カテゴリー: 未分類 | コメントするeneloop air fresher のミストが出なくなった。
この前、ミストの出が悪くなっていたのを掃除する際に、掃除用のクエン酸水溶液がなかったので、ポッカレモンで代用したのが悪かったのか。
車の中でつかうので、高速道のサービスエリアの手洗いの水を使っていたのかいけなかったのか。
ポッカレモンで掃除したときは、そのあと2時間くらい動かして、果汁分もミストと一緒に出てしまったはずだし。
あらためてクエン酸で掃除してもダメ。
吸水棒を新しくしてもダメ。
エイやと分解してみたら振動板のところだけむき出しにできたので、エアダスターで掃除したら復活しました。
Solarisバンドルの7z/7za
2009-12-19 22:11 | カテゴリー: 未分類 | コメントするパスワードをttyから与えると、8文字まで切られる。
-pオプションだと切られることはない。
getpassphraseを使わずにgetpass を使っているせいか。
Linuxのftruncateのなぞ
2009-11-21 23:24 | カテゴリー: 未分類 | コメントするほかの OS で動いているプログラムを、Linux にポーティングしようとしたら、なぞのBUS ERRORが出る現象に悩まされて、途方にくれた。
どこかでヒープを壊しているのかと、Electric Fence でチェックしたりしたが、最終出力処理の手前までは全然問題のないデータが、最終出力処理の中では、すっかり壊れてしまっているという不思議な現象で、さっぱり原因がつかめなかった。
最終出力処理の手前で、ファイルをtruncateしているのだが、ためしに ftruncate をやめたら BUS ERROR がなくなった。
わかったこと
サイズ 0 に ftruncate してから書き込み処理にいくと、書き込み処理のなかで、BUS ERROR で落ちる。
fd = open(...);
読み出し処理;
if (lseek(fd, (off_t)0, SEEK_SET) < 0)
perroe("lseek");
if (ftruncate(fd, (off_t)0) < 0)
perroe("ftruncate");
if ((fp = fdopen(fd, "w")) == NULL)
perroe("fdopen");
書き込み処理;
fclose(fp);
これが、書き込んでから、ftruncate する分には問題ない。
fd = open(...);
読み出し処理;
if (lseek(fd, (off_t)0, SEEK_SET) < 0)
perroe("lseek");
if ((fp = fdopen(fd, "w")) == NULL)
perroe("fdopen");
書き込み処理;
if (ftruncate(fileno(fp), ftell(fp)) < 0)
perrpe("ftruncate");
fclose(fp);
なんやねん、これ。ここに気かつくまで、ずいぶん時間をむだにした。
読み出し処理の中では、バッファをmmapしてつかっているけど、これが影響しているのか?
追記:
ftruncateするまえに、munmapしてみたけど、データが壊れて BUS ERROR で落ちる現象はかわらず。
alter user 〜 identified by values 〜
2009-11-06 22:51 | カテゴリー: 未分類 | コメントするOracle11g 以降は、
select name, password, spare4 from user$;
のspare4の値を使用する。
WordPress.com Blog. | テーマ: Pool by Borja Fernandez
投稿 と コメント feeds.