From b40bfa3193a9f9a00a381411224552f34225ca7e Mon Sep 17 00:00:00 2001 From: Dalton Hubble Date: Tue, 15 Mar 2016 18:22:23 -0700 Subject: [PATCH] contrib/dnsmasq: Bundle grub.efi in quay.io/coreos/dnsmasq * Bundle grub.efi in coreos/dnsmasq so Docker users can test GRUB netboot with UEFI clients --- Documentation/dev/grub.md | 10 +++++++++- contrib/dnsmasq/README.md | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Documentation/dev/grub.md b/Documentation/dev/grub.md index 0093db3a..50828ca2 100644 --- a/Documentation/dev/grub.md +++ b/Documentation/dev/grub.md @@ -33,5 +33,13 @@ Add a `grub.efi` to `tftpboot` before building the dnsmasq ACI. Build dnsmasq ACI with `acbuild` and run with rkt. - sudo rkt --insecure-options=image run dnsmasq.aci --net=metal0:IP=172.15.0.3 -- -d -q --dhcp-range=172.15.0.50,172.15.0.99 --enable-tftp --tftp-root=/var/lib/tftpboot --dhcp-match=set:efi-bc,option:client-arch,7 --dhcp-boot=tag:efi-bc,grub.efi --dhcp-userclass=set:grub,GRUB2 --dhcp-boot=tag:grub,"(http;bootcfg.foo:8080)/grub","172.15.0.2","" --log-queries --log-dhcp --address=/bootcfg.foo/172.15.0.2 --dhcp-userclass=set:ipxe,iPXE --dhcp-boot=tag:pxe,undionly.kpxe --dhcp-boot=tag:ipxe,http://bootcfg.foo:8080/boot.ipxe + sudo rkt --insecure-options=image run dnsmasq.aci --net=metal0:IP=172.15.0.3 -- -d -q --dhcp-range=172.15.0.50,172.15.0.99 --enable-tftp --tftp-root=/var/lib/tftpboot --dhcp-match=set:efi-bc,option:client-arch,7 --dhcp-boot=tag:efi-bc,grub.efi --dhcp-userclass=set:grub,GRUB2 --dhcp-boot=tag:grub,"(http;bootcfg.foo:8080)/grub","172.15.0.2" --log-queries --log-dhcp --dhcp-userclass=set:ipxe,iPXE --dhcp-boot=tag:pxe,undionly.kpxe --dhcp-boot=tag:ipxe,http://bootcfg.foo:8080/boot.ipxe --address=/bootcfg.foo/172.15.0.2 + +## Docker + +The coreos/dnsmasq Docker image bundles a `grub.efi`. + + sudo virt-install --name uefi-test --pxe --boot=uefi,network --disk pool=default,size=4 --network=bridge=docker0,model=e1000 --memory=1024 --vcpus=1 --os-type=linux --noautoconsole + + sudo docker run --rm --cap-add=NET_ADMIN quay.io/coreos/dnsmasq -d -q --dhcp-range=172.17.0.43,172.17.0.99 --enable-tftp --tftp-root=/var/lib/tftpboot --dhcp-match=set:efi-bc,option:client-arch,7 --dhcp-boot=tag:efi-bc,grub.efi --dhcp-userclass=set:grub,GRUB2 --dhcp-boot=tag:grub,"(http;bootcfg.foo:8080)/grub","172.17.0.2" --log-queries --log-dhcp --dhcp-option=3,172.17.0.1 --dhcp-userclass=set:ipxe,iPXE --dhcp-boot=tag:pxe,undionly.kpxe --dhcp-boot=tag:ipxe,http://bootcfg.foo:8080/boot.ipxe --address=/bootcfg.foo/172.17.0.2 diff --git a/contrib/dnsmasq/README.md b/contrib/dnsmasq/README.md index cbfdc288..7b8c6347 100644 --- a/contrib/dnsmasq/README.md +++ b/contrib/dnsmasq/README.md @@ -5,7 +5,7 @@ `dnsmasq` provides an App Container Image (ACI) or Docker image for running DHCP, proxy DHCP, DNS, and/or TFTP with [dnsmasq](http://www.thekelleys.org.uk/dnsmasq/doc.html) in a container/pod. Use it to test different network setups with clusters of network bootable machines. -The image bundles `undionly.kpxe` which chainloads PXE clients to iPXE. +The image bundles `undionly.kpxe` which chainloads PXE clients to iPXE and `grub.efi` (experimental) which chainloads UEFI architectures to GRUB2. ## Usage