# Network booting https://documentation.ubuntu.com/server/how-to/installation/how-to-netboot-the-server-installer-on-amd64/ https://chatgpt.com/c/6765b743-ca68-800c-9a63-dd5768d20b4c TODO: create squashfs image from live system `apt install dnsmasq` `mkdir -p /srv/tftp` `vim /etc/dnsmasq.conf` ``` interface=,lo bind-interfaces dhcp-range=,192.168.0.100,192.168.0.200 dhcp-boot=pxelinux.0 dhcp-match=set:efi-x86_64,option:client-arch,7 dhcp-boot=tag:efi-x86_64,grubx64.efi enable-tftp tftp-root=/srv/tftp ``` ~~`apt install debootstrap chroot squashfs-tools`~~ `cp /boot/vmlinuz /srv/tftp/vmlinuz` `cp /boot/initrd.img /srv/tftp/initrd.img` `apt download grub-efi-amd64-signed` `dpkg-deb --fsys-tarfile grub-efi*deb | tar x ./usr/lib/grub/x86_64-efi-signed/grubnetx64.efi.signed -O > /srv/tftp/grubx64.efi` `apt download grub-common` `dpkg-deb --fsys-tarfile grub-common*deb | tar x ./usr/share/grub/unicode.pf2 -O > /srv/tftp/unicode.pf2` `mkdir -p /srv/tftp/grub` `vim /srv/tftp/grub/grub.cfg` ```grub set default=0 set timeout=5 menuentry "Boot Diskless Client" { #linux /vmlinuz boot=live components netboot=nfs nfsroot=192.168.1.2:/opt/clients/live/ root=/dev/nfs rw ip=dhcp linux /vmlinuz boot=live components ip=dhcp initrd /initrd.img } ``` `vim /etc/netplan/10-static.yaml` ```yaml network: version: 2 ethernets: enp0s8: dhcp4: false dhcp6: false addresses: - 192.168.11.1/24 ``` `systemctl edit dnsmasq.service` ``` [Unit] After=network-online.target Wants=network-online.target ``` `grub-mkimage -p /grub -o /srv/tftp/grubx64_custom.efi -O x86_64-efi part_gpt part_msdos fat ext2 ntfs iso9660 loopback linux multiboot efi_gop efi_uga usb usb_keyboard uhci ohci ehci xfs configfile normal net tftp` Working shell, but "no network card found"