4.6 KiB
Основная директория операционной системы Calista
В данном репозитории представлено сразу два компонента системы
- Реестр системы
- Компонент автоматической установки драйверов
Зависит от sqlite3, этот бинарь используется в shell скриптах
- Для инициализации реестра вызываем reginit
- Для инициализации системы автоматической установки драйверов и листинга устройств вызываем init_device_demon
Система уже может автоматически устанавливать драйвера (но пока не умеет их удалять), обновлять список устройств при подключении USB устройств
ВНИМАНИЕ hid устройства (мыши, клавиатуры), пока нормально не обрабатываются - баг состоит в том что событие подключения hid устройств генерируется ядром FreeBSD и соответсвенно это событие вызывает переинициализацию списка устройств, а при отключении почему-то не вызывает события отключения. Однако флешки обрабатываются успешно.
Для сборки системы calista скорее всего надо будет клонировать эту папку и вызывать файл build в ней (на будущее).
К сожалению у меня не получилось добавить данную папку в менеджер компонентов Calista, так как в этой папке хранятся низкоуровневые механизмы системы
Файл builtin_devices - список устройств, драйвера которых уже зашиты в ядро FreeBSD
Система автоматической установки драйверов работает по простому принципу - репозиторий https://gitlab.svsptech.ru/svsptech/calista_drivers.git это по сути таблица ключ значение, где ключ это vendor:device а значение - название устройства, тип драйвер и путь к драйверу.
Типов драйверов сейчас два:
- builtin - драйвера, которые уже существуют в ядре FreeBSD
- https - драйвера, которые нужно скачать по ссылке далее
Драйвер - это простой архив с sh скриптом build. При установке драйвера вызывается этот файл, в его задачи собственно входит успешно установить драйвер в систему - пример - https://gitlab.svsptech.ru/svsptech/calista_nvidia304driver.git - первый драйвер для Calista
Пример файла driver.list с перечислением драйверов устройств
ver0
0x8086:0x27a0:Intel 945GM/PM Host Bridge:builtin:
0x8086:0x27a1:Intel 945GM/PM PCI Express Root Port:builtin:
0x8086:0x27d8:Intel ICH7-M High Definition Audio:builtin:
0x8086:0x27d0:Intel ICH7-M PCI Express Port 1:builtin:
0x8086:0x27d2:Intel ICH7-M PCI Express Port 2:builtin:
0x8086:0x27d4:Intel ICH7-M PCI Express Port 3:builtin:
0x8086:0x27c8:Intel ICH7-M USB UHCI Controller #1:builtin:
0x8086:0x27c9:Intel ICH7-M USB UHCI Controller #2:builtin:
0x8086:0x27ca:Intel ICH7-M USB UHCI Controller #3:builtin:
0x8086:0x27cb:Intel ICH7-M USB UHCI Controller #4:builtin:
0x8086:0x27cc:Intel ICH7-M USB2 EHCI Controller:builtin:
0x8086:0x2448:Intel 82801 PCI Bridge:builtin:
0x8086:0x27b9:Intel ICH7-M LPC Interface Bridge:builtin:
0x8086:0x27c4:Intel ICH7-M IDE/SATA Controller:builtin:
0x8086:0x27da:Intel ICH7-M SMBus Controller:builtin:
0x10de:0x0398:Nvidia GeForce Go 7600:https:gitlab.svsptech.ru/svsptech/calista_nvidia304driver/archive/main.zip
0x8086:0x4222:Intel PRO/Wireless 3945ABG Wi-Fi:builtin:
0x104c:0x8039:Texas Instruments PCIxx12 CardBus Controller:builtin:
0x104c:0x803a:Texas Instruments PCIxx12 FireWire Controller:builtin:
0x104c:0x803b:Texas Instruments PCIxx12 Flash Media Controller:builtin:
0x104c:0x803c:Texas Instruments PCIxx12 SD/MMC Host Controller:builtin:
0x8086:0x1092:Intel PRO/100 VE Ethernet:builtin: