Для сборки StratoVirt необходимо убедиться, что установлены язык программирования Rust и инструмент Cargo. Рекомендуется использовать версию rustc не ниже 1.64.0, иначе компиляция может завершиться неудачно.
$ rustc --version
rustc 1.64.0
Если вы хотите установить среду разработки Rust, то можете воспользоваться следующей ссылкой:
https://www.rust-lang.org/tools/install
При использовании glibc StratoVirt будет динамически связан с двоичным файлом. Это стандартный способ сборки StratoVirt.
# Добавление инструментальной цепочки GNU, если она уже установлена, можно пропустить
$ arch=`uname -m`
$ rustup target add ${arch}-unknown-linux-gnu
# Сборка StratoVirt
$ cargo build --workspace --bins --release --target ${arch}-unknown-linux-gnu
Теперь вы можете найти путь к двоичному файлу StratoVirt в папке target/${arch}-unknown-linux-gnu/release/stratovirt
.
StratoVirt также можно собрать с помощью инструментальной цепочки musl-libc. В этом случае StratoVirt может быть статически связан и не зависеть от каких-либо динамических библиотек.
# Добавление инструментальной цепочки musl, если она уже установлена, можно пропустить
$ arch=`uname -m`
$ rustup target add ${arch}-unknown-linux-musl
# Сборка StratoVirt
$ cargo build --workspace --bins --release --target ${arch}-unknown-linux-musl
Теперь вы можете найти путь к статически связанному двоичному файлу StratoVirt в папке target/${arch}-unknown-linux-musl/release/stratovirt
.
В зависимости от сценария использования StratoVirt предоставляет параметры условной компиляции на основе возможностей cargo.
Список доступных функций:
Пример команды сборки:
$ cargo build --release --features "scream_alsa"
StratoVirt поддерживает работу на OpenHarmony OS (OHOS). Для этой версии требуется компьютер с архитектурой x64 и использование инструментальной цепочки и SDK, предоставляемых OHOS.
Перед сборкой необходимо указать путь к SDK OHOS в переменной окружения OHOS_SDK. Кроме того, некоторые зависимости StratoVirt могут не поддерживаться при компиляции для OHOS, и их исходный код может потребовать соответствующих изменений.
Примерная команда сборки:
RUSTFLAGS="-C link-arg=--target=aarch64-linux-ohos -C linker={OHOS_SDK}/llvm/bin/clang" cargo build --target aarch64-linux-ohos --features {FEATURES}"
Чтобы скомпилировать StratoVirt с помощью контейнеров, необходимо убедиться, что установлен Docker. Вы можете проверить это с помощью следующей команды:
$ docker -v
Docker version 18.09.0
Если вам нужно настроить окружение Docker, вы можете обратиться к следующей ссылке:
https://docs.docker.com/get-docker/
Запустите скрипт tools/build_stratovirt_static, чтобы автоматически запустить контейнер Docker и скомпилировать статически связанный двоичный файл StratoVirt.
$ cd tools/build_stratovirt_static
# Укажите собственное имя образа, чтобы создать статически связанный двоичный файл StratoVirt
$ sh build_stratovirt_from_docker.sh custom_image_name
После завершения сборки вы можете найти статически связанный двоичный файл StratoVirt по пути target/${arch}-unknown-linux-musl/release/stratovirt
.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )