kern/129526: pxeboot fails to load kernel / modules

Hiroharu Tamaru tamaru at
Tue Dec 9 09:20:02 PST 2008

>Number:         129526
>Category:       kern
>Synopsis:       pxeboot fails to load kernel / modules
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Dec 09 17:20:01 UTC 2008
>Originator:     Hiroharu Tamaru
>Release:        7.1-RC1-i386
The University of Tokyo
Pentium 4 (pre EM64T), Supermicro M/B, Award BIOS, onborad em NIC
PXE booting the 7.1-RC1-i386 installer fails to boot the kernel.

The setup is 7.1-RC1-i386-disc1.iso extracted on an ftp server,
and boot/pxeboot included in this image served by a tftp server.
The DHCP server instructs the target machine to pick this pxeboot and
mount the ftp exported iso image as root.
With older releases like 6.x, breaking out into loader prompt at the
beastie menu, and typing: set vfs.root.mountfrom="ufs:/dev/md0c"
followed by 'boot' would start the kernel and invoke the installer.
However, with 7.1-RC, at the time the loader tries to load mfsroot, 
it fails and says that root filesystem is not found.
lsdev or ls at this point locks the system up.

It turns out that replacing the pxeboot binary served by tftp
to pxeboot in 6.4-RELEASE-i386-bootonly.iso allows the installer
to boot properly, but pxeboot from 7.0-RELEASE also fails.

It then turned out that by unzipping the /boot/mfsroot.gz image
on the ftp server allows the kernel to boot, for any of the pxeboot's
mentioned above.

Thus it seems likely that the unzipping routines in pxeboot,
or more precisely, the loader included in the pxeboot,
is corrupting some part of the device table or such.

This could be system BIOS / PXE BIOS dependent issue, but
I have not investigated any further at this moment.
Further details / tests / trials available on request.

Setup a PXE boot environment described as above,
and try to boot into the installer.

Workarounds are to gunzip the boot/mfsroot.gz file,
or to use pxeboot from 6.4-RELEASE.


More information about the freebsd-bugs mailing list