FreeBSD вместо Linux. Было известно еще в прошлом году, тогда же можно было
попробовать. Поэтому некий срез, который c прошлого 2019 года местами подзавял, но уж как есть.
Заказная позиция с сайта Beckhoff: CX2900-0026: 20 GB CFast card, 3D flash, extended temperature range (only for
Windows CE or
TwinCAT/BSD operating systems)
Слухов и новостей было достаточно. Поэтому попробовал бету.
Сделать физическую флэшку с помощью .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
# 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
но(!)
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
Необходимые пакеты
# 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
mkdir ~/dotnet-sdk
tar xf dotnet-sdk-3.0.100-freebsd-x64.tar.gz -C ~/dotnet-sdk
Essential .Net NuGet Base Packages
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
# 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
Бесплатный клиент под Windows — VncViewer
...