2010 年 2 月 26 日 | カテゴリー: プログラム, 日記

vmlinuz.dump

お題「vmlinuz を解凍して vmlinux を取りだそう」。
環境は Mandriva Linux 2010.0。

Traditionally, when creating a bootable kernel image, the kernel is also compressed using the zlib algorithm, or since Linux 2.6.30[1], using LZMA or BZIP2, which requires a very small decompression stub to be included in the resulting image.

vmlinuz は gzip で圧縮されていることが知られています。Kernel 2.6.30 以降は LZMA か BZIP2 が使われていることもあるらしいですが、結論から言うと今回のは gzip。

ただし、ただの gzip 圧縮というわけではなく、16進数ダンプやらなにやらして確認して、ようやく解凍できました。

普通に gunzip を試みる

普通に gunzip を試してみます。

kei@frederica ~ $ gunzip /boot/vmlinuz-2.6.31.12-desktop-1mnb
gzip: /boot/vmlinuz-2.6.31.12-desktop-1mnb: unknown suffix -- ignored

gunzip は拡張子を見るプログラムだったみたいですよ。
拡張子をつけて改めて。

kei@frederica ~ $ cp /boot/vmlinuz-2.6.31.12-desktop-1mnb ./vmlinuz.gz
kei@frederica ~ $ gunzip ./vmlinuz.gz
 
gzip: ./vmlinuz.gz: not in gzip format

!? gzip じゃねーよとおこられます。
ちなみにこのあと、BZIP2 や LZMA を試しても同様に撃沈。

16進数ダンプして gzip ヘッダーを確認する

od (8進数ダンプツール) にオプションをつけて16進数出力して確認してみます。

od -A d -t x1 /boot/vmlinuz-2.6.31.12-desktop-1mnb  > vmlinuz.dump

-A d で表示されるオフセットの基数は10進数に。
-t x1 で16進数出力に。

gzip のヘッダーは「1f 8b 08 00」。なんか頭にいないんですけど。

0015952 c7 c1 c0 16 2c 00 48 c1 e9 03 fd f3 48 a5 fc 5e
0015968 48 8d 83 20 d8 2b 00 ff e0 1f 8b 08 00 d8 a0 5e
0015984 4b 02 03 ec fd 0b 7c 14 d5 fd f8 ff cf e6 02 41

ファイルに落として確認するのは面倒ですので、grep に渡すだけでいいです。

kei@frederica ~ $ od -A d -t x1 /boot/vmlinuz-2.6.31.12-desktop-1mnb | grep '1f 8b 08 00'
0015968 48 8d 83 20 d8 2b 00 ff e0 1f 8b 08 00 d8 a0 5e

gzip ヘッダーの開始バイト位置を確認する

0015968 48 8d 83 20 d8 2b 00 ff e0 1f 8b 08 00 d8 a0 5e

15968 から数えて 1f は 15968 + 9 = 15977。
つまりここまでスキップしてから gzip として解凍すれば、解凍できるはず。

dd でバイトスキップして zcat に渡す

dd でインプットファイルに /boot/vmlinuz-2.6.31.12-desktop-1mnb を食べさせて、ブロックサイズを1で 15977 個スキップします (0 から数えるから)。

kei@frederica ~ $ dd if=/boot/vmlinuz-2.6.31.12-desktop-1mnb bs=1 skip=15977 | zcat > vmlinux
 
gzip: stdin: decompression OK, trailing garbage ignored

「decompression OK」!

strings で vmlinux を参照

無事解凍できましたが、当然バイナリ。
でも、Kernel version とかの文字列が含まれているはずです。

kei@frederica ~ $ strings vmlinux | grep "Linux version"
Linux version 2.6.31.12-desktop-1mnb (qateam@titan.mandriva.com) (gcc version 4.4.1 (GCC) ) #1 SMP Tue Jan 26 02:59:07 EST 2010

とれたー!

結論

vmlinuz は gzip ヘッダーが頭にいないので、dd でスキップして解凍しましょう。
ちなみに fedora 8 の xen kernel は拡張子を .gz にしたうえで gunzip したら普通に解凍できたり。xen kernel は単純な gzip なのかなー。

2010 年 2 月 20 日 | カテゴリー: 日記

20100219 悶々とさせられた飲み

昨日 (2010/02/20) のお話。
@yusuke1118 がテンションがおかしいだとか泣きたいだとか言うので、そうか、つかれているんだなと飲みにお付き合いした次第。

初っぱなから「人生ってなんだろね」とか言い出すから優しく見守ろうじゃないかとか思ってたのに、だんだん話の展開がおかしいじゃないかと。
毒吐きどころか、全くの想定外の話の展開になったあげく、あなたがもんもんを解消するかわりにわたしがもんもんとしてきたじゃないかと。どうしてくれるこのやろうw と言いたい。

読み違えた君の負けだwRT @saria: むしろこんな展開予定外だったのでわたしのが揺さぶられたとかなにこれ。 QT @yusuke1118: いつもより精神を揺さぶる的な意味で激しい同期飲みであった。…ペルソナだったらコミュランクが上がるどころかペルソナが転生しているレベル。

お互い帰ってからギップルが湧くクラスの tweet をする悟りタイム入ったけど、こういう飲みは新しい。
でも話されたこっちのほうが、もんもんとされた気持ちをどうしてくれるこのやろうw

2010 年 2 月 20 日 | カテゴリー: 日記

20100215 さらーだ。

今週の頭 (2010/02/15) のお話。
@notti0929 他複数名と、ビールが1200円くらいするどんだけなところでの飲み会。

出だしからリモコンがバッテリー不足なのか落ちました。

20100215 飲み屋のリモコンで Linux Reboot

再起動。
黒い画面にカーネルメッセージ。
そして「mount error」。マテ。

華麗にスルーされて起動画面。
運用モードとトレーニングモードと設定の3つのボタン。
Linux かは確認してないけど、Windows CE じゃなかったよ。カラオケリモコンみたいに MontaVista Linux とかみたいな組み込み Linux じゃないかなー。

2010 年 2 月 20 日 | カテゴリー: 日記

RIMG0613

【東京】各街の雰囲気 Wiki – 京王井の頭線

2週間ほど前の休日。
今回の探索は井の頭沿線から、浜田山、明大前、東松原です。

RIMG0605

新宿や渋谷に出やすいという点だけ見ると家賃相場等は意外と安めだとは思ったけれど、町の雰囲気(造り)とかを考えるとちょっと高めに感じるかんじ。
前評判よりはごちゃごちゃしてる印象でした。

静かという話だけど、そういう点なら他の路線のほうが静かだと思う。
駅ホームの人の数も比較的多いほうだし。

RIMG0604

最低限買い物できるところは揃っているけれど、特別魅力的なところがあるわけじゃなかったかなー。
渋谷に近いかっていうと、意外なことに吉祥寺から特急に乗ったほうが各駅を追い越して早いという。座れないのと人の数も考えると、ちょっと割に合ってなかったです。

RIMG0596

間取りなどの観点で、コストパフォーマンスのいい物件がちょっと少ないかなあと。
そろそろ、井の頭さんでぃすってんじゃねーぞって声が聞こえそう。ごめんなさい orz

RIMG0603

他、写真は Flickr へ。
浜田山・明大前・東松原2010 – a set on Flickr

物件がそもそもないってのが吉祥寺の最大の問題 (駅から20分だったり、しょんぼりな方角だったり、そのくせ家賃が高かったり) だけど、物件さえあればお金出しても吉祥寺のがいいなあと。

山の手線沿線、小田急沿線、目黒線沿線、副都心線沿線、中央線沿線、とそろそろけっこうな数の物件に詳しくなったよ;
不動産屋が出す物件は WEB に載ってないのもあります!ってよく聞くけど、たぶん価格帯によると思います。
今まで条件を絞りまくって不動産屋が出せる物件って、ほぼ WEB で見つけられたものがほとんど。

ところで長いことあちこち旅してきたけど、最近、そろそろ終わりそうなフラグが立ちました。
詳細は後日。

2010 年 2 月 11 日 | カテゴリー: 環境構築

ZFS_Storage_Network

CENTURY のドライブドア SATA ボックス 5BAY (EX35ES5) を基点にした ZFS ストレージ構成案です。
単純な NAS 構成と異なり、強力なファイルシステム、未使用時の電源断、高速起動が特徴です。

あらかじめ言っておくと、小型 Solaris マシンと外付け HDD (ZFS) の組み合わせが今回の構成案の話であって、VMware の raw mapping 周りからは、さらに欲をかいた冒険案です。

続きを読む…

Page 1 of 212
TOP