[sisyphus] Отвадить HAL от CD и DVD
Michael A. Kangin
=?iso-8859-1?q?mak_=CE=C1_rsmu=2Eru?=
Пт Авг 1 20:38:18 MSD 2008
В сообщении от Friday 01 August 2008 19:24:13 Yury Aliaev написал(а):
> Я пытаюсь разобраться с халовским колдовством (в порядке изучения
> врага). Не могли бы Вы прокомментировать несколько моментов в Вашей
> fdi'шке?
>
> <?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
>
> <deviceinfo version="0.2">
> <device>
> <match key="@block.storage_device:storage.drive_type" string="cdrom">
> <merge key="volume.policy.should_mount" type="bool">false</merge>
> <remove key="info.callouts.add" type="strlist">mount-hal-fs</remove>
> <remove key="info.callouts.remove"
> type="strlist">mount-hal-fs</remove>
> </match>
> </device>
>
> 1) Какой смысл выносить параметры из секции, имеющей в названии
> @block.storage_device:storage.drive_type в секцию, имеющую в названии
> @block.storage_device:storage.drive_type?
Из откуда вкуда?
> Или этим как раз и
> обеспечивается монтирование привода вместо носителя?
Здесь описываются правила для двух разных HAL-сущностей: в первом случае, для
ТОМА, который возникает по факту вставления диска в привод и распознания его.
То, что это ТОМ, создаваемый компакт-диском, определяется по ссылке на
хранилище (storage) тома (volume), (нотация с @), свойство storage.drive_type
этого хранилища должно иметь значение "cdrom".
В базовых fdi'шках hal-mount-subfs настроено монтирование именно ТОМОВ, и тут
мы это поведение исправляем: говорим, что том не должен монтироваться и
удаляем упоминания об обработчиках монтирования/размонтирования.
> <device>
> <match key="storage.drive_type" string="cdrom">
А вот здесь уже назначаются все свойства монтирования для хранилища, aka
привода компакт-дисков.
> <merge key="storage.policy.should_mount" type="bool">true</merge>
> <append key="info.callouts.add" type="strlist">mount-hal-fs</append>
> <prepend key="info.callouts.remove"
> type="strlist">mount-hal-fs</prepend>
> <remove key="volume.policy.should_mount"></remove>
>
> <merge key="storage.policy.mount_filesystem" type="string">subfs</merge>
> <merge key="storage.policy.mount_option.fs" type="string">cdfss</merge>
> <merge key="storage.policy.mount_options"
> type="string">nodev,nosuid,noexec,noatime,mode=0444,utf8,ro</merge>
>
> <append key="info.callouts.add" type="strlist">mount-hal-fs</append>
> <prepend key="info.callouts.remove" type="strlist">mount-hal-fs</prepend>
>
> 2) Две вышеприведённые строки уже встречались в данном блоке
> <match></match>. Их повторение имеет какой-то тайный, не ясный для меня
> смысл, или это просто опечатка?
Да, это просто опечатка :)
ни на что, впрочем, не влияющая. Спасибо, поправлю.
> </match>
> </device>
> </deviceinfo>
>
>
> Прошу прощения за то, что вопросы, возможно, глупые. Просто всё
> околохаловское хозяйство сильно смахивает на запретную магию этак 50-й
> ступени, в которой я пока не силён...
Вротмненоги! 8)
Куча документации есть тут:
http://people.freedesktop.org/~david/hal-spec/hal-spec.html
Ну и задумчивое фффтыкание в вывод hal-device.
--
wbr, Michael A. Kangin
Подробная информация о списке рассылки Sisyphus