#!/bin/bash
# iPXE build depends
apt-get install -y liblzma-dev git build-essential

# clone iPXE
[ ! -d ./ipxe ] && git clone http://git.ipxe.org/ipxe.git
cd ipxe/src
make clean

sed -i  's/#undef\tDOWNLOAD_PROTO_HTTPS/#define\tDOWNLOAD_PROTO_HTTPS/' config/general.h

for m in 10ec8139 8086100e virtio-net; do
  make -j bin/${m}.rom
  make -j bin-x86_64-efi/${m}.efirom
done

# Backup old roms first
[ -f /usr/share/kvm/pxe-e1000.rom.bak ] || cp -v /usr/share/kvm/pxe-e1000.rom /usr/share/kvm/pxe-e1000.rom.bak
[ -f /usr/share/kvm/pxe-virtio.rom.bak ] || cp -v /usr/share/kvm/pxe-virtio.rom /usr/share/kvm/pxe-virtio.rom.bak
[ -f /usr/share/kvm/pxe-rtl8139.rom.bak ] || cp -v /usr/share/kvm/pxe-rtl8139.rom /usr/share/kvm/pxe-rtl8139.rom.bak
[ -f /usr/share/kvm/efi-e1000e.rom.bak ] || cp -v /usr/share/kvm/efi-e1000e.rom /usr/share/kvm/efi-e1000e.rom.bak
[ -f /usr/share/kvm/efi-virtio.rom.bak ] || cp -v /usr/share/kvm/efi-virtio.rom /usr/share/kvm/efi-virtio.rom.bak
[ -f  /usr/share/kvm/efi-10ec8139.rom ] || cp -v  /usr/share/kvm/efi-10ec8139.rom  /usr/share/kvm/efi-10ec8139.rom.bak


# e1000e
cp -v bin/8086100e.rom /usr/share/kvm/pxe-e1000.rom
cp -v bin-x86_64-efi/8086100e.efirom /usr/share/kvm/efi-e1000e.rom

# virtio
cp -v bin/virtio-net.rom /usr/share/kvm/pxe-virtio.rom
cp -v bin-x86_64-efi/virtio-net.efirom /usr/share/kvm/efi-virtio.rom

# rtl8139
cp -v bin/10ec8139.rom /usr/share/kvm/pxe-rtl8139.rom
cp -v bin-x86_64-efi/10ec8139.efirom /usr/share/kvm/efi-10ec8139.rom