inital commit

This commit is contained in:
iRaven 2024-05-01 02:49:51 -05:00
commit c53f997c9c
3 changed files with 147 additions and 0 deletions

27
boot.ipxe Normal file
View File

@ -0,0 +1,27 @@
#!ipxe
# Technolog Deployment Services Boot Script Loader
echo Starting Technolog Deployment Services...
# Global variables used by all other iPXE scripts
chain --autofree boot.ipxe.cfg ||
# if hostname DHCP variable is set and script is present
isset ${hostname} && chain --replace --autofree ${http-path}hostname-${hostname}.ipxe ||
# if SMBIOS UUID variable is set and script is present
isset ${uuid} && chain --replace --autofree ${http-path}uuid-${uuid}.ipxe ||
# Boot <boot-url>/<http-path>/mac-010203040506.ipxe if script is present
chain --replace --autofree ${http-path}mac-${mac:hexraw}.ipxe ||
# Boot <boot-url>/<http-path>/pci-8086100e.ipxe if one type of
# PCI Intel adapter is present and script is present
chain --replace --autofree ${http-path}pci-${pci/${busloc}.0.2}${pci/${busloc}.2.2}.ipxe ||
# if one type of PCI Intel adapter is present and script is present
chain --replace --autofree ${http-path}chip-${chip}.ipxe ||
# Boot <boot-url>/menu.ipxe script if all other options have been exhausted
chain --replace --autofree ${http-path}menu.ipxe ||

23
boot.ipxe.cfg Normal file
View File

@ -0,0 +1,23 @@
#!ipxe
# Technolog Deployment Vars/Config
### Core Config ###
# Deployment Server IP (TFTP, HTTP must be run on here)
# set deploysvr x.x.x.x
set deploysvr 10.10.0.6
# TFTP Server Path
# This script will check if the PC is x64 or x86 and set path accordingly.
cpuid --ext 29 && set arch x64 || set arch x86
cpuid --ext 29 && set archl amd64 || set archl i386
set tftp-path tftp://${deploysvr}/Boot\${arch}
set tftp-path-efi tftp://${deploysvr}/Boot\${arch}uefi
# HTTP Server Path
set http-path http://${deploysvr}/
# Platform
# BIOS or UEFI, that is the question.
# This is stupid - "platform" exists. Using that.

97
menu.ipxe Normal file
View File

@ -0,0 +1,97 @@
#!ipxe
# Round up our variables and display on the screen from boot.ipxe.cfg
echo Manufacturer: ${manufacturer}
echo Platform: ${platform}
echo Deployment Server: ${deploysvr}
echo TFTP URL: ${tftp-path}
echo HTTP URL: ${http-path}
# console --picture http://${deploysvr}/background.bmp --bottom 90
:mainmenu
menu Technolog iPXE Menu
item --default exit Boot From Local Hard Disk/Continue BIOS Boot
item --gap Main Menu
item wds Windows Deployment Services
item wdsefi Windows Deployment Services EFI
item osmenu Operating Systems
item utilmenu System Tools and Utilities
# item kbe59 081722 Test [Default x64]
choose --default exit --timeout 600000 target && goto ${target}
:exit
exit
:shell
shell
:wds
if ${platform} = pcbios {
kernel ${tftp-path}\pxeboot.0
} elsif ${platform} = efi {
# kernel ${tftp-path-efi}\wdsmgfw.efi
chain --replace --autofree ${tftp-path}\wdsmgfw.efi
}
boot
:wdsefi
chain --replace --autofree ${tftp-path}\wdsmgfw.efi
boot
:osmenu
# Operating Systems Menu
menu Operating Systems Menu
item --gap Operating Systems Menu
item mainmenu <--- Back
item debinst12 Debian 12 Installer
item debinst11 Debian 11 Installer
item fedoralatest Fedora Installer Latest (39) 64-bit
item arch64 Arch Linux x64
# item deblive Debian Live System
choose --default debinst12 --timeout 600000 target && goto ${target}
:debinst12
kernel ${tftp-path}\debian\linux
initrd ${tftp-path}\debian\initrd.gz
boot
:debinst11
kernel ${tftp-path}\debian\11linux
initrd ${tftp-path}\debian\11initrd.gz
boot
:deblive
kernel ${tftp-path}\debian\live-vmlinuz
initrd ${tftp-path}\debian\live-initrd.img
boot
:fedoralatest
kernel ${tftp-path}\fedora\39vmlinuz initrd=39initrd.img inst.stage2=https://download.fedoraproject.org/pub/fedora/linux/releases/39/Server/x86_64/os/
initrd ${tftp-path}\fedora\39initrd.img
boot
:arch64
kernel ${tftp-path}\arch\x86_64\vmlinuz-linux archisobasedir=arch archiso_http_srv=${http-path}/isosrc/arch/ cms_verify=y
initrd ${tftp-path}\arch\intel-ucode.img
initrd ${tftp-path}\arch\amd-ucode.img
initrd ${tftp-path}\arch\x86_64\initramfs-linux.img
boot
### Utilities
:utilmenu
menu System Tools and Utilities
item --gap System Tools and Utilities
item mainmenu <--- Back
item gparted gParted Live Debian Image
choose --default gparted --timeout 600000 target && goto ${target}
:gparted
kernel ${tftp-path}\gparted\vmlinuz boot=live config components union=overlay username=technolog noswap noeject fetch=${http-path}/isosrc/gparted.squashfs
initrd ${tftp-path}\gparted\initrd.img
boot