В соответствии с ранее проведённым общим голосованием в состав официальных образов включены как свободные прошивки из репозитория main, так и проприетарные прошивки, ранее доступные через репозиторий non-free. При наличии оборудования, для работы которого требуются внешние прошивки, необходимые проприетарные прошивки загружаются по умолчанию. Для пользователей, предпочитающих только свободное ПО, на этапе загрузки предоставлена возможность отключения использования несвободных прошивок.
Требуемая прошивка определяется через анализ логов ядра, в которые выводятся предупреждения о сбоях при загрузке прошивок (например, «failed to load rtl_nic/rtl8153a-3.fw»). Разбор лога осуществляет скрипт check-missing-firmware, вызываемый компонентом hw-detect. При определении проблем с загрузкой прошивки скрипт проверяет индексный файл Contents-firmware, в котором сопоставлены имена прошивок и пакетов, в которых их можно найти. Если индекс отсутствует выполняется поиска прошивок через перебор содержимого пакетов в каталоге /firmware. Если пакет с прошивкой найден, он распаковывается и загружаются связанные с ним модули ядра, после чего пакет с прошивкой добавляется в список устанавливаемых пакетов, а репозиторий non-free-firmware активируется в конфигурации APT.
Источник: http://www.opennet.ru/opennews/art.shtml?num=58728