Как я создаю изображение Debian в МААСЕ? Все, что я нашел, было некоторыми выпусками человечности и CentOS, есть ли какой-либо способ создать изображение debian? раз так, как я делаю это
Хорошо, таким образом, это - то, как Вы делаете это для всех те, кто застревает просто способ, которым я был.
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
Больше полного ответа:
Загрузите 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
На основе предыдущих ответов и на моем собственном исследовании я сделал краткий справочник, чтобы заставить 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 и перезапустить сервисы прежде, чем видеть изменения