inital commit
This commit is contained in:
commit
c53f997c9c
27
boot.ipxe
Normal file
27
boot.ipxe
Normal 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
23
boot.ipxe.cfg
Normal 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
97
menu.ipxe
Normal 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
|
Loading…
x
Reference in New Issue
Block a user