Развертывание Ubuntu 22.04 с PXEBoot с использованием Syslinux

У меня есть работающий сервер DHCP, ftp и tftp с каталогом tftpboot, в котором машины, настроенные в PXEboot, без проблем загружают syslinux из сети.

Я пытаюсь установить Ubuntu 22.04 в PXE через SYSLINUX.

Я следил за этим постом , чтобы добиться этого.

В этом посте говорится, что вам необходимо извлечь файлы ядра vmlinuz и initrd из ISO-образа установщика сервера Ubuntu 22.04 и поместить их в каталог tftpboot. Затем загрузите ISO из файла конфигурации по умолчанию, расположенного в каталоге pxelinux.cfg. Ниже приведено неполное схематическое представление каталога tftpboot, связанного с jammy (без учета остальных файлов, традиционно используемых syslinux).

      └── tftpboot    
    ├── pxelinux.0
    ├── jammy
    │   ├── initrd
    │   └── vmlinuz
    ├── pxelinux.cfg
    │   └── default
    └── syslinux (All the Syslinux boot files)
        └── bios
            ├── ldlinux.c32
            ├── libutil.c32
            └── menu.c32

Вот каталог FTP, который у меня есть

      └── ftp   
    └── Ubuntu-22.04
        ├── ubuntu-22.04.1-live-server-amd64.iso
        └── Kickstart
            ├── user-data
            └── meta-data

Вот файл пользовательских данных, который я взял, чтобы сначала попробовать минимальную установку. Метаданные могут быть пустыми:

      #cloud-config
autoinstall:
  identity:
    hostname: jammy-minimal
    password: $6$gnqbMUzHhQzpDEw.$.cCNVVDsDfj5Feebh.5O4VbOmib7tyjmeI2ZsFP7VK2kWwgJFbfjvXo3chpeAqCgXWVIW9oNQ/Ag85PR0IsKD/
    username: ubuntu
  version: 1

Вот файл конфигурации по умолчанию, который я установил.

      default menu.c32
menu title Ubuntu installer

LABEL ubuntu
    MENU LABEL Install Ubuntu Jammy Server
    MENU DEFAULT
    KERNEL jammy/vmlinuz
    IPAPPEND 1
    APPEND initrd=jammy/initrd ip=dhcp url=ftp://172.16.0.4/Ubuntu-22.04/ubuntu-22.04.1-live-server-amd64.iso autoinstall ds=nocloud-net;s=ftp://172.16.0.4/Ubuntu-22.04/Kickstart

Наконец, чтобы добавить файлы пользовательских данных (cloud-config) и метаданных на ftp, который файл по умолчанию сможет использовать для загрузки своей конфигурации и запуска автоматической установки, пользовательские данные содержат все шаги, которые мы раньше выбирали вручную, чтобы произвести установку без ручного вмешательства (язык, форматирование и т. д.)

Ядро и ISO загружаются правильно и запускают процесс установки вплоть до меню установки, но проблема возникает, когда необходимо загрузить файл облачной конфигурации (пользовательские данные) для запуска автоматической установки. Он не может его найти, хотя я указал его в файле по умолчанию. Вот что происходит на изображении ниже.

Загрузка ISO

Вечное ожидание Cloud-Init

Затем запустите меню в конечном итоге

По-видимому, файл пользовательских данных игнорируется, если я загружаю его из файла syslinux по умолчанию. Как это возможно? Нужно ли мне загружать его откуда-то кроме файла по умолчанию? Я уже думал попробовать загрузить его из модифицированного ISO. Будет ли это хорошей альтернативой? Спасибо

0 ответов

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