logo

Archive for 2012年1月21日

伊勢神宮に初詣に行く

遅くなりましたが、初詣で伊勢神宮にいきました。

5日ということで、参拝客もかなり減ってきてるらしいです。

それでもかなり、人は多かったです。

 

 

外宮からまわって内宮にきました。

内宮の第一駐車場へ止めていざ参拝です。

とおもったら、赤福の店があったので、休憩です。

赤福を買えば、お茶をくれます。休憩にはちょうどいいかんじです。

 

宇治橋を渡れば、

 

 

宇治橋

内宮への入口、五十鈴川にかかる宇治橋は、日常の世界から神聖な世界へのかけ橋といわれています。宇治橋外側の正面から見る大鳥居の姿は感動的であり、身も心も正して清浄な宮域に入る心構えの大切さを感じさせてくれます。

引用元:http://www.isejingu.or.jp/naiku/naiku.htm

出雲大社と同じく、大きな日本国旗が掲げられていました。

 

敷地に立っている木はどれも大木で歴史の長さを感じます。

外宮も内宮もかなり広いです。

 

 

帰りは特に渋滞にも巻き込まれず。帰ることが出来ました。

日生:海の駅

 

VMwarePlayer 4.0.1をubuntu 12.04α版で使う方法

upgradeは完了したのですが

vmwareが立ち上がらなくなりました。

コンパイルで落ちるようです。

ネットを探していると、ドンピシャの情報がありました

http://ubuntuforums.org/showthread.php?t=1886604

 

ここから先の方法は、リンク先の最初のやり方ではなく、

質問者がいて、その人が成功したようなのでそれに沿った方法です。

3.2.0-9だとどうもパッチがそのままでは当たらないようです。

 

環境は


Linux fine 3.2.0-9-generic #16-Ubuntu SMP Fri Jan 13 20:46:38 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

です。

 

ちなみに、patchファイルはubuntu forumに登録しないとダウンロードできないようです。

 


mkdir /tmp/vmpatches

cp $HOME/Downloads/*patch.zip /tmp/vmpatches

unzip /tmp/vmpatches/*.zip /tmp/vmpatches

mkdir $HOME/vmware-backup

まず作業ディレクトリを作ってpatchを/tmp/vmpatchに解凍します。

sudo -s
cd /usr/lib/vmware/modules/source

cp *.tar $HOME/vmware-backup

次にとりあえずパッチを当てる前にバックアップをとっておきます。


for file in `find . -maxdepth 1 -name "vm*tar"`; do tar xvf $file; done

rm -rf *.tar

tarを解凍します。

それではパッチを当てていきますが、最初はdry-runオプションをつけてパッチが正常に当たるか溜します。

(if no error message, repeat each cmd without the dry run)

↑これがその文、見逃していて右往左往しました。

patch一個目


patch --dry-run -p1 -i /tmp/vmpatches/iommu.c.patch /usr/lib/vmware/modules/source/vmmon-only/linux/iommu.c

長いですが一行です。これはOKです。パッチが当たります

–dry-runを除いて実行しましょう


patch -p1 -i /tmp/vmpatches/iommu.c.patch /usr/lib/vmware/modules/source/vmmon-only/linux/iommu.c

これでパッチが当たりました。

続いて2個目


patch --dry-run -p1 -i /tmp/vmpatches/iommu.h.patch /usr/lib/vmware/modules/source/vmmon-only/linux/iommu.h

これはうまく当たりません。patchファイルの中身をみればどこを置換すればいいかわかりますのでそこを手動で書き換えます。

中身を見ると


static inline void
! iommu_unmap(struct iommu_domain *domain, unsigned long iova, int gfp_order)
{
!    iommu_unmap(domain, iova, PAGE_SIZE << gfp_order);
}
#endif

--- 54,62 ----
}

static inline void
! iommu_unmap_range(struct iommu_domain *domain, unsigned long iova, int gfp_order)
{
!    iommu_unmap_range(domain, iova, PAGE_SIZE << gfp_order);
}
#endif

とあるので


/usr/lib/vmware/modules/source/vmmon-only/linux/iommu.h

次のような感じになります。


static inline void
iommu_unmap_range(struct iommu_domain *domain, unsigned long iova, int gfp_order)
{
iommu_unmap_range(domain, iova, PAGE_SIZE << gfp_order);
}
#endif

と編集すれば良いようです。

 

つぎに3個目です。


patch --dry-run -p1 -i /tmp/vmpatches/vmnet-filter.c.patch /usr/lib/vmware/modules/source/vmnet-only/filter.c

これはOKがでましたので、そのままパッチを当てます。


patch  -p1 -i /tmp/vmpatches/vmnet-filter.c.patch /usr/lib/vmware/modules/source/vmnet-only/filter.c

次に4個目です。


patch --dry-run -p1 -i /tmp/vmpatches/vmnet-netif.c.patch /usr/lib/vmware/modules/source/vmnet-only/netif.c

これもOKです。そのままパッチを当てます


patch  -p1 -i /tmp/vmpatches/vmnet-netif.c.patch /usr/lib/vmware/modules/source/vmnet-only/netif.c

5個目です。


patch --dry-run -p1 -i /tmp/vmpatches/vmnet-userif.c.patch /usr/lib/vmware/modules/source/vmnet-only/userif.c

これもOKです。そのままパッチを当てます


patch -p1 -i /tmp/vmpatches/vmnet-userif.c.patch /usr/lib/vmware/modules/source/vmnet-only/userif.c

6個目です。


patch --dry-run -p1 -i /tmp/vmpatches/kmap_skb.h.patch /usr/lib/vmware/modules/source/vmnet-only/kmap_skb.h

これはうまくあたりませんでした。


/usr/lib/vmware/modules/source/vmnet-only/kmap_skb.h

がないとか言われますので

totchで作ってしまいます。


sudo touch /usr/lib/vmware/modules/source/vmnet-only/kmap_skb.h

そしてパッチを当てます。


patch  -p1 -i /tmp/vmpatches/kmap_skb.h.patch /usr/lib/vmware/modules/source/vmnet-only/kmap_skb.h

これだけだと、vsock.tarというのが展開されてないので

backupから持ってきて展開します。


sudo cp ~/vmware-backup/vsock.tar /usr/lib/vmware/modules/source

sudo tar -xvf vsock.tar

(ここで展開する必要はないかもしれません)

次に展開してパッチを当てたソースをもう一度tarに戻してやります。

ちまちまと一個ずつやります。


sudo tar -cf vmblock.tar vmblock-only

sudo tar -cf vmci.tar vmci-only

sudo tar -cf vmmon.tar vmmon-only

sudo tar -cf vmnet.tar vmnet-only

sudo tar -cf vsock.tar vsock-only

 

最後に-onlyフォルダを消して終わり


rm -rf *only

exit (run vmplayer via GUI, it will successfully compile the kernel modules, load and start)

あとは起動すれば、うまくコンパイルできると思います。

うまくいきました。

一時はどうなるかと思いました。これで仮想環境が使えます。

 

 

追記します。

VMwareplayer 4.0.2にupgradeして

Linux fine 3.2.0-12-generic #21-Ubuntu SMP Tue Jan 31 18:48:57 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

にあげたらまたコンパイルエラーがでるようになりました

パッチを当てても、(4.0.2ではすでに書き換えられてる箇所もあり)

手動で確認しました。

それでも、

/vmnet-only/userif.c:522:3 errorとでます。

これを回避するにはuserif.cを

http://pavlinux.ru/vmware/8.0.0/

あるファイルから

userif.c  をコピーするとコンパイルが通るようになりました。

参考までに、

 

 

ubuntu11.10から 12.04のαへupgrade

ubuntu 11.10のdashにも慣れてきましたが

/dev/sdaがdmesgにerrorをはいて止まったりします。

シリアルケーブルが抜けかけてるのかと思っていろいろ試して見ましたが

どうも調子が悪いので、HDDの問題と切り分けれることを期待して、まだ不安定かもしれませんが

あたらしいunityも使えるようなので

ubuntu 12.04のαにアップグレードしてみます。

やり方は簡単です。

ここに書いてありました。

 

「alt+F2」でコマンドを実行を開いて、

update-manager -d

でupdate-managerを-dオプションつけてたち上げるだけです。

そうすれば12.04にアップグレードできます。と表示出てきます。

 

 

 

さてそれでは進みましょう。1603個のパッケージがアップグレードされるとのこと。

ただいま記事を書きつつです。それでは期待を込めて

 

アップグレード開始

特に何事もなく終了

多分正常に動いています。

DD-WRTのledtoolで遊んでみる。

dd-wrtというファームウェアがありまして、

これをWHR-HP-GNにインストールしてつかってるのですが

sshターミナルにログインして、コマンド類を見ていると

ledtoolというコマンドを発見

面白そうなので、

ledtool --help

とやってみますがなにもでません。ヘルプがなかったら

使い方がわかりません

とおもってネットで検索してみると

ソースが出てきました。

http://svn.dd-wrt.com:8000/browser/src/router/rc/ledtool.c?rev=15768

 

ソースを眺めてみるとCで書かれてるようでかなり短いです

以下は:main関数のLEDに関するところだけを抜粋したものです。

        int times = atoi(argv[1]);
        int type = 0;
        if (argc > 2)
                type = atoi(argv[2]);
        while (times > 0) {
                switch (type) {
                case 1:
                        led_control(LED_CONNECTED, LED_ON);
                        usleep(500000);
                        led_control(LED_CONNECTED, LED_OFF);
                        usleep(500000);
                        break;
                case 2: // aoss negotiation
                        led_control(LED_SES, LED_ON);
                        usleep(200000);
                        led_control(LED_SES, LED_OFF);
                        usleep(100000);
                        led_control(LED_SES, LED_ON);
                        usleep(200000);
                        led_control(LED_SES, LED_OFF);
                        usleep(500000);
                        break;
                case 3: // aoss error
                        led_control(LED_SES, LED_ON);
                        usleep(100000);
                        led_control(LED_SES, LED_OFF);
                        usleep(100000);
                        break;
                default:
                        led_control(LED_DIAG, LED_ON);
                        usleep(500000);
                        led_control(LED_DIAG, LED_OFF);
                        usleep(500000);
                        if (times && (times % 3) == 0)
                                sleep(3);
                        break;
                }
                times–;
        }

 

 

・1個目の引数にそれぞれのLEDの点灯モードを繰り返す回数を指定する。

・2個目の引数にはLEDの点灯モードを指定するようです。

 

モードは1、2、3があります。

モード1を例にとると:

接続のLEDをONにして

500000マイクロ秒(つまり,0.5秒)待ちます。

接続のLEDをOFFにします。

500000マイクロ秒(つまり,0.5秒)待ちます。

これを1個目の引数で指定した秒数だけ繰り返します。

0.5秒ずつまって、ついて消えてを繰り返すので

これは1秒間隔で点滅になります。

 

つまり簡単に表すと

モード1:1秒間隔で接続のLEDが点滅

モード2:0.2秒AOSSのLEDがついて0.1秒待って、また0.2秒AOSSのLEDがついてこんどは0.5秒待つの繰り返し

モード3:AOSSのLEDが0.2秒間隔で点滅します。注釈にAOSSエラーとかいてありますからAOSSのエラーの時のランプなんでしょうね

何も指定しなかった場合:DIAGのLEDが1秒間隔で点滅して、3秒間待つ

 

とソースから動作することが推測できます。

実際にやってみるとそのように動作しました。

たとえばAOSSエラーモードを10回表示したかったら


ledtool 10 3

とすれば良いようです。高速でAOSSのLEDが10回点滅します。

ちなみにled_control()関数はutil.cにありました

DD-WRTはいろいろ可能性がありそうです。

 

アリオ倉敷・三井アウトレットパークに行く

新年明けましておめでとうございます

 

ということで、新年の三箇日に去年オープンしたアリオ倉敷に行きました

 

 

 

公園のようなものがあります。

 

 

三井アウトレットパークもあります

 

中にはブランドのアウトレットショップがたくさんあります

 

いろいろなお店があります

規模は中程度でしょうか、写真で見える風景が5個分くらいの広さです

福袋もたくさん売られていました