В настоящее время ядро Linux имеет около 20 миллион строк кода, а ARM обладая сотней лицензий производит множество процессоров и микроконтроллеров, которые в конечном итоге могут стать сотнями тысяч различных проектов, многие из которых не используют Linux, но для тех которые его используют, Linux должен быть протестирован, чтобы быть уверенным в его работоспособности. То же самое относится и к любому крупному программному обеспечению, используемому на нескольких аппаратных платформах.
Ручное тестирование – является одним из способов сделать это, но потребуется много времени и затрат, поэтому существуют программные и аппаратные решения непрерывной интеграции для автоматизации тестирования такие, как Linaro LAVA (Linaro Automated Validation Architecture), а также KernelCI для автоматизированного тестирования ядра Linux и Automotive Grade Linux CIAT, которое автоматически тестирует входящие серии патчей.
CIAT и KernelCI сосредоточены на Linux и полагаются на LAVA, при этом KernelCI использует аппаратное обеспечение, предоставленное сообществом, которое доказало свою эффективность, поскольку с момента его реализации неудачные сборки конфигураций сократились с 51 до 0 на сегодняшний день вместе с Linux 3.14. Однако, процесс настройки аппаратного обеспечения и LAVA может быть сложным и беспорядочным, поскольку вокруг будут лежать все различные платы, поэтому инженеры BayLibre работают над доступным концептом “Lab in Box”, чтобы упростить администрирование и дублирование таких систем в надежде привлечь больше заинтересованных людей.
У них получился красивый корпус для системы, который похож на системный блок типа “middle tower” для настольного ПК и в него входит:
- Материнская плата ASRock Q1900B-ITX на базе Intel Celeron J1900 с 8 Гб оперативной памяти и 120 Гб SSD с управлением LAVA и диспетчером
- Тестируемые устройства (DUT) могут вами меняться, но демо версия включает в себя:
- Стартовый комплект Renesas R-Car M3
- DragonBoard 410C
- Плата AML-S905-CC (LePotato)
- BeagleBone Black
- Raspberry Pi 3
- NXP SABRE Light
- Связь / провода
- Сетевой коммутатор
- USB хаб
- Для каждой платы DUT: кабель питания, последовательный кабель отладки, кабель Ethernet
- ACME Cape + Probes + Beaglebone Black для измерения потребления энергии и контроля тестируемых устройств
- Питание – 530 Вт блок питания ATX с +12 В и +5 В
Как оказалось, система работает вместе с полной системой непрерывной интеграции и все это встроено в один корпус, стоимость которого около 400 евро, без учета тестируемых устройств. Установка программного обеспечения также была упрощена, благодаря частичной автоматизации установки программного обеспечения (WiP). Тем не менее, все еще по-прежнему необходимо будет поработать, поскольку, было обнаружено, что для частичной сборки потребуется много времени, потому что для каждого тестируемого устройства потребуется индивидуальный провод, а также платы должны поддерживать входное напряжение 5 или 12 В и потребляемая мощность DUT должна быть ограничена в паре проводов до 4 А. Также эта система поддерживает только платы, которые соответствуют определенному размеру и система не может быть масштабируемой, поскольку использование большего корпуса с большим количеством плат может привести к чрезмерному количеству внутренней проводки. Концепт Lab in a Box может быть усовершенствован благодаря более мощному блоку питанию, поддержке более крупных плат и улучшенной документации. Baylibre возможно также работает над профессиональным “Lab in a Box”, которую можно поместить в стойку.
Вы можете посмотреть “Введение Lab in a Box Concept” от Патрика Титиано и Кевина Хиллмана и посетить сайт BayLibre для получения дополнительной информации.
Если у вас есть время, то вы также можете почитать слайд презентацию.
В качестве дополнительного примечания, все видео с конференции в Европе 2017 встраиваемых систем на Linux было загружено на YouTube.
Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.