zt日記

書いているのは Kazuhiro NISHIYAMA a.k.a. ZnZです。
2001|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|
2012|04|05|06|09|

この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。

xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法インストールメモXREA + tDiary + Namazuをどうぞ。


2010年10月24日(Sun)

KansaiDebianMeeting20101024

第 40 回 関西 Debian 勉強会 で initramfs の話をしてきた。 スライドは KansaiDebianMeeting20101024.pdf で公開している。

配付資料の話

配付資料の方は LaTeX ということで 東京エリアDebian勉強会 課題提出方法 を参考にして debianmeetingresume201010-kansai.tex を編集して PDF に変換できるのを確認してメールでパッチを送った。

配付資料はスライドの方から抜き出して作成したが、 LaTeX への変換は手でやるのは手間がかかりすぎるので、 Emacs の org-mode の export as LaTeX to temporary buffer (C-c C-e L) を使った。 org-mode 自身は「-」の中の入れ子の listing に「*」も使えるように見えるのに export するときはうまくいかなかったので「C-c -」で「-」に統一して export した。 他にディレクトリのフルパスは前後が「/」でくくられている状態で、装飾と誤解されてしまうので「~」でくくってそのまま出るようにした。 export 結果を確認すると一部別の行なのに「/」から「/」までとして扱われてしまった部分もあったので「~」でくくった。 それから、「_」も下付の装飾扱いになってしまうので「_」を含む単語を「~」でくくった。 export したものには \subsection{} のところに \label{sec-1.1} のようなラベルがついていたが、使っていないので不要だし、配付資料の途中に入れると番号がずれるので削った。

論理構造としては

  • 「*」の \section{} (これは debianmeetingresume201010-kansai.tex には \dancersection として存在するので捨てる)
  • 「**」の \subsubsection{}
  • 「-」の itemize 環境
  • 「- dt :: dd」の description 環境
  • 「:」の verbatim 環境

を使った。

description 環境は export 結果そのままだと、 dt 部分と dd 部分が同じ行になってしまってわかりにくかったので、それはマージするときに何とかしてもらった。

initramfs について

initramfs とは何か、どういう風に使われているものなのか、というあたりの話から、カスタマイズするならほぼ必須になりそうな init のソースを読むところまでの話をした。 今回は資料の作成にも時間をかけたし、前に調べたときにも時間をかけてじっくり調べていたので、非常に良い感じに出来たと思った。

scripts の中のファイルの話までは深くは踏み込まなかったけれど、 fuctions などで定義されているヘルパー関数は名前や使われ方でほぼ何をするのかわかるし、 run_scripts で実行されるフック用のスクリプトも短いものが多いので、他のスクリプトを参考にすればカスタマイズは簡単にできそうに思う。

質問のところで real root への切り替えは専用のシステムコールがある (今調べたら名前は pivot_root) とか、 initramfs として使われた ramdisk のメモリはどうなるのか (ちゃんとカーネルが解放して再利用する) とかいう話があったので、カーネルのソースツリー (の少なくとも Documentation) は発表用の環境において置けば良かったと思った。

initramfs の展開方法のところで cpio に --no-absolute-filenames をつけないと (一般ユーザで実行したときは大丈夫だけど root 権限で実行したときに) 危ないという話は知らなかったので参考になった。

/etc/initramfs-tools/conf.d/resume は誰が作っているのかという質問があって、調べ直してみたところ /var/lib/dpkg/info/initramfs-tools.preinst で作成されていた。

最近の Debian Live の動向

コマンドが lb に変わったあたりから全然状況が追い切れなくなっていたので、非常に参考になった。

live-installer は普通の debian-installer かと思っていたら、 live 環境と同じ環境をインストール出来るものと言うことで、(Debian の時に initramfs の中で完結する用に作っていたリカバリイメージの代わりに) Ubuntu の casper ベースでリカバリイメージを作成する mk-live-recovery というのを作ってみていた代わりに使えそうと思ったので、 Ubuntu 10.04 LTS (lucid) の次の LTS (12.04) には入ってほしいなあと思った。


copyright © 2001-2013 ZnZ
Key fingerprint = 6E14 2C9C DBD7 874D 8B3C CAA8 9B58 5538 ED7E 1B73