обычно фирмваря — бинарный блоб, который драйвер читает из /lib/firmware/ и заливает в сустройство.
в этом конкретном — надо смотреть сорц. как-то странно было бы держать в памяти ядро непонятно что и не тэйнтить его, как в случае с проприетарными драйверами.
как-то очень странно — видимо устройство матчится под два разных драйвера и его ловит тот, который был загружен быстрее.
если действительно так, то похоже на баг и его надо бы отрепортить.
как воркарраунд, можно явно грузить один из модулей раньше, или прописать алиас.
еще можно разрулить на уровне имени устройства, написав хитрое правило udev.
Это не один процесс, это одно адресное пространство. Процессов много, но память общая и все могут друг-друга уронить или иметь общие данные без копирования.
Если что-то не вкомпилено в ядро, но нужно (критерий нужности с точки зрения автоматики) то это время, выигранное на этапе загрзуки ядра, будет скушано обратно на следующем этапе. Плюс уйдет время на подгрузку динамического объекта и всякие релокации.
>Необходимость в файле микропрограммы появилась в связи с тем, что интерфейс взаимодействия с устройством закрыт, и эти функции возложены на файл прошивки (firmware).
разве фирмварь не грузится в само устройство, а не драйвер?
остальное можете сами нарыть в git.chromium.org/gitweb/
если уж съезжать в юридическую плоскость, можно случайно напороться на трактовку покупки консоли, как «оказании услуг».
и что она с ним будет делать, в массиве драйвера сортировать?
если еще вспомнить, что у гнусмаса техпроцесс 45нм, а у TSMC — 40, то на это можно посмотреть совсем с другой стороны.
в этом конкретном — надо смотреть сорц. как-то странно было бы держать в памяти ядро непонятно что и не тэйнтить его, как в случае с проприетарными драйверами.
без подписи страницы ключем сервера или хотябы получения md5 от доверенного источника — это будет хорошая возможность для скриптовой иньекции.
а с кривым указанием заголовка Cache-control будет еще и возможность получить чужую приватную информацию.
хорошо придумали, одобряю.
habrahabr.ru/blogs/linux/112527/
>Случайным образом при загрузке системы
как-то очень странно — видимо устройство матчится под два разных драйвера и его ловит тот, который был загружен быстрее.
если действительно так, то похоже на баг и его надо бы отрепортить.
как воркарраунд, можно явно грузить один из модулей раньше, или прописать алиас.
еще можно разрулить на уровне имени устройства, написав хитрое правило udev.
На девелоперской машине такое бывает по несколько раз на день.
В дистрибутивах конечно после одного патча чего угодно будет выпущен новый пакет с новыми версиями.
>модули часто зависят от версии ядра.
Модули всегда зависят от версии ядра, а также от некоторых параметров сборки.
Поле vermagic в том же modinfo.
>filename: /lib/modules/2.6.38-ARCH/kernel/drivers/net/wireless/rt2x00/rt73usb.ko.gz
надо бы смотреть, надо бы посмотреть, как настоящие руткиты в реальности грузятся.
Я так на нетбуке делаю.
После загрузки уже неважно, что откуда взялось.
Глупости и наивняк. Если рут уже получен, то в ядро можно насрать и без красивой подгрузки модуля.
Это какие еще? Механизм один — ядро пинает юзерспейсу id устройства, modprobe по табличке алиасов находит нужный модуль. Все.
В том же выхлопе modinfo rt73usb табличка есть.
разве фирмварь не грузится в само устройство, а не драйвер?
а зачем нужна прошивка, чтобы менять раскладку?