PXE boot failure: ldlinux.c32

Discussions related to using VirtualBox on Linux hosts.
Post Reply
skramm
Posts: 1
Joined: 2. May 2022, 15:11

PXE boot failure: ldlinux.c32

Post by skramm »

I am trying to demonstrate VirtualBox PXE boot feature, so that it automatically starts a Debian, on a Ubuntu 20.04 host.

VirtualBox (6.1) provides both the DHCP and TFTP server, so things are supposed to be easy.
But I can't make it work. Here are my steps. Please feel free to correct me if I misunderstood some step (or forgot something?), this is what I got up to now.

First, I created a new VM in VirtualBox, named text_pxe_1. Leave the network on "NAT", and select "Network" boot only.

On Linux, the VirtualBox TFTP server folder is located in the VirtualBox "config" folder: /home/$USER/.config/VirtualBox where you need to create a TFTP folder.

I fetched the Debian netboot archive from here:
deb[DOT]debian[DOT]org/debian/dists/bullseye/main/installer-amd64/current/images/netboot[DOT]tar[DOT]gz
and extracted its content into /home/$USER/.config/VirtualBox/TFTP

Next, added a symlink, because VirtualBox requires that the boot file be named <vmname>.pxe:

Code: Select all

$ ln -s pxelinux.0 test_pxe_1.pxe
So I have a TFTP folder with all the required files:

Code: Select all

$ ls -l
total 8
drwxr-xr-x 3 sk sk 4096 mars  22 18:37 debian-installer
lrwxrwxrwx 1 sk sk   47 avril 29 10:52 ldlinux[DOT]c32 -> debian-installer/amd64/boot-screens/ldlinux[DOT]c32
lrwxrwxrwx 1 sk sk   33 avril 29 10:52 pxelinux[DOT]0 -> debian-installer/amd64/pxelinux[DOT]0
lrwxrwxrwx 1 sk sk   35 avril 29 10:52 pxelinux[DOT]cfg -> debian-installer/amd64/pxelinux[DOT]cfg
lrwxrwxrwx 1 sk sk   10 avril 29 10:53 test_pxe_1[DOT]pxe -> pxelinux.0
-rw-r--r-- 1 sk sk   65 mars  22 18:37 version[DOT]info
(sorry, had to replace dots, else, are considered as links and not allowed, as this is my first post)

But when booting, iPXE now finds the .pxe file, but claims it can't find ldlinux.c32 (that is obviously there !)

What steps can I take to go further? I have 0 experience on PXE issues, I don't know what to do next.

What is strange is that I tried this on a Windows host: decompressing the Debian archive failed to create the symlinks
(as AFAIK there is no such thing on MSW), and I had empty files instead.
But I copied the file ldlinux.c32 from debian-installer/amd64/boot-screens into root TFTP folder (along with de configuration file) and I was able to have the PXE boot and start installing the OS.

FWIW, this is a follow up on this SuperUser question, that hasn't got much attention yet :(
superuser[DOT]com/questions/1718112
(9 views in 5 days... |-( )
Post Reply