pxelinux из существующей системы?

pxelinux из существующей системы?

Я настроил сервер pxe с tftp, он работает с использованием установщика Debian.

http://www.debian-administration.org/articles/478

Теперь мне не нужен установщик, а система, которая уже существует (на usb). Как мне загрузить этот образ USB и особенно создать загрузчик pxelinux.0 для него? На Debian я нахожу только образы установщиков.

Редактировать: Хорошо, у меня есть система, установленная на USB, и я хочу загрузить ее по сети с помощью PXE на нескольких клиентах. Я установил простой Debian с tftp-сервером и pxe-окружением согласно руководству по ссылке, предоставленной выше. Это работает для установщика, но я попытался использовать другое ядро, но затем он говорит, что файл не найден, потому что файл pxelinux.0 указывает на installer-kernel из дистрибутива Debian.

решение1

Необходимо понимать, что не каждый загрузочный/устанавливаемый с USB-накопителя образ Linux будет работать в среде PXE.

Образ, не поддерживающий PXE, обычно загружается и извлекает необходимые компоненты с загрузочного устройства (жесткого диска, USB и т. д.).

Образ, готовый к PXE, изначально будет загружаться из сети, а сценарий инициализации будет готов к монтированию системы NFS, HTTP, SMB и т. д., чтобы получить оттуда необходимые компоненты.

Установочные образы, отличные от pxe, не только не имеют сценария инициализации, готового для извлечения компонентов из сети, но и зачастую используют сборки ядер/busybox, которые даже не поддерживают сеть или не имеют модулей ядра для некоторых протоколов, облегчающих жизнь при установке PXE, таких как HTTP или SMB.

Помните, что TFTP используется только для нескольких начальных передач (pxelinux/vesamenu/kernel/initrd), большая часть установки будет передана позже по HTTP или с использованием монтирования общего ресурса NFS или SMB.

Затем, если вы хотите загрузить PXE установочный образ USB Linux, вам нужно проанализировать initrd дистрибутива и посмотреть, поддерживает ли включенный init-скрипт PXE, затем вам нужно посмотреть, включают ли ядро/busybox требуемые компоненты для сетевой загрузки. Это нетривиальная работа.

Если вы хотите загрузить образ, который «не является установкой», но представляет собой live-дистрибутив, вам необходимо добавить в скрипт инициализации код для сетевого монтирования файла squashfs.

Если вы хотите загрузить образ, который не является ни установочным, ни живым дистрибутивом, все становится еще сложнее.

Связанный контент