LINUX.ORG.RU

История изменений

Исправление intelfx, (текущая версия) :

Ну посмотри, как работают правила udev (/usr/lib/udev/rules.d).

TL;DR: При подключении блочного устройства запускается специальный бинарник (на самом деле он builtin, но это не суть важно), который опрашивает диск и выводит информацию о нём в виде типа «переменных окружения», которые можно импортировать в память udevd командой IMPORT. Потом на основе этих переменных отдельными правилами создаются нужные ссылки в /dev/disk/by-*. Разделение механизма и политики, всё как надо.

Тебе нужно просто написать враппер вокруг hdparm, который опрашивает диск через hdparm, парсит его вывод и выводит информацию в нужном формате (т. е. в виде массива KEY=value с теми же именами, которые используются в остальных правилах udev) и запатчить файл с правилами, чтобы для интересующих тебя устройств вызывался не builtin, а твой враппер (а лучше оба, в таком порядке, чтобы данные из твоего враппера брали приоритет).

Исправление intelfx, :

Ну посмотри, как работают правила udev (/usr/lib/udev/rules.d).

TL;DR: При подключении блочного устройства запускается специальный бинарник (на самом деле он builtin, но это не суть важно), который опрашивает диск и выводит информацию о нём в виде типа «переменных окружения», которые можно импортировать в память udevd командой IMPORT. Потом на основе этих переменных отдельными правилами создаются нужные ссылки в /dev/disk/by-*. Разделение механизма и политики, всё как надо.

Тебе нужно просто написать враппер вокруг hdparm, который опрашивает диск через hdparm и выводит информацию в нужном формате (т. е. в виде массива KEY=value с теми же именами) и запатчить это правило, чтобы оно для интересующих тебя устройств вызывало не builtin, а твой враппер (а лучше оба, в таком порядке, чтобы данные из твоего враппера брали приоритет).

Исправление intelfx, :

Ну посмотри, как работают правила udev (/usr/lib/udev/rules.d).

TL;DR: При подключении блочного устройства запускается специальный бинарник (на самом деле он builtin, но это не суть важно), который опрашивает диск и выводит информацию о нём в виде типа «переменных окружения», которые можно импортировать в память udevd командой IMPORT. Потом на основе этих переменных создаются нужные ссылки в /dev/disk/by-*.

Тебе нужно просто написать враппер вокруг hdparm, который опрашивает диск через hdparm и выводит информацию в нужном формате (т. е. в виде массива KEY=value с теми же именами) и запатчить это правило, чтобы оно для интересующих тебя устройств вызывало не builtin, а твой враппер (а лучше оба, в таком порядке, чтобы данные из твоего враппера брали приоритет).

Исходная версия intelfx, :

Ну посмотри, как работают правила udev.

При подключении блочного устройства запускается специальный бинарник (на самом деле он builtin, но это не суть важно), который опрашивает диск и выводит информацию о нём в виде типа «переменных окружения», которые можно импортировать в память udevd командой IMPORT. Потом на основе этих переменных создаются нужные ссылки в /dev/disk/by-*.

Тебе нужно просто написать враппер вокруг hdparm, который опрашивает диск через hdparm и выводит информацию в нужном формате (т. е. в виде массива KEY=value с теми же именами) и запатчить это правило, чтобы оно для интересующих тебя устройств вызывало не builtin, а твой враппер (а лучше оба, в таком порядке, чтобы данные из твоего враппера брали приоритет).