Новости
PC-Control, апрель 2019, стр. 7: "Основные моменты автоматизации:
TwinCAT, бьющееся сердце системы Beckhoff, набирает обороты с важной
инновацией в сегменте автоматизации: TwinCAT впервые будет доступен и в
операционной системе, отличной от Windows. "TwinCAT/BSD основан на FreeBSD,
зарекомендовавшей себя, исключительно надежной и продвинутой ОС с открытым
исходным кодом, которая уходит корнями в 80-е годы", - говорит управляющий
директор. Она также позволяет запускать большое количество программ Linux. В
то же время TwinCAT/BSD не подчиняется условиям лицензии Linux GPL. С точки
зрения компании, лицензирование BSD позволяет распространять программное
обеспечение для автоматизации среди поставщиков и пользователей в обычным для
отрасли образом, поскольку такая лицензия не требует открывать исходный код
программного обеспечения."
Youtube, 10 февраля 2020: TwinCAT/BSD объединяет рантайм XAR
TwinCAT 3 и FreeBSD, проверенной в промышленности и надежной операционной
системой с открытым исходным кодом. TwinCAT/BSD поддерживает все функции
TwinCAT 3 и дополнительно позволяет использовать современный HMI TwinCAT на
основе HTML5.
Сейчас
Заказная позиция с сайта Beckhoff: CX2900-0026: 20 GB CFast card, 3D flash, extended temperature range (only for
Windows CE or
TwinCAT/BSD operating systems)
TwinCAT/BSD: Operating System for IPC Features, предположительная дата выпуска - второй квартал 2020.
Слухов и новостей было достаточно. Поэтому попробовал бету.
Виртуальная машина
Сделать физическую флэшку с помощью .iso образа и
Etcher
(официальная рекомендация). Подключить-воткнуть флешку в ноутбук.
cd %programfiles%\oracle\virtualbox
Выяснить какой номер диска присвоен флэшке. Нужено только номер. Номер
подставить вместо решетки `#` в
\\.\PhysicalDrive#
VBoxManage internalcommands createrawvmdk -filename
"%USERPROFILE%\.VirtualBox\usb.vmdk" -rawdisk \\.\PhysicalDrive1
Получится образ-ссылка на флэшку. Флэшку не вынимать, оставить подключенную.
(!) Запустить VirtualBox от имени Администратора.
Для виртуальной машины отключить все диски и добавить один IDE контроллер
Master диск со ссылкой на usb.vmdk, созданный ранее, и один SATA
диск (размер минимум 16 Гб, можно динамически расширяемый).
Запомнить размер SATA диска (или сделать его отличающимся от разера флэшки)
это поможет его отличить от флэшки позднее при установке BSD. Предположим
флэшка 8Гб, тогда SATA диск 10Гб или 20Гб.
Отключить загрузку со всех источников, т. е.
System → Boot Order должен
быть пустой, все галки сняты. В вирт.машине включить поддержку
System → Enable EFI.
Загрузиться с флэшки.
Установить на SATA диск (см. картинку выше). Отключить вирт. машину и удалить контроллер IDE вместе с линком на
vmdk-образ флэшки. Включить вирт. машину и загрузиться.
login: Administrator
passwd: 1
Команды и кнопки системы
- Клавиша клавиатуры Scroll Lock включает-выключает вертикальную прокрутку консоли. Непосредственно прокрутка производится клавишами PgUp/PgDown.
- Alt+F1..F13 — переключает виртуальные консоли
- dmesg — загрузка устрйоства при старте системы
- `#` в начале строки, означает запуск с рутовыми правами. Например, doas ps -a
- `%` в начале строки, запуск с правами текущего пользователя.
- Простой редактор текстов EasyEditor. Команда `ee` из командной строки. Например, # ee <имя файла>
Доп пакеты
`doas` в начале команд нужен для временного разрешения запуска под рутовыми правами. Это аналог `sudo` в линуксе.
Посмотреть какие репозитории подключены в данный момент можно с помощью
команды # pkg -vv (да-да, с двойной `vv` на конце).
Официальные пакеты прописаны в /etc/pkg/Train.conf, но там только самое необходимое.
Доп. пакеты подключаются: # cp /etc/pkg/FreeBSD.conf /usr/local/etc/pkg/repos/FreeBSD.conf
Если после этого удалить /etc/pkg/Train.conf официальный репозиторий пакетов станет недоступен.
Guest расширения VirtualBox
Просвещаться на Wiki FreeBSD VirtualBox.
# pkg install emulators/virtualbox-ose-additions
# pw groupmod wheel -m Administrator — чтобы в дальнейшем работал буфер
обмена и др. плюшки граф. оболочек.
# ee /etc/rc.conf — откроется простой текстовый редактор, добавить в конец файла следующие строки:
vboxguest_enable="YES"
vboxservice_enable="YES"
Для завершения редактора и сохранения нажать Escape → a → a. Эскейп
срабатывает медленно, не стоит торопиться.
Перезагрузиться: doas reboot
Midnight Commander
Файловый двух-панельный менеджер, Norton/Total Commander из мира *nix.
Установка: # pkg install mc
Запуск из командной строки: mc
XFCE4
Самое простое описание установки. Человек наелся говна на форумах и свел все к простому списку действий. Спасибо!
Драйверы графики для AMD-Intel-Noname: # pkg install drm-kmod
но(!)
Драйверы для графики VirtualBox: # pkg install emulators/virtualbox-ose-kmod
doas ee /etc/rc.conf
добавить строки
kld_list="/boot/modules/i915kms.ko" — для граф. адаптера Intel.
kld_list="/boot/modules/vboxdrv.ko" — для виртуального граф. адаптера vbox.
dbus_enable="YES"
Перезагрузиться: doas reboot
# pkg install xorg
# pkg install xfce
Если установка прервалась по какой-либо причине (упало интернет соединение),
то повторить команды: установка продолжиться с прерванного пакета.
Запуск из командной строки: startxfce4
Общие каталоги
В настройках вирт. машины настроить каталог для шаринга файла между хостом и
гостем.
В вирт. машине под xfce4 запустить терминал. Ввести:
# mount_vboxvfs -w myshare /mnt, где
myshare — название шары как ресурса или точки монтирования (это не название
каталога!);
/mnt — куда подмонтировать: каталог должен присутствовать,
автоматически он не создается (здесь вам не виндус).
Название шары (здесь myshare) указывается при настройке виртуальной машины Shared Folder → Add Share → Mount point.
Теперь можно таскать файлы между Windows и Tc/BSD туда-обратно.
Git
# pkg install git
.NET Core 3
.Net-Core-3.0.0-for-FreeBSD — нужно всё скачать и выполнить все следующие пункты.
Необходимые пакеты
# pkg install libunwind lttng-ust icu curl openssl111 bash git llvm60 cmake
krb5
# ln -s /usr/local/bin/bash /bin/bash
.NET Core 3.0.0 prebuilt SDK
Скачать
dotnet-sdk-3.0.100-freebsd-x64.tar.gz и через расшареную папку скопировать в виртуальную машину. Распаковать в ~/dotnet-sdk
mkdir ~/dotnet-sdk
tar xf dotnet-sdk-3.0.100-freebsd-x64.tar.gz -C ~/dotnet-sdk
Essential .Net NuGet Base Packages
Скачать dotnet_pkgs-3.0.0-freebsd.tar. Через расшареную папку скопировать в виртуальную машину. Распаковать в ~/dotnet_pkgs
mkdir ~/dotnet_pkgs
tar xf dotnet_pkgs-3.0.0-freebsd.tar -C ~/dotnet_pkgs
NuGet
Создать или отредактировать файл настроек ~/.nuget/NuGet/NuGet.Config. Добавить в него
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources> <add key="local_pkgs" value="/home/Administrator/dotnet_pkgs" /> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>
`Administrator` заменить на имя текущего пользователя или оставить как есть, если текущий пользователь это действительно Администратор (не рут, а именно
Administrator).
Failed to initialize CoreCLR, HRESULT: 0x8007001F
Описание здесь: linux-dotnet-cli
# ee /etc/sysctl.conf
Добавить строку: vm.max_wired=1333000
Как вариант, вместе добавления строки можно попробовать из командной строки вызвать команду: # sysctl vm.max_wired=1333000
Проверяем работоспособность
mkdir ~/testapp
cd ~/testapp
~/dotnet-sdk/dotnet new console -o myApp
cd myApp
~/dotnet-sdk/dotnet run
Создаем образ диска
Подключаем, например, кард-ридер. Добавляем в вирт.машину соответствующее USB-устройство. Запускаем вирт. машину.
В юниксе получаем список дисковых устройств: # camcontrol devlist. Нам нужны `ada0` или `da0`, или другой диск. Для всяких сидиромов порядок
именования устройств может быть обратным.
Получается что-то вроде следующего:
# camcontrol devlist <VBOX HARDDISK 1.0> at scbus0 target 0 lun 0 (ada0,pass0) <VBOX CD-ROM 1.0> at scbus1 target 0 lun 0 (pass1,cd0)
Подключаем шару к хост компьютеру (см. выше `общие каталоги`).
Запускаем дупликатор `dd`: # dd if=/dev/da0 of=/mnt/cfdisk-image-backup.dd bs=128K
conv=noerror,sync status=progress
Ждем завершения, долго...
Putty
В случае ошибки: SSH Shell fail - Couldn't agree a key exchange algorithm.
Обновить Putty. В версии 0.73 все работает.
VNC
TightVnc: # pkg install net/tightvnc
Бесплатный клиент под Windows — VncViewer
...
Hey Nikolai! This is great, first time I get to see how Tc/BSD actually looks like. Where did you get hold of the beta?
ReplyDeleteHey 9planets! Some of the Beckhoff customers have got the beta version. It is possible we will see the release this year. IMHO
Delete