help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can GRUB2 request netboot config based on client MAC or IP?


From: Andrew Davidoff
Subject: Re: Can GRUB2 request netboot config based on client MAC or IP?
Date: Sun, 23 Jun 2013 15:37:17 -0400

On Sun, Jun 23, 2013 at 1:39 AM, Andrey Borzenkov <address@hidden> wrote:
> I briefly tested it using QEMU and I cannot reproduce it. After
> "configfile /some/other/file" I still see the same variables, in
> particular net_default_ip and net_default_mac. So you need to show your
> configuration files.

The original configuration I was using is fairly simple, but for the
purposes of demonstrating the behavior I'm seeing, I have trimmed it
down even further.

To demonstrate, I have two files: grub.cfg and test.cfg.

test.cfg looks like this:

echo $net_default_mac
set

If I leave grub.cfg totally empty, so that my PXE client is dropped
immediately to the grub shell, `set` from the shell produces a list of
envvars including all the net_* vars:

(The REDACTED values are all okay)

?=0
color_highlight=black/white
color_normal=white/black
feature_200_final=y
feature_all_video_module=y
feature_chainloader_bpb=y
feature_default_font_path=y
feature_menuentry_id=y
feature_menuentry_options=y
feature_nativedisk_cmd=y
feature_ntldr=y
feature_platform_search_hint=y
grub_cpu=x86_64
grub_platform=efi
lang=
locale_dir=
net_default_interface=efinet4
net_default_ip=REDACTED
net_default_mac=REDACTED
net_default_server=REDACTED
net_efinet4_boot_file=pxe/bootx64.efi
net_efinet4_domain=REDACTED
net_efinet4_hostname=REDACTED
net_efinet4_ip=REDACTED
net_efinet4_mac=REDACTED
pager=
prefix=(tftp,REDACTED)/pxe
pxe_default_server=REDACTED
root=tftp,REDACTED
secondary_locale_dir=

If I run `configfile pxe/test.cfg` in the shell, it outputs a blank
line for the echo command, and the set command does not produce any of
the net_* vars:

?=0
color_highlight=black/white
color_normal=white/black
config_directory=pxe
config_file=pxe/test.cfg
feature_200_final=y
feature_all_video_module=y
feature_chainloader_bpb=y
feature_default_font_path=y
feature_menuentry_id=y
feature_menuentry_options=y
feature_nativedisk_cmd=y
feature_ntldr=y
feature_platform_search_hint=y
grub_cpu=x86_64
grub_platform=efi
lang=
locale_dir=
pager=
prefix=(tftp,REDACTED)/pxe
root=tftp,REDACTED
secondary_locale_dir=


If I then make grub.cfg only contain only the single line:

export net_default_mac

re-pxe to the grub shell, then run `configfile pxe/test.cfg` from the
shell, the echo command still produces a blank line, and the set
command produces the same output as with the empty grub.cfg, with the
addition of: net_default_mac=(null):

?=0
color_highlight=black/white
color_normal=white/black
config_directory=pxe
config_file=pxe/test.cfg
feature_200_final=y
feature_all_video_module=y
feature_chainloader_bpb=y
feature_default_font_path=y
feature_menuentry_id=y
feature_menuentry_options=y
feature_nativedisk_cmd=y
feature_ntldr=y
feature_platform_search_hint=y
grub_cpu=x86_64
grub_platform=efi
lang=
locale_dir=
net_default_mac=(null)
pager=
prefix=(tftp,REDACTED)/pxe
root=tftp,REDACTED
secondary_locale_dir=


I am using a build from bazaar checked out yesterday (2013-06-22),
configured as follows:

./configure --with-platform=efi --target=x86_64

The EFI image was built using the following grub-mkimage invocation
(maybe the issue is here?):

grub-mkimage -O x86_64-efi -d . -o grub2-x86_64.efi -p "/pxe" part_gpt
part_msdos ntfs ntfscomp hfsplus fat ext2 normal chain boot configfile
linux multiboot tftp reboot efi_gop efinet efi_uga net echo eval
regexp


Thanks.
Andy



reply via email to

[Prev in Thread] Current Thread [Next in Thread]