Установка 14.04 с ubuntu-14.04-desktop-amd64.iso с помощью PXE

Вопрос или проблема

Мы пытаемся выполнить автоматическую установку сети с помощью PXE.

Мы установили инструменты netboot (14.04 LTS) и извлекли содержимое ubuntu-14.04-desktop-amd64.iso на HTTP-сервер. Мы заметили, что нам нужно загрузить отсутствующий репозиторий main/debian-installer (примерно 50 МБ), который необходим для установки netboot, но он не включен в ISO-дистрибутив.

Процесс установки начался, но завершился неудачей на фазе “Загрузка компонентов установщика”, сообщив, что установщик не смог загрузить файл с зеркала. Вопрос: “Можно ли добавить репозиторий main/debian-installer в оригинальное содержимое ubuntu-14.04-desktop-amd64.iso и как это сделать?”. Мы хотим выполнить автоматическую установку без доступа в Интернет.

Считаю, что вам сначала следует создать индивидуальный live-dvd Ubuntu-14.04.

Процедура:

a- Скачайте официальный Desktop CD с http://releases.ubuntu.com/ (вы уже сделали это)

b- Переместите его в пустую директорию.

mkdir ~/livecdtmp
mv ubuntu-14.04-desktop-amd64.iso ~/livecdtmp
cd ~/livecdtmp 

c- Смонтируйте и извлеките файловую систему .iso, а затем извлеките файловую систему SquashFS

mkdir mnt
mkdir extract-cd
sudo su
mount -o loop ubuntu-10.04-desktop-amd64.iso mnt
rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
unsquashfs mnt/casper/filesystem.squashfs
mv squashfs-root edit
cp /etc/resolv.conf edit/etc/
cp /etc/hosts edit/etc/

d- Подготовьте и выполните chroot

sudo su
mount --bind /dev/ edit/dev
chroot edit
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devpts none /dev/pts
export HOME=/root
export LC_ALL=C
dbus-uuidgen > /var/lib/dbus/machine-id
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl

e- Настройте, удалите все временные файлы и очистите временные файлы, используя команды:

sudo su
apt-get install package
apt-get remove --purge package
apt-get clean
apt-get autoremove
rm /etc/hosts
rm /var/lib/dbus/machine-id
rm /sbin/initctl
dpkg-divert --rename --remove /sbin/initctl

f- Отмонтируйте специальные файловые системы и выйдите из chroot

sudo su
umount /proc || umount -lf /proc
umount /sys
umount /dev/pts
exit

g- Создайте образ CD

sudo su
chmod +w extract-cd/casper/filesystem.manifest
chroot edit dpkg-query -W --showformat="${Package} ${Version}\n" > extract-cd/casper/filesystem.manifest
cp extract-cd/casper/filesystem.manifest extract-cd/casper/filesystem.manifest-desktop
sed -i '/ubiquity/d' extract-cd/casper/filesystem.manifest-desktop
sed -i '/casper/d' extract-cd/casper/filesystem.manifest-desktop
umount edit/dev
rm extract-cd/casper/filesystem.squashfs
mksquashfs edit extract-cd/casper/filesystem.squashfs -comp xz -e edit/boot
printf $(sudo du -sx --block-size=1 edit | cut -f1) > extract-cd/casper/filesystem.size
nano extract-cd/README.diskdefines
cd extract-cd
rm md5sum.txt
find -type f -print0 | xargs -0 md5sum | grep -v isolinux/boot.cat | tee md5sum.txt
mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-14.04-desktop-amad64-custom.iso

Источник: https://help.ubuntu.com/community/LiveCDCustomization

Если вы хотите установить PXE, т.е.

ubuntu-14.04.1-server-amd64.iso
ubuntu-14.04.1-server-i386.iso

без поддержки Интернета, пожалуйста, прочитайте, как это делает Serva здесь (я связан с разработкой Serva):
http://vercot.com/~serva/an/NonWindowsPXE3.html

;-Serva v2.1 Файл информации об активе для не-Windows 
;-Загрузка/Установка:
;  Ubuntu LTS 14.04 Сервер / 12.04 Альтернативный
;-Тестировано на:
;  ubuntu-14.04.1-server-amd64.iso
;  ubuntu-14.04.1-server-i386.iso
;
;  ubuntu-12.04.4-alternate-amd64.iso
;  ubuntu-12.04.4-alternate-i386.iso
;-Требования:
;  \NWA_PXE\ предлагается как корень HTTP
;-Заметки:
; -
[PXESERVA_MENU_ENTRY]
asset    = Ubuntu LTS 14.04.1 Сервер
platform = amd64
kernel   = NWA_PXE/$HEAD_DIR$/install/netboot/ubuntu-installer/amd64/linux
;kernel   = NWA_PXE/$HEAD_DIR$/install/netboot/ubuntu-installer/i386/linux
append   = initrd=NWA_PXE/$HEAD_DIR$/install/netboot/ubuntu-installer/amd64/initrd.gz vga=788 mirror/country=manual mirror/http/hostname=$IP_BSRV$ mirror/http/directory=/$HEAD_DIR$ mirror/http/proxy="" live-installer/net-image=http://$IP_BSRV$/$HEAD_DIR$/install/filesystem.squashfs
;append   = initrd=NWA_PXE/$HEAD_DIR$/install/netboot/ubuntu-installer/i386/initrd.gz vga=788 mirror/country=manual mirror/http/hostname=$IP_BSRV$ mirror/http/directory=/$HEAD_DIR$ mirror/http/proxy="" live-installer/net-image=http://$IP_BSRV$/$HEAD_DIR$/install/filesystem.squashfs

Если вы хотите сделать это, используя какой-то другой PXE-сервер, отличный от Serva, возможно, вам потребуется изменить некоторые из вышеперечисленных параметров.

Ответ или решение

Для автоматизированной установки Ubuntu 14.04 через PXE-сервер без доступа к интернету потребуется произвести дополнительные шаги, чтобы включить пакеты main/debian-installer, которые отсутствуют в стандартном образе ubuntu-14.04-desktop-amd64.iso. Ниже представлен пошаговый процесс, который поможет вам успешно настроить установку.

Шаг 1: Подготовка

  1. Скачать ISO-образ:
    Убедитесь, что у вас есть ISO-образ Ubuntu 14.04. Вы можете скачать его с официального сайта Ubuntu.

  2. Установить необходимые инструменты:
    Убедитесь, что у вас установлены необходимые пакеты для работы с ISO, такие как genisoimage, squashfs-tools,pxelinux, и rsync.

Шаг 2: Распаковка ISO-образа

  1. Создайте временные директории:

    mkdir ~/livecdtmp
    mv ubuntu-14.04-desktop-amd64.iso ~/livecdtmp
    cd ~/livecdtmp 
    mkdir mnt
    mkdir extract-cd
  2. Смонтируйте образ и перенесите содержимое:

    sudo mount -o loop ubuntu-14.04-desktop-amd64.iso mnt
    rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
    unsquashfs mnt/casper/filesystem.squashfs
    mv squashfs-root edit
  3. Копирование конфигурационных файлов:

    cp /etc/resolv.conf edit/etc/
    cp /etc/hosts edit/etc/

Шаг 3: Настройка chroot

  1. Подготовьте среду chroot:
    sudo mount --bind /dev/ edit/dev
    sudo chroot edit
    mount -t proc none /proc
    mount -t sysfs none /sys
    mount -t devpts none /dev/pts
    export HOME=/root
    export LC_ALL=C
    dbus-uuidgen > /var/lib/dbus/machine-id
    dpkg-divert --local --rename --add /sbin/initctl
    ln -s /bin/true /sbin/initctl

Шаг 4: Установка недостающих компонентов

  1. Установите необходимые пакеты:
    Здесь вы можете установить недостающие зависимости или компоненты, связанные с установкой. Например:

    apt-get install package

    Убедитесь, что у вас есть доступ к локальным репозиториям или что все нужные пакеты включены в ваш ISO-образ.

Шаг 5: Создание нового ISO-образа

  1. После завершения настройки выйдите из chroot и удалите временные файловые системы:

    exit
    sudo umount /proc || sudo umount -lf /proc
    sudo umount /sys
    sudo umount /dev/pts
  2. Подготовка нового образа:

    sudo chmod +w extract-cd/casper/filesystem.manifest
    chroot edit dpkg-query -W --showformat="${Package} ${Version}\n" > extract-cd/casper/filesystem.manifest
    cp extract-cd/casper/filesystem.manifest extract-cd/casper/filesystem.manifest-desktop
    sed -i '/ubiquity/d' extract-cd/casper/filesystem.manifest-desktop
    sed -i '/casper/d' extract-cd/casper/filesystem.manifest-desktop
    sudo umount edit/dev
    rm extract-cd/casper/filesystem.squashfs
    mksquashfs edit extract-cd/casper/filesystem.squashfs -comp xz -e edit/boot
    printf $(sudo du -sx --block-size=1 edit | cut -f1) > extract-cd/casper/filesystem.size

Шаг 6: Создание CD-образа

  1. Создайте финальный образ:
    cd extract-cd
    rm md5sum.txt
    find -type f -print0 | xargs -0 md5sum | grep -v isolinux/boot.cat | tee md5sum.txt
    mkisofs -D -r -V "Custom Ubuntu 14.04" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-14.04-desktop-custom.iso .

Шаг 7: Настройка PXE-сервера

Теперь, когда у вас есть новый ISO-образ с необходимыми пакетами, настройте PXE-сервер в соответствии с документом, который вы предоставили. Убедитесь, что все пути к файлам корректны и соответствуют вашей структуре каталогов.

Заключение

Теперь вы сможете устанавливать Ubuntu 14.04 через PXE без необходимости доступа в интернет, используя свой собственный модифицированный образ. Убедитесь, что все необходимые зависимости и пакеты включены в образ для успешной установки.

Оцените материал
Добавить комментарий

Капча загружается...