Разработчики Debian объявили о тестировании нового репозитория non-free-firmware, в который из репозитория non-free перенесены пакеты с прошивками. Во втором альфа-выпуске инсталлятора Debian 12 “Bookworm” предоставлена возможность динамического запроса пакетов с прошивками из репозитория non-free-firmware. Наличие отдельного репозитория с прошивками позволяет обеспечить доступ к прошивкам без включения в установочных носителях общего репозитория non-free.
В соответствии с ранее проведённым общим голосованием в состав официальных образов включены как свободные прошивки из репозитория main, так и проприетарные прошивки, ранее доступные через репозиторий non-free. При наличии оборудования, для работы которого требуются внешние прошивки, необходимые проприетарные прошивки загружаются по умолчанию. Для пользователей, предпочитающих только свободное ПО, на этапе загрузки предоставлена возможность отключения использования несвободных прошивок.
Требуемая прошивка определяется через анализ логов ядра, в которые выводятся предупреждения о сбоях при загрузке прошивок (например, “failed to load rtl_nic/rtl8153a-3.fw”). Разбор лога осуществляет скрипт check-missing-firmware, вызываемый компонентом hw-detect. При определении проблем с загрузкой прошивки скрипт проверяет индексный файл Contents-firmware, в котором сопоставлены имена прошивок и пакетов, в которых их можно найти. Если индекс отсутствует выполняется поиска прошивок через перебор содержимого пакетов в каталоге /firmware. Если пакет с прошивкой найден, он распаковывается и загружаются связанные с ним модули ядра, после чего пакет с прошивкой добавляется в список устанавливаемых пакетов, а репозиторий non-free-firmware активируется в конфигурации APT.