誰にも読まれない文章を書く訓練です。きのうまで悩んでいた overlayfs rootの問題は、あっさりかたがつきました。overlayfsの uppler layerにしているファイルシステムをアンマウントしてしまうと、一見アンマウントに成功したかのように見えるにもかかわらず、まだ overlayfsが有効な状態(つまり実際にはアンマウントされていない)になります。Gentoo Linuxがシャットダウン時に実行する mount-roスクリプトは、残っているファイルシステムの read only remountを mount -o ro,remount ではなく umount -r で行うため、read only remountの前にアンマウントが試行されそれが成功するものの、実際にはきちんとアンマウントされないため unclean shutdownになってしまいます。確かに read only remountの前に通常のunmountが出来るならそうした方がいいのは道理ですが、ことoverlayfsのレイヤとして使用しているパーティションについてはそれでは困るので(かなり特殊な事情ですが)、mount-roスクリプトを書き換えて解決しました。

今は Portageの libsdlが DirectFBサポートをドロップしてしまった件で困っています。理論上、システムが /dev/fbXを提供している以上そこに直接アクセスすればグラフィック描画は可能なので、libsdlの fbconバックエンドを使えばわざわざ DirectFBを通す必要は本来ないのですが、fbconバックエンドを選択したさいに使用されるキーボードドライバに難があって、ttyがないとだめなんですね。なのでログイン前の状態でlibsdlを初期化しようとするとコケてしまうのです。いわゆる「組み込み」の場合、ユーザーがIDとパスワードを打ってログインするという操作は行われませんので、これは困ったことになります。それを回避するために DirectFBを libsdlのバックエンドとして使っていたのですが、みごと Portageにハシゴを外されてしまいました。どうすんだこれ。

Page top icon