28.04.2017 08:57, Carl Karsten пишет:
> I am using dnsmasq, but I can bring up isc dhcp too.  I need help with both
> sides, but on the grub list I won't be too picky about what dhcp server is
> used.
> 
> I am looking for the syntax of dhcp vendor options, and then how to access
> them in grub-net.  I think.  maybe there is a better way.
> 
> I pxe boot grub, which boots di (Debian Installer) and pass a preseed file.
> 
> I am trying to work out a nice way to pass host specific info to di
> example, most use:
> partman-auto/disk="/dev/sda"
> but one machine has an onboard ssd nvme which needs /dev/nvme0n1
> 
> di will read values appended to the kernel boot line, so I can hard code it
> like this:
> 
> menuentry "Install Ubuntu preseed" {
> set gfxpayload=keep
> linux /ubuntu-installer/amd64/linux gfxpayload=800x600x16,800x600 ---
> auto=true url=dc10b hostname= partman-auto/disk="/dev/nvme0n1"
> interface=${net_default_mac}
> initrd /ubuntu-installer/amd64/initrd.gz
> }
> 
> interface=${net_default_mac} - use the nic that pxe booted.
> 
> Now I get lost in conf options and syntax.  forgive me for making stuff up
> here, if it worked I wouldn't be asking for help.
> 
> I am hoping for something like
> partman-auto/disk=$(net_pxe_extensionspath/disk}
> 
> in dnsmasq conf:
> dhcp-host=40:8d:5c:7f:bb:90,,gator
> 
> dhcp-option-force=host:gator,209,"disk=/dev/nvme0n1"
> 
> So yeah, how do I send random strings based on mac/hostname
> and how do I read what was sent in grub?
> 

You can use net_get_dhcp_option to extract from DHCP ACK packet. In this
case it would be something like

net_get_dhcp_option disk ${net_default_interface} 209 string

Unless you intend to set multiple values in single option, setting its
value to just "/dev/nvme0n1" simplifies further parsing.

_______________________________________________
Help-grub mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-grub

Reply via email to