# /*MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM .[d]. # MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMh+MMMMMMMMMMMMMMhsMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMm/ oMMMMMMMMMMMMMMm +NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMy` yMMMMMMMMMMMMMMM- -mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMs+dMMMMMMMMMM+ sMMMMMMMMMMMMMMM- `dMMMMMMMMMMms/NMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMM+ .omMMMMMM: -MMMMMMMMMMMMMMo `yMMMMMMMy: `dMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMMM- /dMMM+ sMMMMMMMMMMMMh `hMMMNo` sMMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMMMd :dm `mMMMMMMMMMMN. .NNo` .MMMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMMMM: - :MMMMMMMMMMs :` sMMMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMMMMs ymNMMMMMNm. NMMMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMMMMy `-/-` .MMMMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMMMMo .NMMMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMNh+. :sdMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMhso+:. `-/+syMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMM- dMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMM` `.:+/. `/s+:. sMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMNo -oms. .//-` `:/:` `+md+` .hMMMMMMMMMMMMMMM # MMMMMMMMMMMMMNs` .odNdo. .ohmd+` :dMMMMMMMMMMMMM # MMMMMMMMMMMNo` .. .- :hMMMMMMMMMMM # MMMMMMMMMd+` -sNMMMMMMMM # MMMMMMNs- `.. `/-. `+dMMMMMM # MMMNy: ./sdNMMMh: `sNMMMNds/. .odMMM # MM+ :ymMMMMMMMMMMh. +NMMMMMMMMMMmo- /NM # MMMh: .sNMMMMMMMMMMMMMMN- `hMMMMMMMMMMMMMMMm+` :hMMM # MMMMMd:` ``-:+shmMMMMMMMMMMMMMMMMMMN. hMMMMMMMMMMMMMMMMMMMmhs+/-..``````./dMMMMM # MMMMMMMMMNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMo .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMy .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN. /MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN+` `+NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNs. -hMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM # MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMdyymMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM*/ #################### ## PRE-REQUISITES ## #################### > sudo apt install dnsmasq pxelinux syslinux-efi nginx #################### ## CREATING PATHS ## #################### > sudo mkdir -p /srv/tftp/{bios,efi64,pxelinux.cfg} > sudo mkdir -p /srv/tftp/linux/arch/garuda_wayfire > sudo mkdir -p /srv/tftp/linux/debian/{debian_v11,parrot_v4_home,kali_v2021} > sudo mkdir -p /var/www/html/linux/arch/garuda_wayfire/garuda/x86_64 > sudo mkdir -p /var/www/html/linux/debian/{debian_v11,parrot_v4_home,kali_v2021} ################################################################ ## COPYING BASE DATA FOR PXE BIOS BOOTING TO OUR HOSTING PATH ## ################################################################ > sudo cp \ /usr/lib/syslinux/modules/bios/{ldlinux,vesamenu,libcom32,libutil}.c32 \ /usr/lib/PXELINUX/pxelinux.0 \ /srv/tftp/bios ################################################################ ## COPYING BASE DATA FOR PXE UEFI BOOTING TO OUR HOSTING PATH ## ################################################################ > sudo cp \ /usr/lib/syslinux/modules/efi64/ldlinux.e64 \ /usr/lib/syslinux/modules/efi64/{vesamenu,libcom32,libutil}.c32 \ /usr/lib/SYSLINUX.EFI/efi64/syslinux.efi \ /srv/tftp/efi64 ############################### ## GET THE DEBIAN LIVE IMAGE ## ############################### > wget https://cdimage.debian.org/images/unofficial/non-free/images-including-firmware/11.1.0-live+nonfree/amd64/iso-hybrid/debian-live-11.1.0-amd64-gnome+nonfree.iso -O /tmp/debian.iso ############################################################### ## MOUNT THE DEBIAN LIVE IMAGE, WE ARE COPYING FILES FROM IT ## ############################################################### > sudo mount -o loop -t iso9660 /tmp/debian.iso /media ################################################### ## COPY THE FILES WE NEED FROM THE MOUNTED IMAGE ## ################################################### > sudo cp -rf /media/live/initrd.img-* /srv/tftp/linux/debian/debian_v11/initrd > sudo cp -rf /media/live/vmlinuz-* /srv/tftp/linux/debian/debian_v11/vmlinuz > sudo cp -rf /media/live/filesystem.squashfs /var/www/html/linux/debian/debian_v11 ############################ ## UNMOUNT THE LIVE IMAGE ## ############################ > sudo umount /media ######################################### ## REMOVE IMAGE, IT'S NO LONGER NEEDED ## ######################################### > rm /tmp/debian.iso ############################### ## GET THE PARROT LIVE IMAGE ## ############################### > wget https://download.parrot.sh/parrot/iso/4.11.3/Parrot-home-4.11.3_amd64.iso -O /tmp/parrot.iso ############################################################### ## MOUNT THE DEBIAN LIVE IMAGE, WE ARE COPYING FILES FROM IT ## ############################################################### > sudo mount -o loop -t iso9660 /tmp/parrot.iso /media ################################################### ## COPY THE FILES WE NEED FROM THE MOUNTED IMAGE ## ################################################### > sudo cp -rf /media/live/initrd.img-* /srv/tftp/linux/debian/parrot_v4_home/initrd > sudo cp -rf /media/live/vmlinuz-* /srv/tftp/linux/debian/parrot_v4_home/vmlinuz > sudo cp -rf /media/live/filesystem.squashfs /var/www/html/debian/parrot_v4_home ############################ ## UNMOUNT THE LIVE IMAGE ## ############################ > sudo umount /media ######################################### ## REMOVE IMAGE, IT'S NO LONGER NEEDED ## ######################################### > rm /tmp/parrot.iso ############################# ## GET THE KALI LIVE IMAGE ## ############################# > wget https://cdimage.kali.org/kali-2021.4/kali-linux-2021.4-live-amd64.iso -O /tmp/kali.iso ############################################################# ## MOUNT THE KALI LIVE IMAGE, WE ARE COPYING FILES FROM IT ## ############################################################# > sudo mount -o loop -t iso9660 /tmp/kali.iso /media ################################################### ## COPY THE FILES WE NEED FROM THE MOUNTED IMAGE ## ################################################### > sudo cp -rf /media/live/initrd.img-* /srv/tftp/linux/debian/kali_v2021/initrd > sudo cp -rf /media/live/vmlinuz-* /srv/tftp/linux/debian/kali_v2021/vmlinuz > sudo cp -rf /media/live/filesystem.squashfs /var/www/html/linux/debian/kali_v2021 ############################ ## UNMOUNT THE LIVE IMAGE ## ############################ > sudo umount /media ######################################### ## REMOVE IMAGE, IT'S NO LONGER NEEDED ## ######################################### > rm /tmp/kali.iso ################################ ## GET THE BASE ARCHLINUX ISO ## ################################ > wget https://arch.mirror.constant.com/iso/2021.12.01/archlinux-2021.12.01-x86_64.iso -O /tmp/arch.iso ############################################################# ## MOUNT THE ARCH LIVE IMAGE, WE ARE COPYING FILES FROM IT ## ############################################################# > sudo mount -o loop -t iso9660 /tmp/arch.iso /media ################################################### ## COPY THE FILES WE NEED FROM THE MOUNTED IMAGE ## ################################################### > sudo cp -rf /media/arch/x86_64/* /var/www/html/linux/arch/garuda_wayfire ############################ ## UNMOUNT THE LIVE IMAGE ## ############################ > sudo umount /media ######################################### ## REMOVE IMAGE, IT'S NO LONGER NEEDED ## ######################################### > rm /tmp/arch.iso ############################### ## GET THE LIVE GARUDA IMAGE ## ############################### > wget https://mirrors.fossho.st/garuda/iso/garuda/wayfire/211129/garuda-wayfire-linux-zen-211129.iso -O /tmp/garuda.iso ############################################################### ## MOUNT THE DEBIAN LIVE IMAGE, WE ARE COPYING FILES FROM IT ## ############################################################### > sudo mount -o loop -t iso9660 /tmp/garuda.iso /media ################################################### ## COPY THE FILES WE NEED FROM THE MOUNTED IMAGE ## ################################################### > sudo cp -rf /media/boot/amd_ucode.img /srv/tftp/linux/arch/garuda_wayfire/amd_ucode > sudo cp -rf /media/boot/intel_ucode.img /srv/tftp/linux/arch/garuda_wayfire/intel_ucode > sudo cp -rf /media/boot/initramfs-* /srv/tftp/linux/arch/garuda_wayfire/initramfs > sudo cp -rf /media/boot/vmlinuz-* /srv/tftp/linux/arch/garuda_wayfire/vmlinuz > sudo cp -rf /media/garuda/x86_64/* /var/www/html/linux/arch/garuda_wayfire/garuda/x86_64 ############################ ## UNMOUNT THE LIVE IMAGE ## ############################ > sudo umount /media ######################################### ## REMOVE IMAGE, IT'S NO LONGER NEEDED ## ######################################### > rm /tmp/garuda.iso ################################## ## USING OUR OWN DNSMASQ CONFIG ## ################################## > sudo cat << EOF > /etc/dnsmasq.d/pxe.conf port=0 interface=enp2s0 # <- HERE YOUR NETWORK INTERFACE dhcp-range=192.168.1.0,proxy # <- HERE YOUR LOCAL IP RANGE, MAYBE 192.168.0.0 enable-tftp tftp-root=/srv/tftp pxe-service=x86PC,"PXELINUX (BIOS)",bios/pxelinux pxe-service=x86-64_EFI,"PXELINUX (EFI)",efi64/syslinux.efi log-queries log-facility=/var/log/dnsmasq.log EOF ###################################### ## CREATE OUR LOCAL BOOTMENU CONFIG ## ###################################### # ? THE LAN IPS BELOW THAT READ '192.168.1.36' NEED TO BE CHANGED TO YOURS > cat << EOF > /tmp/config MENU TITLE PXE Boot Menu DEFAULT vesamenu.c32 MENU BEGIN Arch MENU TITLE Arch LABEL arch_live MENU LABEL ^Garuda - Wayfire KERNEL ::linux/arch/garuda_wayfire/vmlinuz INITRD ::linux/arch/garuda_wayfire/intel_ucode,::linux/arch/garuda_wayfire/amd_ucode,::linux/arch/garuda_wayfire/initramfs APPEND misobasedir=garuda ip=dhcp misolabel=GARUDA_WAYFIRE_HARPYEAGLE miso_http_srv=http://192.168.1.36/linux/arch/garuda_wayfire/ checksum docache ar_source=http://192.168.1.36/linux/arch/garuda_wayfire/ autoruns=no ar_nodel ar_wait SYSAPPEND 3 MENU END MENU BEGIN Debian MENU TITLE Debian LABEL debian_live MENU LABEL ^Debian v11 - Gnome KERNEL ::linux/debian/debian_v11/vmlinuz INITRD ::linux/debian/debian_v11/initrd APPEND dhcp components locales=en_US.UTF-8 boot=live fetch=http://192.168.1.36/linux/debian/debian_v11/filesystem.squashfs LABEL parrot_live MENU LABEL ^ParrotOS v4 - Mate KERNEL ::linux/debian/parrot_v4_home/vmlinuz INITRD ::linux/debian/parrot_v4_home/initrd APPEND dhcp components locales=en_US.UTF-8 boot=live fetch=http://192.168.1.36/linux/debian/parrot_v4_home/filesystem.squashfs LABEL kali_live MENU LABEL ^Kali v2021 - Kde KERNEL ::linux/debian/kali_v2021/vmlinuz INITRD ::linux/debian/kali_v2021/initrd APPEND dhcp components locales=en_US.UTF-8 boot=live fetch=http://192.168.1.36/linux/debian/kali_v2021/filesystem.squashfs MENU END LABEL local MENU LABEL Boot from local drive LOCALBOOT 0xffff EOF ############################# ## SET THE BOOTMENU CONFIG ## ############################# > sudo mv /tmp/config /srv/tftp/pxelinux.cfg/default ################################################## ## LINK ONE BOOTMENU FOR BOTH BIOS/UEFI NETBOOT ## ################################################## > cd /srv/tftp && sudo ln -rs pxelinux.cfg bios && sudo ln -rs pxelinux.cfg efi64 ########################### ## START/RESTART DNSMASQ ## ########################### sudo systemctl restart dnsmasq ######################################################################## ## HOST FILES VIA WEBSERVER ############################################ ######################################################################## sudo echo "ONLINE" > /var/www/html/index.html sudo rm index.nginx-debian.html sudo chown -Rf www-data:www-data /var/www/html ######################################################################## ## BOOT FROM NIC ####################################################### ######################################################################## # FROM THE MACHINE YOU WILL TFTP BOOT FROM, REBOOT IT AND ENTER THE COMPUTER'S # BIOS/UEFI. LOOK FOR THE PXE SETTING, AND BE SURE THAT ITS ENABLED AND THAT # YOUR BOOT PRIORITY FOR PXE BOOTING IS FIRST ON THE LIST. SAVE, EXIT, BOOT. ######################################################################### .[d].