grub does not fill in various variables pxe_default_* and net_default_*
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub2 (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
Booting grub over the network sets various variables (default server 172.18.1.1, gw 172.18.1.2):
pxe_default_server
net_default_ip
net_default_mac
net_default_server
After successfully booting grub over PXE (with grub upstream):
net_default_
net_default_
net_default_
net_default_
net_efinet1_
net_efinet1_
net_efinet1_
prefix=
pxe_default_
root=tftp,
After successfully booting grub over PXE (with an older grub):
net_default_
net_default_
net_default_
prefix=
pxe_default_
root=tftp,
But using grub provided by Ubuntu 14.04:
net_default_
net_default_mac=
net_default_server=
pxe_default_server=
prefix=
root=tftp,
In turn booting from nfs with grub script:
menuentry "Rescue 64-Bit" {
recordfail
set gfxpayload=
set root='(pxe)'
echo "loading kernel ..."
linux (pxe)/rcd/
echo "loading initrd ..."
initrd (pxe)/rcd/
}
Fails because the kernel tries to mount :/data/tftp/rcd
The same is for booting FreeBSD:
menuentry "FreeBSD 10 ..." {
echo "Loading kernel ..."
recordfail
set gfxpayload=
set root='(pxe)'
kfreebsd /freebsd/
#
echo "Loading device hints ..."
kfreebsd_
#
echo "Loading initrd ..."
kfreebsd_module /freebsd/
#
set kFreeBSD.
set kFreeBSD.
#
set kFreeBSD.
set kFreeBSD.
set kFreeBSD.
set kFreeBSD.
set kFreeBSD.
set kFreeBSD.
set kFreeBSD.
set kFreeBSD.
}
Because all those unset variables lead to unset kernel-Variables. In tune FreeBSD loads the kernel, but can't continue, because it doesn't find the system to load.
Grub shall set these variables accordingly to what dhcp provides.
This seems fixed in upstream grub from gnu.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: grub2 (not installed)
ProcVersionSign
Uname: Linux 3.13.0-17-generic x86_64
ApportVersion: 2.13.3-0ubuntu1
Architecture: amd64
Date: Thu Mar 13 10:56:30 2014
InstallationDate: Installed on 2014-01-31 (40 days ago)
InstallationMedia: Ubuntu-Server 13.10 "Saucy Salamander" - Release amd64 (20131016)
ProcEnviron:
TERM=xterm-
PATH=(custom, no user)
XDG_RUNTIME_
LANG=de_DE.UTF-8
SHELL=/bin/bash
SourcePackage: grub2
UpgradeStatus: Upgraded to trusty on 2014-01-31 (40 days ago)
Changed in grub2 (Ubuntu): | |
status: | New → Confirmed |
The latest version of grub2 in Trusty (2.02~beta2-7) now does. Looks
like all is as expected after installing to my netboot directory:
grub-mknetdir --net-directory =/data/ tftp
But an other error now: the directory isn't cleaned before it is
filled with stuff -- if you had an old grub version old files are
keppt. Maybe leading to crashes if you are loading modules not
available in the newer version, but in the older.