Skip to content

FreeBSD и device tree overlays

Хочу рассказать простыми словами, т.е., как дилетант для другого дилетанта, то, что пришлось вычитывать, додумывать и подбирать достаточно длительное время: как собрать и использовать device tree overlays на SOC компьютере в ОС FreeBSD.

Для начала о програмно-аппаратном обеспечении:

CODE:
$ uname -a FreeBSD rpi2 12.0-CURRENT FreeBSD 12.0-CURRENT #8 r328806: Sat Feb  3 08:06:35 +04 2018     root@host.domain:/usr/obj/usr/src/arm.armv7/sys/RPI2_CUSTOM  arm

Т.е., это Raspberry PI 2 с 32-разрядной архитектурой armv7 под управлением ОС FreeBSD 12.0-CURRENT ревизия r328806 с кастомным ядром, собранной на другом ПК host.domain с архитектурой amd64 с помощью кросскомпиляции (Как это сделать, худо бедно, но описано в предыдущей статье).
Дисковое пространство организовано с помощью двух разделов (msdos и ufs):
CODE:
$ mount /dev/mmcsd0s2a on / (ufs, local, noatime, soft-updates) devfs on /dev (devfs, local) /dev/mmcsd0s1 on /boot/msdos (msdosfs, local, noatime) tmpfs on /tmp (tmpfs, local) procfs on /proc (procfs, local) fdescfs on /dev/fd (fdescfs)

На разделе msdos лежат файлы, необходимые для загрузки ОС с помощью u-boot, а на ufs - собственно, сама операционная система.
Причина, по которой производились изыскания, это желание сократить связанное с добавлением дополнительных устройств внесение изменений в системный исходный код ОС, а использовать для этого "понятный и доступный" механизм по подключению оверлеев (или, плагинов) к существующему дереву устройств, в сочетании с условностями и ограничениями реализации этого "понятного и доступного" механизма во FreeBSD на текущий момент.
Итак...
Продолжить чтение "FreeBSD и device tree overlays"