[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:29770] udev and /dev/cdrom, /dev/dvd, etc..
-
From:Naofumi Honda
-
Date:Mon, 25 May 2009 12:54:32 +0900 (JST)
- Subject: [plamo:29770] udev and /dev/cdrom, /dev/dvd, etc..
- From: Naofumi Honda <honda@xxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 25 May 2009 12:54:30 +0900
本多です
udev周りなのですが、defaultの状態だと次のような奇妙な現象が発生すると
思います。
条件: plamo-4.6で/etc/udev/rules.d/以下を変更していない。
#(但し、60-plamo_local.rulesの最初の数行(pmount関連)をcomment outしているのは可)
# udevのversionは137 - 142まで全て
現象:
1. cd等を挿入していない状態で起動。
2. /dev/cdrom, /dev/cdrw, /dev/dvd等が存在する事を確認。
3. cd (dvd)等を挿入。 mount,再生等はしない。挿入するのみ。
4. 不思議な事に/dev/cdrom, /dev/cdrw, /dev/dvdが消えています。
# よってdefaultでこれらを見に行くprogramsは動かない。
# net関連のdevciesでも以下の理由で不具合が発生する可能性があると思います。
理由:
これらはudevのcd/net generator_rulesが上手く動かないため、
/etc/udev/rules.d/70-persistent-cd.rules, 70-persistent-net.rules
に起動時attachされたcdとnet devicesが登録されない為です。
#実際 /etc/udev/rules.d/以下に70番台のfilesは出来ていないはずです
(通常は出来ていなくてはならない)。
詳細な過程を述べると、
1) rc.S の udevadm --triggerの時はrootfsはread onlyの状態です。
2) udevはtriggerによって、75番代のgenerator rulesを実行し
staticにattachされたcd/netのdevices情報を70-persistent-cd/net.rulesに
登録しようとします。しかし rootfsはread onlyなのでrule filesを/dev/.udev/以下に
作ります。(/lib/udev/rule_generator.fuctionsを参照)
3)cdが挿入されるとeventが発生して udevdが呼ばれます。
この時点では, rootfsはread可能な状態なので、udevは/etc/udev/rules.d/以下の
70-persistent-cd/net.rulesを確認しますが (本来はここにはsymlinkの操作が記述される)
これが空なのでsymlinkを削除してしまいます。
対策:
要はudevがtriggerされる時に,/etc/udevが書き込み可能な状態であるべきです。
rc.Sの起動順序を以下のように変更すると問題は解決します。
1) mount -w -n -t sysfs /sys /sys まではそのまま。
2) ここでrootfsのfsckとwrite update remountを実行
つまり、rc.Sのwrite test以降からremountまでの部分をここにもってくる。
3) mount -w -n -o mode=0755 -t tmpfs /dev /devを実行し
/devのstatic devicesを作成
4) udevを起動
Naofumi Honda
- Follow-Ups
-
- [plamo:29771] Re: udev and /dev/cdrom, /dev/dvd, etc.., cho
- [plamo:29774] Re: udev and /dev/cdrom, /dev/dvd, etc.., Mikio Tomioka
- [plamo:29776] Re: udev and /dev/cdrom, /dev/dvd, etc.., Mikio Tomioka
- [plamo:29778] Re: udev and /dev/cdrom, /dev/dvd, etc.., 名倉昭一
[検索ページ]
[メール一覧]
Plamo ML 公開システム