Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

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

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

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

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