Add multi-boot PXE menu, Clonezilla backup management, and GE Aerospace branding
- iPXE boot menu with WinPE, Clonezilla, Blancco Drive Eraser, Memtest86+ - prepare-boot-tools.sh to download/extract boot tool binaries - Clonezilla backup management in webapp (upload, download, delete) - Clonezilla Samba share for network backup/restore - GE Aerospace logo and favicon in webapp - Updated playbook with boot tool directories and webapp env vars Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -32,12 +32,13 @@
|
||||
samba_share: "/srv/samba/winpeapps"
|
||||
usb_mount: "/mnt/usb/playbook" # where your USB is mounted
|
||||
image_types:
|
||||
- geastandardpbr
|
||||
- geaengineerpbr
|
||||
- geashopfloorpbr
|
||||
- gestandardlegacy
|
||||
- geengineerlegacy
|
||||
- geshopfloorlegacy
|
||||
- gea-standard
|
||||
- gea-engineer
|
||||
- gea-shopfloor
|
||||
- ge-standard
|
||||
- ge-engineer
|
||||
- ge-shopfloor-lockdown
|
||||
- ge-shopfloor-mce
|
||||
deploy_subdirs:
|
||||
- Applications
|
||||
- Control
|
||||
@@ -114,7 +115,17 @@
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: "Create GetPxeScript.aspx"
|
||||
- name: "Create boot tool directories"
|
||||
file:
|
||||
path: "{{ web_root }}/{{ item }}"
|
||||
state: directory
|
||||
mode: '0755'
|
||||
loop:
|
||||
- clonezilla
|
||||
- blancco
|
||||
- memtest
|
||||
|
||||
- name: "Create GetPxeScript.aspx (iPXE boot menu)"
|
||||
copy:
|
||||
dest: "{{ web_root }}/Altiris/iPXE/GetPxeScript.aspx"
|
||||
backup: yes
|
||||
@@ -123,16 +134,50 @@
|
||||
|
||||
set server 10.9.100.1
|
||||
|
||||
kernel http://${server}/win11/wimboot gui
|
||||
:menu
|
||||
menu GE Aerospace PXE Boot Menu
|
||||
item --gap -- ---- Windows Deployment ----
|
||||
item winpe Windows PE (Image Deployment)
|
||||
item --gap -- ---- Utilities ----
|
||||
item clonezilla Clonezilla Live (Disk Imaging)
|
||||
item blancco Blancco Drive Eraser
|
||||
item memtest Memtest86+ (Memory Diagnostics)
|
||||
item --gap -- ----
|
||||
item reboot Reboot
|
||||
item exit Exit to BIOS
|
||||
choose --default winpe --timeout 30000 target && goto ${target}
|
||||
|
||||
:winpe
|
||||
kernel http://${server}/win11/wimboot gui
|
||||
initrd http://${server}/win11/EFI/Microsoft/Boot/boot.stl EFI/Microsoft/Boot/Boot.stl
|
||||
initrd http://${server}/win11/EFI/Microsoft/Boot/BCD EFI/Microsoft/Boot/BCD
|
||||
initrd http://${server}/win11/EFI/Boot/bootx64.efi EFI/Boot/bootx64.efi
|
||||
initrd http://${server}/win11/Boot/boot.sdi Boot/boot.sdi
|
||||
initrd http://${server}/win11/sources/boot.wim sources/boot.wim
|
||||
|
||||
boot
|
||||
|
||||
:clonezilla
|
||||
set base http://${server}/clonezilla
|
||||
kernel ${base}/vmlinuz boot=live username=user union=overlay config components noswap edd=on nomodeset nodmraid locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no net.ifnames=0 nosplash noprompt fetch=${base}/filesystem.squashfs
|
||||
initrd ${base}/initrd.img
|
||||
boot
|
||||
|
||||
:blancco
|
||||
set bbase http://${server}/blancco
|
||||
kernel ${bbase}/vmlinuz-bde-linux archisobasedir=arch archiso_http_srv=http://${server}/blancco/ copytoram=y cow_spacesize=50% memtest=00 vmalloc=400M ip=dhcp quiet nomodeset libata.allow_tpm=1
|
||||
initrd ${bbase}/intel-ucode.img ${bbase}/amd-ucode.img ${bbase}/config.img ${bbase}/initramfs-bde-linux.img
|
||||
boot
|
||||
|
||||
:memtest
|
||||
kernel http://${server}/memtest/memtest.efi
|
||||
boot
|
||||
|
||||
:reboot
|
||||
reboot
|
||||
|
||||
:exit
|
||||
exit
|
||||
|
||||
- name: "Ensure Apache listens on port 4433"
|
||||
lineinfile:
|
||||
path: /etc/apache2/ports.conf
|
||||
@@ -171,7 +216,13 @@
|
||||
state: directory
|
||||
mode: '0777'
|
||||
|
||||
- name: "Configure Samba share"
|
||||
- name: "Create Clonezilla backup share directory"
|
||||
file:
|
||||
path: /srv/samba/clonezilla
|
||||
state: directory
|
||||
mode: '0777'
|
||||
|
||||
- name: "Configure Samba shares"
|
||||
blockinfile:
|
||||
path: /etc/samba/smb.conf
|
||||
backup: yes
|
||||
@@ -182,6 +233,13 @@
|
||||
read only = no
|
||||
guest ok = yes
|
||||
|
||||
[clonezilla]
|
||||
path = /srv/samba/clonezilla
|
||||
browseable = yes
|
||||
read only = no
|
||||
guest ok = yes
|
||||
comment = Clonezilla backup images
|
||||
|
||||
- name: "Create image-type top-level directories"
|
||||
file:
|
||||
path: "{{ samba_share }}/{{ item }}"
|
||||
@@ -219,6 +277,15 @@
|
||||
loop:
|
||||
- ipxe.efi
|
||||
|
||||
- name: "Copy boot tool files from USB (Clonezilla, Blancco, Memtest)"
|
||||
shell: >
|
||||
cp -r "{{ usb_mount }}/../boot-tools/{{ item }}/"* "{{ web_root }}/{{ item }}/" 2>/dev/null ||
|
||||
cp -r "{{ usb_mount }}/boot-tools/{{ item }}/"* "{{ web_root }}/{{ item }}/" 2>/dev/null || true
|
||||
loop:
|
||||
- clonezilla
|
||||
- blancco
|
||||
- memtest
|
||||
|
||||
- name: "Check for WinPE deployment content on USB"
|
||||
stat:
|
||||
path: "{{ usb_mount }}/images"
|
||||
@@ -306,6 +373,7 @@
|
||||
User=root
|
||||
WorkingDirectory=/opt/pxe-webapp
|
||||
Environment=SAMBA_SHARE={{ samba_share }}
|
||||
Environment=CLONEZILLA_SHARE=/srv/samba/clonezilla
|
||||
ExecStart=/opt/pxe-webapp/venv/bin/python app.py
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
Reference in New Issue
Block a user