Компиляция драйверов Linux на FreeBSD

()

Linux имеет драйвера для ряда устройств, не имеющих поддержки во FreeBSD, особенно устройств USB. Зачастую эти драйвера написаны на основе информации, полученной с использованием обратного инженеринга. Это делает код весьма недокументированным и практически не оставляет возможности для портирования на другие ОС.

Для решения этой задачи запущен проект по реализации эмуляции API ядра Linux во FreeBSD, который позволит спокойно компилировать Linux-драйвера во FreeBSD без модификаций исходного кода.

Метод не нов - FreeBSD всегда предлагала эмуляцию различных API на уровне системных вызовов. Точно так же доступна частичная эмуляция WinAPI, сделаная специально для драйверов некоторых сетевых карт. Изначально проект ориентировался а создание драйверов USB-камер. В настоящий момент проделана большая работа, и уже можно собирать такие драйвера практически без проблем.

Уже нормально собираются как минимум три драйвера - gspca, ov и pwc, в сумме поддерживающие достаточно большое количество камер. На сайте проекта так же можно найти варианты этих модулей, уже собраные под FreeBSD 6.2. В дальнейшем планируется работа не только над драйверами USB-устройств, но и над другими.

Страница проекта

Комментарии:

Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE