У меня установлен ISO-образ операционной системы. Моя цель - запустить вторую операционную систему поверх ядра хоста Ubuntu, на котором работает LXD. Я не могу найти базовый образ для указанной операционной системы. Могу ли я создать собственный образ lxc для запуска поверх ядра ubuntu и доступа к оболочке второй системы?
Заранее спасибо.
Стефан Грабер описал процедуру создания образов для LXD 2.0 и выше с нуля в статье. LXD 2.0: управление изображениями (раздел «Создание изображения вручную»):
Создание изображения вручную
Создать свой собственный образ тоже довольно просто.
- Создайте файловую систему контейнера. Это полностью зависит от дистрибутива, который вы используете. Для Ubuntu и Debian это будет с помощью
debootstrap
.- Настройте все, что нужно для правильной работы дистрибутива в контейнере (если что-то нужно).
- Сделайте архив этой файловой системы контейнера, при желании сожмите его.
- Напишите новый
metadata.yaml
файл, основанный на описанном выше.- Создайте еще один архив, содержащий это
metadata.yaml
файл.Импортируйте эти два архива как образ LXD с помощью:
lxc image import <metadata tarball> <rootfs tarball> --alias some-name
Возможно, вам придется повторить это несколько раз, прежде чем все заработает, настраивая кое-что здесь и там, возможно, добавляя некоторые шаблоны и свойства.
Файл metadata.yaml
должен содержать как минимум две следующие пары ключ / значение (замените i686
с правильной архитектурой системы и 1458040200
с меткой времени в формате эпохи Unix (например, date +%s
):
architecture: "i686"
creation_date: 1458040200
Дополнительная информация о metadata.yaml
можно найти в упомянутой выше статье (раздел «Метаданные изображения»).