Понимая каждого из себя (или, может быть, нет), похоже, что я далек от понимания практических различий между ними.
В моем понимании, BSP представляет собой пакет драйверов и параметров конфигурации, позволяющий загружать изображение ядра на доску (и является ее частью). Драйвер отдельного устройства работает на определенном компоненте (HW), взаимодействуя с одной стороны с ядром ядра, а с другой стороны с самим устройством.
Глядя на ядро Linux, мне непонятно, где начинается роль BSP и роль драйвера устройства. В частности, я привык видеть один BSP на плату на изображение, однако общее ядро Linux может быть загружено в любое семейство архитектуры с одним и тем же изображением (понятно, что для разных семейств существуют разные изображения: x86, amd64, arm, и т.д.), где конкретные драйверы плат и периферийных устройств загружаются по потребности из initrd.
Есть ли BSP для общих дистрибутивов ядра Linux? Или BSP относится только к доскам для особых случаев?
Является ли подобное поведение аналогичным для других ядер? VxWorks?
И последнее, часто ли слияние разных BSP/s для создания одного изображения, которое будет соответствовать различным платам?