Установка, обновление и удаление Аврора Platform SDK вручную
Установка
-
Скачать компоненты Platform SDK в одну директорию.
Например, для версии 5.1.2.10 потребуется комплект файлов:
- Aurora_OS-5.1.2.10-base-Aurora_Platform_SDK_Chroot-x86_64.tar.bz2;
- Aurora_OS-5.1.2.10-base-Aurora_SDK_Tooling-x86_64.tar.7z;
- Aurora_OS-5.1.2.10-base-Aurora_SDK_Target-armv7hl.tar.7z;
- Aurora_OS-5.1.2.10-base-Aurora_SDK_Target-aarch64.tar.7z;
- Aurora_OS-5.1.2.10-base-Aurora_SDK_Target-x86_64.tar.7z.
Следующие команды предлагается выполнять в директории, в которой сохранены архивы с компонентами Platform SDK.
-
Создать в домашней директории пользователя директорию AuroraPlatformSDK, в которой создать директории:
- sdks/aurora_psdk
- Основная директория Platform SDK, куда будет установлен образ корневой файловой системы. Здесь важно наличие промежуточной директории sdks.
- tarballs
- Директория, куда для удобства можно поместить установочные архивы.
- projects
- Директория для сборки проектов.
Команда приводится для Unix-совместимого терминала. В Linux и macOS можно использовать стандартный терминал, в Windows необходимо использовать Git Bash.
mkdir -pv $HOME/AuroraPlatformSDK/tarballs mkdir -pv $HOME/AuroraPlatformSDK/sdks/aurora_psdk mkdir -pv $HOME/AuroraPlatformSDK/projects
-
Скопировать установочные архивы в директорию tarballs:
cp -v $(pwd)/Aurora_OS-*.bz2 $HOME/AuroraPlatformSDK/tarballs
-
В директорию $HOME/AuroraPlatformSDK/sdks/aurora_psdk распаковать образ Platform SDK Chroot:
export PSDK_DIR=$HOME/AuroraPlatformSDK/sdks/aurora_psdk export CHROOT_IMG=$(find $HOME/AuroraPlatformSDK/tarballs -iname "*chroot*") sudo tar --numeric-owner -p -xjf $CHROOT_IMG --checkpoint=.1000 -C $PSDK_DIR
Последняя команда устанавливает Platform SDK Chroot, для успешной установки необходимо использовать пароль суперпользователя.
-
Для удобства можно сохранить созданные ранее переменные в конфигурационный файл оболочки. Для оболочки Bash это файл $HOME/.bashrc, для оболочки ZSH — $HOME/.zshhrc.
if [[ -z $(grep PSDK_DIR ~/.bashrc) ]]; then echo 'export PSDK_DIR=$HOME/AuroraPlatformSDK/sdks/aurora_psdk' >> $HOME/.bashrc fi
Другие переменные добавляются аналогично.
-
Создать псевдоним для запуска Platform SDK:
if [[ -z $(grep "alias aurora_psdk" ~/.bashrc) ]]; then echo 'alias aurora_psdk=$PSDK_DIR/sdk-chroot' >> ~/.bashrc fi
После этого нужно применить изменения, открыв в терминале новую сессию:
$SHELL
-
Настроить внешний вид приглашения командной строки для Platform SDK:
echo 'PS1="[AuroraPlatformSDK $PS1]"' >> ~/.bashrc
Также вместо .bashrc можно использовать .bash_profile.
-
Опционально можно также настроить скрипты автодополнения для использования внутри Platform SDK:
echo '[ -d /etc/bash_completion.d ] && for i in /etc/bash_completion.d/*;do . $i;done' >> ~/.bashrc
Также вместо .bashrc можно использовать .bash_profile.
Запуск
-
Выполнить скрипт запуска Platform SDK:
$PSDK_DIR/sdk-chroot
или по псевдониму
aurora_psdk
При первом запуске будут выдаваться предупреждения, что будут созданы некоторые необходимые директории. Следует подтвердить действие клавишей «Enter» или «C».
-
После запуска Platform SDK произойдет следующее:
- Выполнится временное изменение корневой директории (так называемый Chroot или Change root).
Далее для краткости будем использовать термин Chroot,
говоря об окружении с временно изменённой корневой директорией.
Команда
ls -lah /
в Chroot покажет содержимое директории $HOME/AuroraPlatformSDK/sdks/aurora_psdk. - Создадутся (при необходимости) директории для Platform SDK Tooling и Platform SDK Target, которые будут смонтированы, соответственно, как /srv/mer/tooling и /srv/mer/targets в Chroot.
- Корневой раздел системы / будет смонтирован в Chroot как /parentroot.
- Домашняя директория пользователя в Chroot будет смонтирована с тем же полным путем (доступна по значению переменной $HOME).
- Будут выполнены однократно конфигурационные скрипты.
- Изменится приглашение командной строки.
- Выполнится временное изменение корневой директории (так называемый Chroot или Change root).
Далее для краткости будем использовать термин Chroot,
говоря об окружении с временно изменённой корневой директорией.
Команда
Настройка
-
Установить Platform SDK Tooling:
sdk-assistant tooling create \
AuroraOS-<номер_релиза>-base \
tarballs/Aurora_OS-<номер_релиза>-base-Aurora_SDK_Tooling-<архитектура>.tar.7z
Пример:
sdk-assistant tooling create \
AuroraOS-5.1.2.10-base \
tarballs/Aurora_OS-5.1.2.10-base-Aurora_SDK_Tooling-x86_64.tar.7z
-
Установить комплекты сборки под нужные архитектуры:
sdk-assistant target create \
AuroraOS-<номер_релиза>-<вариант_релиза>-<архитектура> \
tarballs/Aurora_OS-<номер_релиза>-base-Aurora_SDK_Target-<архитектура>.tar.7z
Пример:
sdk-assistant target create \
AuroraOS-5.1.2.10-base-x86_64 \
tarballs/Aurora_OS-5.1.2.10-base-Aurora_SDK_Target-x86_64.tar.7z
При желании можно автоматизировать установку, добавив ключ
--non-interactive
. Если файл цели сборки находится не в текущей папке, следует указать полный или относительный путь:sdk-assistant --non-interactive target create \
AuroraOS-5.1.2.10-base-armv7hl \
$HOME/AuroraPlatformSDK/tarballs/Aurora_OS-5.1.2.10-base-Aurora_SDK_Target-armv7hl.tar.7z
Путь к архиву с комплектом сборки можно также указать в виде URL — в этом случае он будет автоматически скачан в процессе установки утилитой curl.
-
Проверить список установленных целей сборки:
sdk-assistant list
Результатом выполнения команды должна быть иерархическая структура, корневым узлом которой является Platform SDK Tooling, далее идут комплекты сборки, для каждого из которых по умолчанию создается снепшот:
AuroraOS-5.1.2.10-base
├─AuroraOS-5.1.2.10-base-aarch64
│ └─AuroraOS-5.1.2.10-base-aarch64.default (snapshot)
├─AuroraOS-5.1.2.10-base-armv7hl
│ └─AuroraOS-5.1.2.10-base-armv7hl.default (snapshot)
└─AuroraOS-5.1.2.10-base-x86_64
└─AuroraOS-5.1.2.10-base-x86_64.default (snapshot)
Снепшот (snapshot) — это снимок текущего состояния файловой системы комплекта сборки. По умолчанию используется снепшот с суффиксом .default, но при необходимости можно создать пользовательские снепшоты (это может потребоваться для сборки разных проектов с конфликтующими зависимостями).
Обновление
Каждый комплект сборки обновляется отдельно, также отдельно обновляется тулинг. Для начала выполняется команда обновления кэша репозиториев. Затем выполняется обновления образа.
Обновление в среде Chroot требуют наличие прав суперпользователя:
sudo zypper ref
sudo zypper dup
Для обновления таргета нужно сначала перейти в его корневую файловую систему с правами суперпользователя:
sb2 -t AuroraOS-<номер_релиза>-base-<архитектура> -m sdk-install -R
Например:
sb2 -t AuroraOS-5.1.2.10-base-armv7hl -m sdk-install -R
Затем команды обновления кэша репозиториев и обновления образа можно выполнять без ввода sudo:
zypper refresh
zypper dist-upgrade
Удаление
-
Выйти из окружения Chroot, выполнив команду
exit
или используя сочетание клавиш «Ctrl + D». Приглашение командной строки должно вернуться к виду без префикса AuroraPlatformSDK. -
Удалить директории:
sudo rm -rf $HOME/AuroraPlatformSDK/sdks/
sudo rm -rf $HOME/AuroraPlatformSDK/toolings/
sudo rm -rf $HOME/AuroraPlatformSDK/targets/
Если не удалять директории toolings и targets, то при последующей переустановке Platform SDK запроса на их создания не будет, а этап настройки не потребуется.
-
Удалить записи в конфигурационном файле оболочки.
-
Удалить файл ~/.mersdk.profile.
-
Удалить директорию $HOME/.scratchbox2 со всем содержимым.