Как я использую МААС для создания Изображения Debian?

Как я создаю изображение Debian в МААСЕ? Все, что я нашел, было некоторыми выпусками человечности и CentOS, есть ли какой-либо способ создать изображение debian? раз так, как я делаю это

0
задан 13 February 2017 в 06:32

3 ответа

Хорошо, таким образом, это - то, как Вы делаете это для всех те, кто застревает просто способ, которым я был.

wget http://cdimage.debian.org/cdimage/openstack/8.7.1-20170215/debian-8.7.1-20170215-openstack-amd64.raw

maas login your.user http://<maasserver>:5240/MAAS 'user:credentials'
maas your.user boot-resources create name=custom/debian title="debian-8.7.1" architecture=amd64/generic content@=debian-8.7.1-20170215-openstack-amd64.raw
0
ответ дан 6 November 2019 в 23:52

Больше полного ответа:

Загрузите debian облачное изображение в формате .raw.

Смонтируйте изображение

sudo mkdir /mnt/loop
sudo mount -o ro,loop,offset=1048576 <nameofdebianimage.raw> /mnt/loop

Преобразуйте в gzipped tarball

cd /mnt/loop
sudo tar czvf ~/debian.tgz .
sudo umount /mnt/loop

Загрузите это на Маас

cd ~
maas login your.user http://<maasserver>:5240/MAAS 'user:credentials'
maas your.user boot-resources create name=custom/debian title="debian" architecture=amd64/generic content@=debian.tgz

Отредактируйте/etc/maas/preseeds/curtin_userdata_custom и добавьте следующее наверху после строки комментария и прежде debconf_selections для переопределения ядра для установки:

kernel:
  fallback-package: linux-image-amd64
  package: linux-image-amd64
1
ответ дан 6 November 2019 в 23:52

На основе предыдущих ответов и на моем собственном исследовании я сделал краткий справочник, чтобы заставить Debian 9 работать на Маасе с UEFI SecureBoot. Существуют некоторые изменения, которые будут сделаны к исходному коду также, чтобы смочь завершить развертывание успешно. Я буду суммировать содержание в следующих строках.

Если Вы хотите загрузить использование UEFI и SecureBoot, основной шаг должен включать уничтожитель debian repos к изображению, таким образом, curtin сможет установить пакеты grub-efi-amd64-signed и подписанный контейнером (которые не присутствуют на фрагменте repos).

root@maas:~/custom-oses# mkdir /mnt/custom-os-loop
root@maas:~/custom-oses# mount -o rw,loop,offset=1048576,sync debian-9.7.0-openstack-amd64.raw /mnt/custom-os-loop
root@maas:~/custom-oses# chroot /mnt/custom-os-loop
root@maas:/# echo "deb http://ftp.debian.org/debian buster main contrib non-free" >> /etc/apt/sources.list
root@maas:/# apt update
root@maas:/# exit
root@maas:~/custom-oses# umount /mnt/custom-os-loop

Не волнуйтесь о повреждении системы, поскольку облако-init заменит sources.list файл на первой начальной загрузке.

Около этого для не переопределения источников, которые содержит изображение, должно быть изменено поведение Мааса. При осмотре кода, Вы будете видеть, что не возможно изменить значение облачной-init's директивы preserve_sources_list, это всегда будет Ложью. Решение состоит в том, чтобы изменить функцию get_archive_config в файле compose_preseed.py.

archives['apt']['preserve_sources_list'] = True if node.osystem == 'custom' else preserve_sources

В этой точке ОС Debian будет установлена успешно, но она не сможет загрузиться автоматически. Маас не поддерживает Debian, поэтому при обеспечении директив EFI для начальной загрузки существует что-то пропавшие без вести. Найдите файл config.local.amd64.template в соответствии с uefi каталогом и добавьте следующие строки под человечности.

debian/shimx64.efi \
debian/grubx64.efi \

И вот именно!

Помните, что при редактировании файлов Python, которые выполняются, необходимо удалить pycache и перезапустить сервисы прежде, чем видеть изменения

0
ответ дан 6 November 2019 в 23:52

Другие вопросы по тегам:

Похожие вопросы: