commit 5b80ab75d9a59b1af69846d902f8bc9e496a8cb3 Author: Bram Prieshof Date: Mon Jun 27 19:20:21 2022 +0200 Inital commit diff --git a/Depercated_Installer-Centos7.sh b/Depercated_Installer-Centos7.sh new file mode 100644 index 0000000..e3c2466 --- /dev/null +++ b/Depercated_Installer-Centos7.sh @@ -0,0 +1,14 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +TargetDir="$WWWStore/Installer/Centos/7" +[ -d "$TargetDir" ] || mkdir -p $TargetDir + +wget http://mirror.centos.org/centos/7/os/x86_64/images/pxeboot/initrd.img -O $TargetDir/initrd.img + +wget http://mirror.centos.org/centos/7/os/x86_64/images/pxeboot/vmlinuz -O $TargetDir/vmlinuz diff --git a/Depercated_Installer-Debian10.sh b/Depercated_Installer-Debian10.sh new file mode 100644 index 0000000..4fce107 --- /dev/null +++ b/Depercated_Installer-Debian10.sh @@ -0,0 +1,14 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +TargetDir="$WWWStore/Installer/Debian/10" +[ -d "$TargetDir" ] || mkdir -p $TargetDir + +wget http://ftp.nl.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux -O $TargetDir/linux + +wget http://ftp.nl.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz -O $TargetDir/initrd.gz diff --git a/Depercated_Installer-Ubuntu18.04.sh b/Depercated_Installer-Ubuntu18.04.sh new file mode 100644 index 0000000..e677bc3 --- /dev/null +++ b/Depercated_Installer-Ubuntu18.04.sh @@ -0,0 +1,14 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +TargetDir="$WWWStore/Installer/Ubuntu/18.04" +[ -d "$TargetDir" ] || mkdir -p $TargetDir + +wget http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux -O $TargetDir/linux + +wget http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz -O $TargetDir/initrd.gz diff --git a/Download-AllInstallers.sh b/Download-AllInstallers.sh new file mode 100644 index 0000000..d685909 --- /dev/null +++ b/Download-AllInstallers.sh @@ -0,0 +1,10 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +for filename in ./Installer-*; do + $SHELL $filename +done diff --git a/Download-AllTools.sh b/Download-AllTools.sh new file mode 100644 index 0000000..d53d6b2 --- /dev/null +++ b/Download-AllTools.sh @@ -0,0 +1,10 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +for filename in ./Tool-*; do + $SHELL $filename +done diff --git a/Installer-Alma8.sh b/Installer-Alma8.sh new file mode 100644 index 0000000..f78d8a6 --- /dev/null +++ b/Installer-Alma8.sh @@ -0,0 +1,14 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +TargetDir="$WWWStore/Installer/Alma/8" +[ -d "$TargetDir" ] || mkdir -p $TargetDir + +wget http://repo.almalinux.org/almalinux/8/BaseOS/x86_64/os/images/pxeboot/initrd.img -O $TargetDir/initrd.img + +wget http://repo.almalinux.org/almalinux/8/BaseOS/x86_64/os/images/pxeboot/vmlinuz -O $TargetDir/vmlinuz diff --git a/Installer-Alma9.sh b/Installer-Alma9.sh new file mode 100644 index 0000000..78749fe --- /dev/null +++ b/Installer-Alma9.sh @@ -0,0 +1,14 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +TargetDir="$WWWStore/Installer/Alma/9" +[ -d "$TargetDir" ] || mkdir -p $TargetDir + +wget http://repo.almalinux.org/almalinux/9/BaseOS/x86_64/os/images/pxeboot/initrd.img -O $TargetDir/initrd.img + +wget http://repo.almalinux.org/almalinux/9/BaseOS/x86_64/os/images/pxeboot/vmlinuz -O $TargetDir/vmlinuz diff --git a/Installer-AlpineStable.sh b/Installer-AlpineStable.sh new file mode 100644 index 0000000..971cce7 --- /dev/null +++ b/Installer-AlpineStable.sh @@ -0,0 +1,14 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +TargetDir="$WWWStore/Installer/Alpine/stable" +[ -d "$TargetDir" ] || mkdir -p $TargetDir + +wget http://dl-4.alpinelinux.org/alpine/latest-stable/releases/x86_64/netboot/vmlinuz-lts -O $TargetDir/vmlinuz-lts +wget http://dl-4.alpinelinux.org/alpine/latest-stable/releases/x86_64/netboot/modloop-lts -O $TargetDir/modloop-lts +wget http://dl-4.alpinelinux.org/alpine/latest-stable/releases/x86_64/netboot/initramfs-lts -O $TargetDir/initramfs-lts diff --git a/Installer-Centos8stream.sh b/Installer-Centos8stream.sh new file mode 100644 index 0000000..ac0f587 --- /dev/null +++ b/Installer-Centos8stream.sh @@ -0,0 +1,14 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +TargetDir="$WWWStore/Installer/Centos/8-stream" +[ -d "$TargetDir" ] || mkdir -p $TargetDir + +wget http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/images/pxeboot/initrd.img -O $TargetDir/initrd.img + +wget http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/images/pxeboot/vmlinuz -O $TargetDir/vmlinuz diff --git a/Installer-Centos9stream.sh b/Installer-Centos9stream.sh new file mode 100644 index 0000000..ff2f9b6 --- /dev/null +++ b/Installer-Centos9stream.sh @@ -0,0 +1,14 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +TargetDir="$WWWStore/Installer/Centos/9-stream" +[ -d "$TargetDir" ] || mkdir -p $TargetDir + +wget http://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/images/pxeboot/initrd.img -O $TargetDir/initrd.img + +wget http://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/images/pxeboot/vmlinuz -O $TargetDir/vmlinuz diff --git a/Installer-Debian11.sh b/Installer-Debian11.sh new file mode 100644 index 0000000..2bf55a3 --- /dev/null +++ b/Installer-Debian11.sh @@ -0,0 +1,14 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +TargetDir="$WWWStore/Installer/Debian/11" +[ -d "$TargetDir" ] || mkdir -p $TargetDir + +wget http://ftp.nl.debian.org/debian/dists/bullseye/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux -O $TargetDir/linux + +wget http://ftp.nl.debian.org/debian/dists/bullseye/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz -O $TargetDir/initrd.gz diff --git a/Installer-Fedora.sh b/Installer-Fedora.sh new file mode 100644 index 0000000..7cf81f0 --- /dev/null +++ b/Installer-Fedora.sh @@ -0,0 +1,14 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +TargetDir="$WWWStore/Installer/Fedora/36" +[ -d "$TargetDir" ] || mkdir -p $TargetDir + +wget http://mirror.nl.leaseweb.net/fedora/linux/releases/36/Everything/x86_64/os/images/pxeboot/initrd.img -O $TargetDir/initrd.img + +wget http://mirror.nl.leaseweb.net/fedora/linux/releases/36/Everything/x86_64/os/images/pxeboot/vmlinuz -O $TargetDir/vmlinuz diff --git a/Installer-OpenSuseLeap.sh b/Installer-OpenSuseLeap.sh new file mode 100644 index 0000000..a725ff3 --- /dev/null +++ b/Installer-OpenSuseLeap.sh @@ -0,0 +1,15 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +TargetDir="$WWWStore/Installer/OpenSuse/Leap" +[ -d "$TargetDir" ] || mkdir -p $TargetDir + +wget http://download.opensuse.org/distribution/openSUSE-stable/repo/oss/boot/x86_64/loader/initrd -O $TargetDir/initrd + +wget http://download.opensuse.org/distribution/openSUSE-stable/repo/oss/boot/x86_64/loader/linux -O $TargetDir/linux + diff --git a/Installer-ProxmoxVE.sh b/Installer-ProxmoxVE.sh new file mode 100644 index 0000000..249a402 --- /dev/null +++ b/Installer-ProxmoxVE.sh @@ -0,0 +1,89 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +#Check if runnning in bash, else restart script in bash +if [[ "$SHELL" != *"bash"* ]]; then + SHELL=/bin/bash + bash "$(basename $0)" + exit +fi + +source Locations.conf + +cat << EOF +######################################################################################################### +# Create PXE bootable Proxmox image including ISO # +# Make sure to install required packages: zstd genisoimage cpio # +# # +# Author: mrballcb @ Proxmox Forum (06-12-2012) # +# Thread: http://forum.proxmox.com/threads/8484-Proxmox-installation-via-PXE-solution?p=55985#post55985 # +# Modified: morph027 @ Proxmox Forum (23-02-2015) to work with 3.4 # +# Modified: brammp @ 24-06-2022 to download latest image for use with LDS # +######################################################################################################### +EOF + +#Set folder vars +WorkDir=/opt/TMPLDSIDWD +TargetDir="$WWWStore/Installer/Proxmox" +#Check if folder exists +[ -d "$TargetDir" ] || mkdir -p "$TargetDir" +[ -d "$WorkDir" ] || mkdir -p "$WorkDir" + +#Download latest version of Proxmox VE +wget -O "$WorkDir"/proxmox.iso $(wget -d -r -np -N -P "$WorkDir"/TmpDownload --spider -e robots=off http://download.proxmox.com/iso/ 2>&1 | grep " -> " | grep -Ev "\/\?C=" | sed "s/.* -> //" | grep "http[^\']*" | grep proxmox-ve | grep -v UTF-8 | tail -1) + +## +pushd "$WorkDir" >/dev/null || exit 1 + +[ -L "proxmox.iso" ] && rm proxmox.iso &>/dev/null + +for ISO in *.iso; do + if [ "$ISO" = "*.iso" ]; then continue; fi + if [ "$ISO" = "proxmox.iso" ]; then continue; fi + echo "Using ${ISO}..." + ln -s "$ISO" proxmox.iso +done + +if [ ! -f "proxmox.iso" ]; then + echo "Couldn't find a proxmox iso, aborting." + echo "Add /path/to/iso_dir to the commandline." + exit 2 +fi + +[ -d pxeboot ] || mkdir pxeboot + +pushd pxeboot >/dev/null || exit 1 +echo "extracting kernel..." +isoinfo -i ../proxmox.iso -R -x /boot/linux26 > linux26 || exit 3 +echo "extracting initrd..." +isoinfo -i ../proxmox.iso -R -x /boot/initrd.img > /tmp/initrd.img +mimetype="$(file --mime-type --brief /tmp/initrd.img)" +case "${mimetype##*/}" in + "zstd"|"x-zstd") + decompress="zstd -d /tmp/initrd.img -c" + ;; + "gzip"|"x-gzip") + decompress="gzip -S img -d /tmp/initrd.img -c" + ;; + *) + echo "unable to detect initrd compression method, exiting" + exit 1 + ;; +esac +$decompress > initrd || exit 4 +echo "adding iso file ..." +echo "../proxmox.iso" | cpio -L -H newc -o >> initrd || exit 5 +popd >/dev/null 2>&1 || exit 1 + +#echo "Finished! pxeboot files can be found in ${PWD}." +popd >/dev/null 2>&1 || true # don't care if these pops fail +popd >/dev/null 2>&1 || true +## + +echo "Finished! Proxmox pxeboot files are added to LDS." +mv "$WorkDir"/pxeboot/* "$TargetDir" +rm -rf "$WorkDir" diff --git a/Installer-Rocky8.sh b/Installer-Rocky8.sh new file mode 100644 index 0000000..0abfa9d --- /dev/null +++ b/Installer-Rocky8.sh @@ -0,0 +1,14 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +TargetDir="$WWWStore/Installer/Rocky/8" +[ -d "$TargetDir" ] || mkdir -p $TargetDir + +wget http://download.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os/images/pxeboot/initrd.img -O $TargetDir/initrd.img + +wget http://download.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os/images/pxeboot/vmlinuz -O $TargetDir/vmlinuz diff --git a/Installer-Ubuntu20.04.sh b/Installer-Ubuntu20.04.sh new file mode 100644 index 0000000..e702dc5 --- /dev/null +++ b/Installer-Ubuntu20.04.sh @@ -0,0 +1,14 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +TargetDir="$WWWStore/Installer/Ubuntu/20.04" +[ -d "$TargetDir" ] || mkdir -p $TargetDir + +wget http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/installer-amd64/current/legacy-images/netboot/ubuntu-installer/amd64/linux -O $TargetDir/linux + +wget http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/installer-amd64/current/legacy-images/netboot/ubuntu-installer/amd64/initrd.gz -O $TargetDir/initrd.gz diff --git a/Installer-Ubuntu22.04.sh b/Installer-Ubuntu22.04.sh new file mode 100644 index 0000000..82bb766 --- /dev/null +++ b/Installer-Ubuntu22.04.sh @@ -0,0 +1,15 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +TargetDir="$WWWStore/Installer/Ubuntu/22.04" +[ -d "$TargetDir" ] || mkdir -p $TargetDir + +wget https://releases.ubuntu.com/jammy/ubuntu-22.04-live-server-amd64.iso -O $TargetDir/Ubuntu22.04.iso +isoinfo -i $TargetDir/Ubuntu22.04.iso -R -x /casper/vmlinuz > $TargetDir/vmlinuz +isoinfo -i $TargetDir/Ubuntu22.04.iso -R -x /casper/initrd > $TargetDir/initrd + diff --git a/LinuxInstallers-LID.ipxe b/LinuxInstallers-LID.ipxe new file mode 100644 index 0000000..78899f5 --- /dev/null +++ b/LinuxInstallers-LID.ipxe @@ -0,0 +1,112 @@ +#!ipxe + +#LDS Linux install menu images downloaded/generated by LDS-UpdateBootImages +:start +menu Linux Depolyment server - Installers +item --gap -- ------------------------- Debian ------------------------------ +#item Debian10 Install Debian 10 x64 +item Debian11 Install Debian 11 x64 +item --gap -- ------------------------- Ubuntu ------------------------------ +#item Ubuntu1804 Install Ubuntu 18.04 x64 +item Ubuntu2004 Install Ubuntu 20.04 x64 +item Ubuntu2204 Install Ubuntu 22.04 x64 +item --gap -- ------------------------- Centos ------------------------------ +#item Centos7 Install CentOS 7 x64 +item Centos8Stream Install CentOS 8-Stream x64 +item Centos9Stream Install CentOS 9-Stream x64 +item --gap -- ------------------------- Alma Linux ------------------------------ +item AlmaLinux8 Install Alma Linux 8 x64 +item AlmaLinux9 Install Alma Linux 9 x64 +item --gap -- ------------------------- Rocky Linux ------------------------------ +item RockyLinux8 Install Rocky Linux 8 x64 +item --gap -- ------------------------- Others ------------------------------ +item OpenSuseLeap Install OpenSuse Leap x64 +item Fedora Install Fedora x64 +item AlpineStable Install Alpine Latest stable x64 +item ProxmoxVE Install Proxmox VE x64 + +item +item --key x LDSMain Back to the main menu <-- +choose --timeout ${menu-timeout} --default ${menu-default} selected || goto cancel +set menu-timeout 0 +goto ${selected} + +#Load LDS Main menu +:LDSMain +chain LDS.ipxe +boot + +:Debian10 + kernel http://${next-server}/Installer/Debian/10/linux initrd=initrd.gz + initrd http://${next-server}/Installer/Debian/10/initrd.gz + boot + +:Debian11 + kernel http://${next-server}/Installer/Debian/11/linux initrd=initrd.gz + initrd http://${next-server}/Installer/Debian/11/initrd.gz + boot + +:Ubuntu1804 + kernel http://${next-server}/Installer/Ubuntu/18.04/linux initrd=initrd.gz + initrd http://${next-server}/Installer/Ubuntu/18.04/initrd.gz + boot + +:Ubuntu2004 + kernel http://${next-server}/Installer/Ubuntu/20.04/linux initrd=initrd.gz + initrd http://${next-server}/Installer/Ubuntu/20.04/initrd.gz + boot + +:Ubuntu2204 + kernel http://${next-server}/Installer/Ubuntu/22.04/vmlinuz url=http://${next-server}/Installer/Ubuntu/22.04/Ubuntu22.04.iso only-ubiquity ip=dhcp + initrd http://${next-server}/Installer/Ubuntu/22.04/initrd + boot + +:Centos7 + kernel http://${next-server}/Installer/Centos/7/vmlinuz initrd=initrd.img method=http://mirror.centos.org/centos/7/os/x86_64/ devfs=nomount ip=dhcp + initrd http://${next-server}/Installer/Centos/7/initrd.img + boot + +:Centos8Stream + kernel http://${next-server}/Installer/Centos/8-stream/vmlinuz initrd=initrd.img inst.stage2=http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/ devfs=nomount ip=dhcp + initrd http://${next-server}/Installer/Centos/8-stream/initrd.img + boot + +:Centos9Stream + kernel http://${next-server}/Installer/Centos/9-stream/vmlinuz initrd=initrd.img inst.stage2=http://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/ devfs=nomount ip=dhcp + initrd http://${next-server}/Installer/Centos/9-stream/initrd.img + boot + +:AlmaLinux8 + kernel http://${next-server}/Installer/Alma/8/vmlinuz initrd=initrd.img inst.stage2=http://repo.almalinux.org/almalinux/8/BaseOS/x86_64/os/ devfs=nomount ip=dhcp + initrd http://${next-server}/Installer/Alma/8/initrd.img + boot + +:AlmaLinux9 + kernel http://${next-server}/Installer/Alma/9/vmlinuz initrd=initrd.img inst.stage2=http://repo.almalinux.org/almalinux/9/BaseOS/x86_64/os/ devfs=nomount ip=dhcp + initrd http://${next-server}/Installer/Alma/9/initrd.img + boot + +:RockyLinux8 + kernel http://${next-server}/Installer/Rocky/8/vmlinuz initrd=initrd.img inst.stage2=http://download.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os/ devfs=nomount ip=dhcp + initrd http://${next-server}/Installer/Rocky/8/initrd.img + boot + +:OpenSuseLeap + kernel http://${next-server}/Installer/OpenSuse/Leap/linux initrd=initrd showopts install=http://download.opensuse.org/distribution/openSUSE-stable/repo/oss/ + initrd http://${next-server}/Installer/OpenSuse/Leap/initrd + boot + +:Fedora + kernel http://${next-server}/Installer/Fedora/36/vmlinuz initrd=initrd.img inst.stage2=https://download.fedoraproject.org/pub/fedora/linux/releases/36/Everything/x86_64/os/ devfs=nomount ip=dhcp + initrd http://${next-server}/Installer/Fedora/36/initrd.img + boot + +:AlpineStable + kernel http://${next-server}/Installer/Alpine/stable/vmlinuz-lts modules=loop,squashfs quiet alpine_repo=http://dl-4.alpinelinux.org/alpine//latest-stable/main modloop=http://${next-server}/Installer/Alpine/stable/modloop-lts initrd=initramfs-lts + initrd http://${next-server}/Installer/Alpine/stable/initramfs-lts + boot + +:ProxmoxVE + kernel http://${next-server}/Installer/Proxmox/linux26 video=vesafb:ywrap,ntrr ramdisk_size=16777216 rw quiet spash=silent + initrd http://${next-server}/Installer/Proxmox/initrd + boot diff --git a/Locations.conf b/Locations.conf new file mode 100644 index 0000000..710ef6f --- /dev/null +++ b/Locations.conf @@ -0,0 +1 @@ +WWWStore=/opt/LDS/www diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..ed9de8f --- /dev/null +++ b/Readme.md @@ -0,0 +1,82 @@ +# LDS image update tool +## Available image types: +* Tools, used for diagnosing systems, etc (Must me manually enabled in ipxe file) +* Installers, for installing a disto +* Depercated_Installer, for installing a older distro (does not use `LinuxInstallers-ID.ipxe`) + +## Installation instructions +**Part of LDS-based separate installation is not advised** + +1. Install required packages (just for building and downloading images) + * All distros: `ca-certificates zstd cpio` + * Deb based: `genisoimage wget unzip` + * Alpine Linux: `bash cdrkit` +2. Clone this repo +3. Enter into the project folder +4. Update www location in `Locations.conf` to the webserver folder +5. Link the ipxe image list to LDS by running `ln -s /LinuxInstallers-ID.ipxe /iPXE` +6. Update the ipxe of the boot server to chain load LinuxInstallers-ID.ipxe for the installers you can also enable Gparted and/or the Clonezilla enrty +7. Follow the usage Instructions below + +## Usage instructions +**Make sure you are in the directory that contains the script** +* Run `bash Download-AllInstallers.sh` to download all (non deprecated) installers +* Run `bash Download-AllInstallers.sh` to download all tools +* Run `bash Installer-.sh` to download a specific version + + +## iPXE config examples (not needed for LDS) + +### Gparted +``` +kernel http://${next-server}/Tools/Gparted/vmlinuz initrd=initrd.img boot=live config components union=overlay username=user noswap noeject fetch=http://${next-server}/Tools/Gparted/filesystem.squashfs +initrd http://${next-server}/Tools/Gparted/initrd.img +boot +``` +### CloneZilla +``` +kernel http://${next-server}/Tools/CloneZilla/vmlinuz initrd=initrd.img 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=http://${next-server}/Tools/CloneZilla/filesystem.squashfs +initrd http://${next-server}/Tools/CloneZilla/initrd.img +boot +``` +### SystemRescueCD +``` +kernel http://${next-server}/Tools/SystemRescueCD/vmlinuz archisobasedir=Tools/SystemRescueCD ip=dhcp archiso_http_srv=http://${next-server}/ +initrd http://${next-server}/Tools/SystemRescueCD/intel_ucode.img +initrd http://${next-server}/Tools/SystemRescueCD/amd_ucode.img +initrd http://${next-server}/Tools/SystemRescueCD/sysresccd.img +boot +``` +### Debian +``` +kernel http://${next-server}/Installer/Debian/10/linux initrd=initrd.gz +initrd http://${next-server}/Installer/Debian/10/initrd.gz +boot +``` + +### Ubuntu (20.10 and older) +``` +kernel http://${next-server}/Installer/Ubuntu/20.04/linux initrd=initrd.gz +initrd http://${next-server}/Installer/Ubuntu/20.04/initrd.gz +boot +``` + +### Ubuntu (21.04 and newer) +``` +kernel http://${next-server}/Installer/Ubuntu/22.04/vmlinuz url=http://${next-server}/Installer/Ubuntu/22.04/Ubuntu22.04.iso only-ubiquity ip=dhcp +initrd http://${next-server}/Installer/Ubuntu/22.04/initrd +boot +``` + +### Fedora and (RedHat, Rocky, Alma and Oracle) Enterprise Linux version 8 and higher +``` +kernel http://${next-server}/Installer/Fedora/36/vmlinuz initrd=initrd.img inst.stage2=https://download.fedoraproject.org/pub/fedora/linux/releases/36/Everything/x86_64/os/ devfs=nomount ip=dhcp +initrd http://${next-server}/Installer/Fedora/36/initrd.img +boot +``` +### Proxmox +``` +kernel http://${next-server}/Installer/Proxmox/linux26 video=vesafb:ywrap,ntrr ramdisk_size=16777216 rw quiet spash=silent +initrd http://${next-server}/Installer/Proxmox/initrd +boot +``` \ No newline at end of file diff --git a/Tool-Clonezilla.sh b/Tool-Clonezilla.sh new file mode 100644 index 0000000..81398a5 --- /dev/null +++ b/Tool-Clonezilla.sh @@ -0,0 +1,21 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +WorkDir=/opt/TMPLDSIDWD +TargetDir="$WWWStore/Tools/CloneZilla" +[ -d "$WorkDir" ] || mkdir -p "$WorkDir" +mkdir -p $TargetDir +#Set architecture +CZArch=amd64 # can be amd64 i686-pae or i686 + +#Get clonezilla Version +CZVer=$(wget -q -O- https://clonezilla.org/downloads/download.php?branch=stable |grep "Clonezilla live version:" | sed -e 's/<[^>]*>//g' -e 's/Clonezilla live version: //g') +#Download amd64 version +wget -O "$WorkDir"/Clonezilla.zip https://sourceforge.net/projects/clonezilla/files/clonezilla_live_stable/$CZVer/clonezilla-live-$CZVer-$CZArch.zip/download +unzip -j "$WorkDir"/Clonezilla.zip live/vmlinuz live/initrd.img live/filesystem.squashfs live/Clonezilla-Live-Version -d $TargetDir +rm -rf "$WorkDir" diff --git a/Tool-Gparted.sh b/Tool-Gparted.sh new file mode 100644 index 0000000..1378831 --- /dev/null +++ b/Tool-Gparted.sh @@ -0,0 +1,21 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +WorkDir=/opt/TMPLDSIDWD +TargetDir="$WWWStore/Tools/Gparted" +[ -d "$WorkDir" ] || mkdir -p "$WorkDir" +mkdir -p $TargetDir +#Set architecture +GPArch=amd64 # can be amd64 i686-pae or i686 + +#Get gparted Version +GPVer=$(wget -q -O- https://gparted.org/download.php |grep "Download gparted-live-" | grep "amd64.iso" | sed -e 's/<[^>]*>//g' -e 's/Download gparted-live-//g' -e 's/-amd64.iso//g' -e 's/ //g') +#Download amd64 version +wget -O "$WorkDir"/Gparted.zip https://sourceforge.net/projects/gparted/files/gparted-live-stable/$GPVer/gparted-live-$GPVer-$GPArch.zip/download +unzip -j "$WorkDir"/Gparted.zip live/vmlinuz live/initrd.img live/filesystem.squashfs live/GParted-Live-Version -d $TargetDir +rm -rf "$WorkDir" diff --git a/Tool-SystemRescueCD.sh b/Tool-SystemRescueCD.sh new file mode 100644 index 0000000..3a83796 --- /dev/null +++ b/Tool-SystemRescueCD.sh @@ -0,0 +1,21 @@ +#!/bin/bash +#Check if config is in current directory +if [[ ! -f Locations.conf ]];then + echo "Location config not found, Please got to the Project directory" + exit 10 +fi + +source Locations.conf +WorkDir=/opt/TMPLDSIDWD +TargetDir="$WWWStore/Tools/SystemRescueCD" +[ -d "$WorkDir" ] || mkdir -p "$WorkDir" +mkdir -p $TargetDir/x86_64 + +wget -O "$WorkDir"/systemrescuecd.iso https://sourceforge.net/projects/systemrescuecd/files/latest/download +isoinfo -i "$WorkDir"/systemrescuecd.iso -R -x /sysresccd/boot/x86_64/vmlinuz > $TargetDir/vmlinuz +isoinfo -i "$WorkDir"/systemrescuecd.iso -R -x /sysresccd/boot/x86_64/sysresccd.img > $TargetDir/sysresccd.img +isoinfo -i "$WorkDir"/systemrescuecd.iso -R -x /sysresccd/boot/intel_ucode.img > $TargetDir/intel_ucode.img +isoinfo -i "$WorkDir"/systemrescuecd.iso -R -x /sysresccd/boot/amd_ucode.img > $TargetDir/amd_ucode.img +isoinfo -i "$WorkDir"/systemrescuecd.iso -R -x /sysresccd/x86_64/airootfs.sfs > $TargetDir/x86_64/airootfs.sfs +isoinfo -i "$WorkDir"/systemrescuecd.iso -R -x /sysresccd/x86_64/airootfs.sha512 > $TargetDir/x86_64/airootfs.sha512 +rm -rf "$WorkDir"