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

PXE-загрузка образов .IMG и .DD

Я прочитал много сообщений на форуме, но до сих пор не могу загружать файлы образа PXE.

usb-image.dd - это мой файл изображения. Вместо использования USB-накопителей я хотел бы загружать Linux в реальном времени с помощью PXE.

DEFAULT menu.c32
PROMPT 0
timeout 300

MENU TITLE PXE Menu

LABEL memtest86
 MENU LABEL Memtest86+ 5.01
 KERNEL /memtest/memtest86+-5.01

LABEL Live Linux
 MENU LABEL Live Linux test
 KERNEL memdisk
 APPEND initrd=/test/usb-image.dd

Меню PXE работает, и я могу загрузить Memtest86 +, но тест Live Linux не работает, и я не понимаю, почему. Меню перезагружается мгновенно.

Я использую Ubuntu 16.04 LTS.

Как мне продолжить?

Изменить 1: Информация о моем usb-image.dd.

user@PXE-server:/var/lib/tftpboot/test$ fdisk -l usb-image.dd
Disk usb-image.dd: 3 GiB, 3270508544 bytes, 6387712 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 597F78FB-1090-4C9B-A779-1DC99DDAC259

Laite           Start   Loppu Sektorit  Size Tyyppi
usb-image.dd1    2048  450559   448512  219M EFI System
usb-image.dd2  450560 6371327  5920768  2,8G Microsoft basic data
usb-image.dd3 6371328 6385663    14336    7M Linux filesystem

Изменить 2:

Я отключил меню и увидел сообщение об ошибке.

Loading /test/usb-image.dd...failed: Bad file number

Прежде всего, убедитесь, что memdisk действительно присутствует на вашем TFTP-сервере и может обслуживаться клиентами. Это не волшебный вызов, memdisk - это отдельный компонент syslinux.

Во-вторых, загрузка ISO таким способом обычно требует, чтобы вы передать больше параметров ядру memdisk, в частности, "iso", а часто и "сырые" параметры. Попробуйте следующее:

KERNEL memdisk
INITRD /test/usb-image.dd
APPEND iso raw

Если ваш образ представляет собой изогибридный образ (который, предположительно, предназначен для загрузки с USB-накопителя) и, следовательно, имеет MBR, вы, вероятно, можете относиться к нему как к жесткому диску, также:

KERNEL memdisk
INITRD /test/usb-image.dd
APPEND harddisk

В-третьих, учтите, что TFTP очень неэффективен и не обязательно поддерживает обслуживание больших файлов (что, безусловно, является вашим образом Linux LiveUSB). Если согласование размера блока не поддерживается вашим TFTP-сервером, он не может обслуживать ничего, превышающее 32 МБ - возможно, вы используете реализацию или старую версию реализации, которая не поддерживает это. Рассмотрите возможность замены pxelinux на lpxelinux вариант, который поддерживает загрузку дополнительных ресурсов через HTTP и обслуживает ваши файлы ядра / изображений с веб-сервера. Это будет значительно быстрее.

KERNEL http://webserver.mydomain/memdisk
INITRD http://webserver.mydomain/test/usb-image.dd
APPEND harddisk