LabVIEW на Linux OpenEmbedded

Обсуждение программ, пользовательского обеспечения, операционных систем
Ответить
ujin1
adviser
adviser
Сообщения: 227
Зарегистрирован: 06 ноя 2020, 15:37
Версия LabVIEW: 19
Благодарил (а): 17 раз
Поблагодарили: 37 раз
Контактная информация:

LabVIEW на Linux OpenEmbedded

Сообщение ujin1 »

На GitHub есть страница https://github.com/ni/nilrt на которой есть информация, что NILinuxRT построена с использованием OpenEmbedded framework
Есть страница с информацией как построить ядро Linux с использованием Yocto Project, который так же использует Open Embedded и bitbake https://www.codeinsideout.com/blog/yocto/introduction/
Попробовал построить ядро по инструкции. Ветка dunfell требует старый Python, поэтому заменил на mickledore
https://layers.openembedded.org/layerin ... re/layers/
Подсистема инициализации в OpenEmbedded используется SystemV. Менеджер пакетов opkg, пакеты ipk
Ядро строил core-image-base, и core-image-minimal (bitbake core-image-minimal)
Инструкция длинная и работает, перепечатывать смысла нет.
Далее по этой же инструкции строится LabVIEW runtime. Для этого нужно клонировать и подключить слой meta-labview https://github.com/MakerHub/meta-labview
и команда (из рецептов) core-image-minimal-chroot. После постройки получается LabVIEW runtime последней версии для запуска из chroot окружения
Для запуска в OS Linux OpenEmbedded нужно примонтировать директории из host в chroot, указанные в /etc/fstab chroot образа
Статей много я пользовался https://laurvas.ru/chroot/
И работает!
Таким образом можно построить маленькое кастомное ядро Linux, построить LabVIEW runtime запустить его на этом ядре.
PS. По этой же инструкции https://www.codeinsideout.com/blog/yocto/introduction/ строится NILinuxRT. Нужно использовать Ubuntu 18 и инструкцию в ветке 21.5/*
При более новые релизы так же строятся по инструкции от 21.5
Осталось разобраться где там добавить русскую локаль
PPS. В первый раз ядро строится на 8 ядерном intel примерно полдня.
Изображение
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2203
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 25 раз

Re: LabVIEW на Linux OpenEmbedded

Сообщение Borjomy_1 »

В свете нынешней ситуации очень актуальна установка Labview Runtime на Astra Linux. У меня пока не получилось.
ujin1
adviser
adviser
Сообщения: 227
Зарегистрирован: 06 ноя 2020, 15:37
Версия LabVIEW: 19
Благодарил (а): 17 раз
Поблагодарили: 37 раз
Контактная информация:

Re: LabVIEW на Linux OpenEmbedded

Сообщение ujin1 »

Могут быть варианты
С графической подсистемой
Сервер без графической подсистемы
Запуск в виде службы
Это если процессор intel.
Нужно версию дистрибутива Астра подобрать соответствующую версии дистрибутива дебиана, которая поддерживается нужной версией LabVIEW.
Поразбираюсь. Время есть немного.
Изображение
Artem.spb

Activity Автор
professor
professor
Сообщения: 3370
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 46 раз
Поблагодарили: 172 раза
Контактная информация:

Re: LabVIEW на Linux OpenEmbedded

Сообщение Artem.spb »

Borjomy_1 писал(а): 11 окт 2023, 13:49 В свете нынешней ситуации очень актуальна установка Labview Runtime на Astra Linux. У меня пока не получилось.
Несколько лет назад "подержал в руках" VM астры с :labview: не самой старой версии. Так что это реально :)
Но сам не линуксист, чисто проверили на работе, что если заказчики прижмут, сможем продолжить.
ujin1
adviser
adviser
Сообщения: 227
Зарегистрирован: 06 ноя 2020, 15:37
Версия LabVIEW: 19
Благодарил (а): 17 раз
Поблагодарили: 37 раз
Контактная информация:

Re: LabVIEW на Linux OpenEmbedded

Сообщение ujin1 »

Borjomy_1 писал(а): 11 окт 2023, 13:49 В свете нынешней ситуации очень актуальна установка Labview Runtime на Astra Linux. У меня пока не получилось.
Astra Linux на основе Debian
1 Заходим на страницу https://www.ni.com/en/support/documenta ... ility.html. Из Debian совместимых Ubuntu 18, 20
2 Из описания Ubuntu 20.04 LTS узнаем ядро Линукс 5.4. Если не совпадает то возможны варианты.
3 Достаем старый дистрибутив Astra Linux скачанный на всякий случай или добываем где-нибудь и как нибудь дистрибутив.
4 При установке есть выбор ядра. На всякий случай выбираем linux-5.4-generic
5. Копируем дистрибутив. Пытаемся сходу установить. Добавлена проверка ОС. Надо лезть в скрипт

Код: Выделить всё

ujin@u1-astra:~/2021LVLinRTE$ sudo ./INSTALL
Sorry, LabVIEW is not currently available for this O/S and architecture.
Тут варианты какие. Скорее всего установщик в сеть не лезет ибо runtime. А в папке есть 2 копии пакетов rpm и deb.
deb пакетов всего 8. (rpm пакетов 9). поэтому можно попробовать установить ручками

Код: Выделить всё

ujin@u1-astra:~/2021LVLinRTE/deb/pool/ni-labview-2021-runtime-engine/n$ ls
nicurli  ni-python-interface  ni-ssl-bin  nisslcerts  nissli  ni-tdms-bin  nitdmsi
В каждую папку заходим и устанавливаем все пакеты по очереди

Код: Выделить всё

ujin@u1-astra:~/2021LVLinRTE/deb/pool/ni-labview-2021-runtime-engine/n$ cd nisslcerts
ujin@u1-astra:~/2021LVLinRTE/deb/pool/ni-labview-2021-runtime-engine/n/nisslcerts$ ls
nisslcerts_21.3.0.49152-0+f0_all.deb
ujin@u1-astra:~/2021LVLinRTE/deb/pool/ni-labview-2021-runtime-engine/n/nisslcerts$ sudo apt install ./nisslcerts_21.3.0.49152-0+f0_all.deb
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Заметьте, вместо «./nisslcerts_21.3.0.49152-0+f0_all.deb» выбирается «nisslcerts»
Следующие НОВЫЕ пакеты будут установлены:
  nisslcerts
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 0 B/2 228 B архивов.
После данной операции объём занятого дискового пространства возрастёт на 0 B.
Пол:1 /home/ujin/2021LVLinRTE/deb/pool/ni-labview-2021-runtime-engine/n/nisslcerts/nisslcerts_21.3.0.49152-0+f0_all.deb nisslcerts all 21.3.0.49152-0+f0 [2 228 B]
Выбор ранее не выбранного пакета nisslcerts.
(Чтение базы данных … на данный момент установлено 192672 файла и каталога.)
Подготовка к распаковке …/nisslcerts_21.3.0.49152-0+f0_all.deb …
Распаковывается nisslcerts (21.3.0.49152-0+f0) …
Настраивается пакет nisslcerts (21.3.0.49152-0+f0) …
N: Загрузка выполняется от лица суперпользователя без ограничений песочницы, так как файл «/home/ujin/2021LVLinRTE/deb/pool/ni-labview-2021-runtime-engine/n/nisslcerts/nisslcerts_21.3.0.49152-0+f0_all.deb» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)
Чего-то ругается нужно разобраться недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)
Устанавливаем среду разработки на Development машину. Скачал LabVIEW 21 community edition. Установил на centos 7.
app builder есть. Делаем простую прогу, компилируем, копируем на машину с AstraLinux
как обычно три файла Application Application.aliases Application.conf
Запускаем из под обычного пользователя

Код: Выделить всё

ujin@u1-astra:~/tmp$ ./Application
Ругается что не может соединиться с сервером отладки. Я включил отладку при компиляции
Ну и собственно работает
Screenshot_20231012_170117.png
Screenshot_20231012_170235.png
Screenshot_20231012_173829.png
Понятно нужно приложение с классами, акторами, очередями, событиями, с DVR, c обменом ethernet, COM порта. Как то добавить библиотеки, так как их в community edition по минимуму.
Все это гонять пару недель. Посмотреть будет ли утечка памяти. Оператор если будет тыкать как попало
Надо со скриптом INSTALL разобраться и заменить ОС ubuntu на Astra. Скрипт может еще добавляет что-нибудь в подсистему инициализации sуstemd и подсистему безопасности
INSTALL скрипт достаточно объемный. С ходу разобраться не получилось
Изображение
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Софт»