nDiki : ext2
Related term
2006年2月23日 (木)
■ Debian Linux kernel 2.6.15 ビルド

ThinkPad X31 用に 2.6.15 の Debian kernel パッケージ構築を行う。 インストールしてある Debian 標準の 2.6.15 のパッケージの設定 /boot/config-2.6.15-1-686 をベースに設定を行いビルド。
#apt-get build-dep linux-image-2.6.15-1-686 #exit $mkdir -p /usr/local/src/linux $cd /usr/local/src/linux $tar jxvf /usr/src/linux-source-2.6.15.tar.bz2 $cd linux-source-2.6.15 $cp /boot/config-2.6.15-1-686 .config $make menuconfig $make-kpkg clean $fakeroot make-kpkg --revision=sebastian.1.0 kernel_image $cd .. $su #dpkg -i linux-image-2.6.15_sebastian.1.0_i386.deb
ブート後 Kernel panic。
標準の設定では IDE 関係がモジュールになっているのを見落していた。もう一度設定を修正してビルドしなおして起動。 Linux を使い始めたころ ext2 をモジュールにして失敗したことがあり、ファイルシステム関連は忘れずチェックするようにしているのだが、IDE 関連はノーチェックだった。
@ MADWIFI
module-assistant prepare module-assistant auto-install madwifi
- Debian Linux kernel 2.6.26 にアップデート (2009-02-07)
- ThinkPad X31 と sid の Linux kernel 事情 (2009-10-04)
- Debian Linux kernel 2.6.23 をビルドする。 (2007-12-23)
- Debian GNU/Linux sid 環境を新 HDD へ (2006-07-29)
- Linux kernel 2.6.8 + MADWIFI (2004-09-20)
2006年6月10日 (土)
■ WiKicker における PageName 最長文字数

WiKicker では PageName を エンコードした文字列を URI に埋め込んだり、サーバで保存する際のファイル名にしたりしている。 このため、PageName の最長文字数はそれらの最長文字数に依存しているはずである。
今まで確認を後回しにしていたのだが、新しい機能の追加の際に確認しておく必要があるので調査してみた。
@ WiKicker の実装
WiKicker の実装がらみとして最長を決める要素としては
- PageName の UTF-8 表現を URI エスケープしてページ URI に含めている。→ URI、HTTP、HTML、Web サーバ、Web ブラウザの実装による最長の制約
- PageName を base64 にエンコードしてファイル名にしている。→ ファイルシステムのファイル名、パス名の最長の制約
がある。
@ 各仕様等による制約
- HTTP では URI の長さには制限なし (RFC2616 3.2.1)
- Web サーバは Request-URI が長いと 414 Request-URI Too Long を返す (RFC2616 10.4.15)。Apache は LimitRequestLine ディレクティブにより、URI を含むリクエスト行のサイズを制限することができる(配布時には 8190)。
- Internet Explorer が扱える URL の長さは 2083文字。
- ext2 はファイル名は 255文字まで(増やすこともできる)。
- 手元の Linux 2.6.15 で試したところ、パス名は 4095文字まで。
@ WiKicker で問題が出ない PageName 最長文字数
上記の中ではファイル名による制約が一番大きい。
WiKicker 内部でファイル名として base64 (の亜種) でエンコードしたものを使っているので、元の文字列はは最長 189バイトまでなければならない。base64 だと3バイトで4文字になるため、189バイトで 252文字となる。
WiKicker ではここでさらにファイル名に ',v'、'-lock' をつける事があるので、実際には元の文字列は最長 186 バイトまでとなる。
PageName が 186 バイトまでだとすると、URL エスケープしたとして558バイト。 WikiEngine のスクリプトの URL や他のパラメータとあわせても、これぐらいなら大丈夫のはずである。
ということで WiKicker では Linux 上だと通常 PageName は 186 バイトが最長と言ってよさそうだ。 日本語の文字はだいたい UTF-8 で3バイトになるので、62 文字までということになる。
そのうち、WiKicker に制約チェックを入れることにしよう。 そのうち。
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- WiKicker 実装 (2002-10-20)
- WiKicker 0.35 リリース - 添付機能の修正など (2006-06-20)
- 最後がピリオド(.)で終わるファイル名をつけられない (2005-04-19)
- ケータイ用にプライベート Wiki を設置 (2008-01-07)
2009年10月4日 (日)
■ ThinkPad X31 と sid の Linux kernel 事情

ここ最近 ThinkPad X31 の Debian GNU/Linux sid が調子が悪い。 いろいろ調査・トライしてみている途中の状態をメモ。
@ 状況
- いつごろからか、サスペンドしても ThinkPad X31 の月ランプが光らなくなった。
- 8月19日ぐらい(から、使用中に Caps Lock キーが点滅してフリーズするようになった。(記事)。
- 9月11日ぐらいから digiKam が写真データを認識しなくなった(記事)。digiKam 更新で対応。
- 9月23日ぐらいからサスペンドさせると復帰時に Caps Lock キーが点滅して Kernel panic になるようになった(記事)。
- 9月29日に X があがらなくなった(記事)。こちらは xserver-xorg-core ダウングレードで対応。
- Linux kernel 起動時に udev が「今の kernel だとデバイスあたりの処理がおかしくなるかもよ」というような警告を出すようになった。
アプリケーションや X の不具合などと重なって unstable 全開だ。
Linux kernel については各種パッケージの更新に追いつけなくなっているようなので、アップデートをかける必要がありそう。
@ Linux kernel 再構築
Debian GNU/Linux の標準イメージを使ってみたが、ThinkPad X31 では例によって ACPI では蓋の開閉でサスペンドしない。 APM を使うようにした Debian kernel パッケージ構築が必要。 しかし今年の2月に 2.6.26 をビルドした時(記事)から、いろいろ変更があったようで一筋縄ではいかなかった。 以下は最終的な手順(たぶん)。
#apt-get build-dep linux-image-2.6.30-2-686 #apt-get install linux-source-2.6.30 aufs-source #exit $mkdir -p /usr/local/src/linux $cd /usr/local/src/linux $tar jxvf /usr/src/linux-source-2.6.30.tar.bz2 $tar zxvf /usr/src/aufs.tar.bz $emacs modules modules/aufs/Makefile $cd linux-source-2.6.30 $cp /boot/config-2.6.30-2-686 .config $make menuconfig $make-kpkg clean MODULE_LOC=/usr/local/src/linux/modules fakeroot make-kpkg --initrd --revision=sebastian.1.0 kernel_image modules_image $fakeroot make-kpkg --initrd --revision=sebastian.1.0 kernel_image $cd .. $su #dpkg -i linux-image-2.6.30_sebastian.1.0_i386.deb aufs-modules-2.6.30_0+20090302-3+sebastian.1.0_i386.deb #update-initramfs -c -k 2.6.30 #update-grub
- aufs inotify を有効にする(記事)必要があるのだが、modules/aufs/debian/conf.mk が無くなっていた。modules/aufs/Makefile 側で同様の設定追加をする必要あり。
- MADWIFI はコンパイルが通らなくなっていた。
- 自前で作った linux-image の Debian パッケージが、initrd まわりの処理をうまくしてくれない。自分で update-initramfs した。
MADWIFI はもはやコンパイルが通らなくなっていた。 試してみたところ ath5k で通信できるようになっているではないか。modprobe ath5k すると wlan0 が使えるようになった(MADWIFI の時は ath0)。
initrd 関係は結構はまった。 最初いつも通りビルドして dpkg した後再起動したのだが、"Unable to mount root fs on unknown-block(0, 0)" が出て先にすすまない。 IDE まわりや ext2、ext3 まわりを M から y にしても駄目。 何度か試しているうちに、 linux-image を dpkg --install した際に実行される update-grub のメッセージで自分で作った Linux kernel だけ initrd 関係の処理がされないことに気がついた。 自前で update-initramfs したらようやく 2.6.30 が起動するようになった。
2.6.30 にすることで起動時の udev の警告は解消された。 しかしながらサスペンドはまだ駄目。 復帰時にフリーズする。 やはりパワー関係の処理があやしい。今は AC アダプタを外しても KPowersave は気づかない。
もう少しおっかける必要がありそう。
対応できるまではサスペンドできず。毎回起動したりシャットダウンしたりするの面倒くさーい。
- Debian Linux kernel 2.6.26 にアップデート (2009-02-07)
- Debian Linux kernel 2.6.23 をビルドする。 (2007-12-23)
- Debian Linux kernel 2.6.15 ビルド (2006-02-23)
- 今日のさえずり - 今日も勢いのあるいい小便でした (2009-09-27)
- ThinkPad X31 と Linux kernel 2.6 (2006-02-22)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.022123s / load averages: 0.18, 0.20, 0.15
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)




◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。