1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openeuler-stratovirt

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
build_guide.ch.md 6.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 5 месяцев назад 123faeb

Сборка StratoVirt из исходного кода

1. Проверка среды разработки Rust

Для сборки StratoVirt необходимо убедиться, что установлены язык программирования Rust и инструмент Cargo. Рекомендуется использовать версию rustc не ниже 1.64.0, иначе компиляция может завершиться неудачно.

$ rustc --version
rustc 1.64.0

Если вы хотите установить среду разработки Rust, то можете воспользоваться следующей ссылкой:

https://www.rust-lang.org/tools/install

2. Использование glibc для сборки

При использовании 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.

3. Использование musl-libc для сборки

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.

4. Параметры компиляции на основе функций

В зависимости от сценария использования StratoVirt предоставляет параметры условной компиляции на основе возможностей cargo.

Список доступных функций:

  • scream_alsa: включить виртуальный звуковой адаптер с использованием ALSA в качестве бэкенда.
  • scream_pulseaudio: включить виртуальный звуковой адаптер с использованием PulseAudio в качестве бэкенда.
  • usb_host: включить поддержку USB Host.
  • usb_camera_v4l2: включить поддержку USB-камеры с использованием v4l2 в качестве бэкенда.
  • gtk: включить поддержку GTK.
  • vnc: включить поддержку VNC.
  • ramfb: включить поддержку устройства отображения RAMFB.
  • virtio_gpu: включить поддержку virtio-gpu для виртуальной видеокарты.

Пример команды сборки:

$ cargo build --release --features "scream_alsa"

5. Компиляция для OpenHarmony OS

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 через контейнеры

1. Проверка окружения Docker

Чтобы скомпилировать StratoVirt с помощью контейнеров, необходимо убедиться, что установлен Docker. Вы можете проверить это с помощью следующей команды:

$ docker -v
Docker version 18.09.0

Если вам нужно настроить окружение Docker, вы можете обратиться к следующей ссылке:

https://docs.docker.com/get-docker/

2. Используйте инструменты для сборки

Запустите скрипт 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 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/openeuler-stratovirt.git
git@gitlife.ru:oschina-mirror/openeuler-stratovirt.git
oschina-mirror
openeuler-stratovirt
openeuler-stratovirt
master