Compare commits
33 Commits
197f97e2f6
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
df690d47cf | ||
|
582077c7ec | ||
|
a4b09dc07c | ||
|
ce4f185331 | ||
|
7fd9ca7edd | ||
|
002116e26a | ||
|
624b78cc2b | ||
77600d99e0 | |||
3b9a9d5699 | |||
|
0246c43200 | ||
|
052c402829 | ||
ce15b23cbd | |||
|
7f7d4d818a | ||
|
5e1b7a40b4 | ||
|
db9d8d5522 | ||
|
ca1b340fd7 | ||
|
70d3fc5421 | ||
|
26311dec4e | ||
ccb06c3051 | |||
9ba6cfb96b | |||
26a5d2355d | |||
|
ab99f46cfb | ||
|
a5e1720463 | ||
|
454bce2beb | ||
|
2a1e6ec4f4 | ||
|
5f06210f58 | ||
|
94dc9a91c9 | ||
960e8af0b6 | |||
|
0530ba1edf | ||
|
a3f0309eab | ||
|
bfefe2ef37 | ||
|
c99701759d | ||
|
5fee6ec7b0 |
34
README.md
Normal file → Executable file
34
README.md
Normal file → Executable file
@@ -1,33 +1,3 @@
|
|||||||
# PXE Boot-Server How To
|
# PXE Boot-Server
|
||||||
|
|
||||||
How to build a PXE Server as a helpful Tool
|
This Project aims to provide a set of scripts to build a modular PXE TFTP Server and is under heavy construction.
|
||||||
|
|
||||||
Debian 11 Server with:
|
|
||||||
* TFTP Server
|
|
||||||
* NFS Server
|
|
||||||
* a ready to use Bootmenue
|
|
||||||
* some free Tools (Bootmanagers, Debian Installer, Knoppix, ...)
|
|
||||||
* how to's for non free Tools (Acronis true Image)
|
|
||||||
|
|
||||||
1. Install a minimal Debian System and login as root
|
|
||||||
2. install git:
|
|
||||||
```
|
|
||||||
apt install -y git
|
|
||||||
```
|
|
||||||
3. clone this Repository:
|
|
||||||
```
|
|
||||||
cd ~
|
|
||||||
git clone https://support.ostrachhelp.de/p_reichart/pxe-bootserver
|
|
||||||
cd pxe-bootserver
|
|
||||||
```
|
|
||||||
4. Install needed Packages:
|
|
||||||
```
|
|
||||||
./install-debian-Packages.sh
|
|
||||||
```
|
|
||||||
5. Setup a minimal Confiration:
|
|
||||||
```
|
|
||||||
./configure-debian-system.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
Now you should have a Server with NFS, TFTP and HTTP Support and a minimal Configuration
|
|
||||||
with PXELINUX and some Demo entries with iPXE
|
|
220
conf.d/menues_10_default.conf.sh
Normal file
220
conf.d/menues_10_default.conf.sh
Normal file
@@ -0,0 +1,220 @@
|
|||||||
|
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./settings.sh
|
||||||
|
|
||||||
|
#
|
||||||
|
# Menue configuration
|
||||||
|
#
|
||||||
|
|
||||||
|
M_ENABLED=Yes
|
||||||
|
M_NAME="default"
|
||||||
|
|
||||||
|
|
||||||
|
if ! [ "$(echo $M_ENABLED | tr A-Z a-z)" = "yes" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Menue $M_NAME is enabled..."
|
||||||
|
|
||||||
|
M_PAYLOAD="
|
||||||
|
|
||||||
|
rootprompt 0
|
||||||
|
path bios/
|
||||||
|
default bios/vesamenu.c32
|
||||||
|
#TIMEOUT 300
|
||||||
|
|
||||||
|
MENU TITLE Default Menu
|
||||||
|
MENU BACKGROUND splash.png
|
||||||
|
MENU ROWS 15
|
||||||
|
MENU TABMSGROW 20
|
||||||
|
MENU TIMEOUTROW 22
|
||||||
|
|
||||||
|
LABEL disk0
|
||||||
|
localboot 0
|
||||||
|
MENU LABEL Starte von lokaler Platte (Default)
|
||||||
|
|
||||||
|
label -
|
||||||
|
MENU LABEL Live-Systeme: --------------------------
|
||||||
|
MENU DISABLE
|
||||||
|
|
||||||
|
LABEL knx
|
||||||
|
MENU LABEL * Knoppix 9.1 Live, Grafisch, 32Bit
|
||||||
|
KERNEL free/knx/boot/isolinux/linux
|
||||||
|
APPEND nfsdir=${HOST_IP}:/srv/tftp/free/knx nodhcp lang=de ramdisk_size=100000 init=/sbin/init apm=power-off nomce loglevel=1 initrd=free/knx/boot/isolinux/miniroot.gz libata.force=noncq tz=europe/Berlin hpsa.hpsa_allow_any=1 BOOT_IMAGE=knoppix
|
||||||
|
|
||||||
|
MENU BEGIN
|
||||||
|
MENU LABEL * Weitere Optionen...
|
||||||
|
|
||||||
|
LABEL knx
|
||||||
|
MENU LABEL * Knoppix 9.1 Live, Textmodus, 32Bit
|
||||||
|
KERNEL free/knx/boot/isolinux/linux
|
||||||
|
APPEND nfsdir=${HOST_IP}:/srv/tftp/free/knx nodhcp lang=de ramdisk_size=100000 init=/sbin/init apm=power-off nomce loglevel=1 initrd=free/knx/boot/isolinux/miniroot.gz libata.force=noncq tz=Europe/Berlin hpsa.hpsa_allow_any=1 BOOT_IMAGE=knoppix 2
|
||||||
|
|
||||||
|
LABEL zurueck...
|
||||||
|
MENU EXIT
|
||||||
|
MENU END
|
||||||
|
|
||||||
|
label -
|
||||||
|
MENU LABEL Backup & Restore: ----------------------
|
||||||
|
MENU DISABLE
|
||||||
|
|
||||||
|
LABEL rescue
|
||||||
|
MENU LABEL * Rescuezilla Live
|
||||||
|
kernel free/rz/casper/vmlinuz
|
||||||
|
APPEND initrd=free/rz/casper/initrd.lz netboot=nfs root=/dev/nfs ramdisk_size=1500000 ip=dhcp nfsroot=${HOST_IP}:${D_TFTP}/free/rz/ boot=casper locale=de_DE keyboard-configuration/layoutcode=de bootkbd=de console-setup/layoutcode=de quiet
|
||||||
|
|
||||||
|
MENU BEGIN
|
||||||
|
MENU LABEL * Weitere Optionen...
|
||||||
|
|
||||||
|
LABEL rescue2
|
||||||
|
MENU LABEL * Rescuezilla Live Fail-Safe
|
||||||
|
kernel free/rz/casper/vmlinuz
|
||||||
|
APPEND initrd=free/rz/casper/initrd.lz netboot=nfs root=/dev/nfs ramdisk_size=1500000 ip=dhcp nfsroot=${HOST_IP}:${D_TFTP}/free/rz/ boot=casper locale=de_DE keyboard-configuration/layoutcode=de bootkbd=de console-setup/layoutcode=de xforcevesa nomodeset vga=791 quiet
|
||||||
|
|
||||||
|
LABEL cz
|
||||||
|
MENU LABEL * Clonezilla Live (Ramdisk)
|
||||||
|
KERNEL free/cz/live/vmlinuz
|
||||||
|
APPEND initrd=free/cz/live/initrd.img boot=live username=user union=overlay config components noswap edd=on nomodeset nodmraid locales=de_DE.UTF-8 keyboard-layouts=de-latin-1 ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no net.ifnames=0 nosplash noprompt fetch=tftp://${HOST_IP}/free/cz/live/filesystem.squashfs quiet
|
||||||
|
|
||||||
|
LABEL acr18
|
||||||
|
MENU LABEL * Acronis True Image Home 2018
|
||||||
|
LINUX memdisk
|
||||||
|
INITRD non-free/acronis/acronis2018.iso
|
||||||
|
APPEND iso raw
|
||||||
|
|
||||||
|
LABEL acr14
|
||||||
|
MENU LABEL * Acronis True Image Home 2014
|
||||||
|
LINUX memdisk
|
||||||
|
INITRD non-free/acronis/acronis2014.iso
|
||||||
|
APPEND iso raw
|
||||||
|
|
||||||
|
LABEL acr11
|
||||||
|
MENU LABEL * Acronis True Image Home 2011
|
||||||
|
LINUX memdisk
|
||||||
|
INITRD non-free/acronis/acronis2011.iso
|
||||||
|
APPEND iso raw
|
||||||
|
|
||||||
|
LABEL acr10
|
||||||
|
MENU LABEL * Acronis True Image 2010
|
||||||
|
LINUX memdisk
|
||||||
|
INITRD non-free/acronis/acronis2010.iso
|
||||||
|
APPEND iso raw
|
||||||
|
|
||||||
|
LABEL acr09
|
||||||
|
MENU LABEL * Acronis True Image 2009
|
||||||
|
LINUX memdisk
|
||||||
|
INITRD non-free/acronis/acronis2009.iso
|
||||||
|
APPEND iso raw
|
||||||
|
|
||||||
|
LABEL zurueck...
|
||||||
|
MENU EXIT
|
||||||
|
MENU END
|
||||||
|
|
||||||
|
label -
|
||||||
|
MENU LABEL Installer: ------------------------------
|
||||||
|
MENU DISABLE
|
||||||
|
|
||||||
|
MENU BEGIN
|
||||||
|
MENU LABEL * Linux Installer...
|
||||||
|
|
||||||
|
LABEL deb12
|
||||||
|
MENU LABEL * Debian 12 Installer 64Bit Textmodus
|
||||||
|
CONFIG free/deb-bookworm/debian-installer/amd64/pxelinux.cfg/default
|
||||||
|
APPEND free/deb-bookworm/
|
||||||
|
LABEL deb12
|
||||||
|
MENU LABEL * Debian 12 Installer 32Bit Textmodus
|
||||||
|
CONFIG free/deb-bookworm/debian-installer/i386/pxelinux.cfg/default
|
||||||
|
APPEND free/deb-bookworm/
|
||||||
|
|
||||||
|
LABEL deb11
|
||||||
|
MENU LABEL * Debian 11 Installer 64Bit Textmodus
|
||||||
|
CONFIG free/deb-bullseye/debian-installer/amd64/pxelinux.cfg/default
|
||||||
|
APPEND free/deb-bullseye/
|
||||||
|
LABEL deb11
|
||||||
|
MENU LABEL * Debian 11 Installer 32Bit Textmodus
|
||||||
|
CONFIG free/deb-bullseye/debian-installer/i386/pxelinux.cfg/default
|
||||||
|
APPEND free/deb-bullseye/
|
||||||
|
|
||||||
|
LABEL zurueck...
|
||||||
|
MENU EXIT
|
||||||
|
MENU END
|
||||||
|
|
||||||
|
MENU BEGIN
|
||||||
|
MENU LABEL * Windows Installer...
|
||||||
|
|
||||||
|
LABEL win10
|
||||||
|
MENU LABEL * Windows 10
|
||||||
|
KERNEL memdisk
|
||||||
|
INITRD non-free/windows/winpe.iso
|
||||||
|
APPEND iso raw
|
||||||
|
|
||||||
|
LABEL win10
|
||||||
|
MENU LABEL * Windows 10 iPXE Test
|
||||||
|
KERNEL ipxe.lkrn
|
||||||
|
APPEND dhcp && chain non-free/wimboot.ipxe
|
||||||
|
|
||||||
|
LABEL zurueck...
|
||||||
|
MENU EXIT
|
||||||
|
MENU END
|
||||||
|
|
||||||
|
label -
|
||||||
|
MENU LABEL Boot- & System-Tools: --------------------
|
||||||
|
MENU DISABLE
|
||||||
|
|
||||||
|
LABEL hdt
|
||||||
|
MENU LABEL * Hardware Erkennung
|
||||||
|
COM32 bios/hdt.c32
|
||||||
|
|
||||||
|
LABEL memtestpl
|
||||||
|
MENU LABEL * Memtest86+
|
||||||
|
kernel free/memtest86+
|
||||||
|
|
||||||
|
MENU BEGIN
|
||||||
|
MENU LABEL * Weitere Optionen...
|
||||||
|
|
||||||
|
label sbm
|
||||||
|
MENU LABEL * Smart Boot Manager
|
||||||
|
kernel memdisk
|
||||||
|
append initrd=free/sbm.imz
|
||||||
|
|
||||||
|
LABEL plop
|
||||||
|
MENU LABEL * PloP Boot Manager
|
||||||
|
kernel free/plop.exe
|
||||||
|
|
||||||
|
LABEL ipxe
|
||||||
|
MENU LABEL * iPXE Shell
|
||||||
|
KERNEL ipxe.lkrn dhcp && shell
|
||||||
|
|
||||||
|
LABEL memtest
|
||||||
|
MENU LABEL * Memtest86
|
||||||
|
kernel free/memtest86
|
||||||
|
|
||||||
|
LABEL fdos
|
||||||
|
MENU LABEL * FreeDOS Bootdisk
|
||||||
|
KERNEL memdisk
|
||||||
|
APPEND initrd=free/FD13BOOT.img
|
||||||
|
|
||||||
|
label win98
|
||||||
|
MENU LABEL * Windows 98 Bootdisk (DOS 7)
|
||||||
|
kernel memdisk
|
||||||
|
append initrd=non-free/win98.img
|
||||||
|
|
||||||
|
label ether
|
||||||
|
MENU LABEL * Etherboot
|
||||||
|
kernel memdisk
|
||||||
|
append initrd=free/ether.img
|
||||||
|
|
||||||
|
LABEL zurueck...
|
||||||
|
MENU EXIT
|
||||||
|
MENU END
|
||||||
|
|
||||||
|
"
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
|
||||||
|
build)
|
||||||
|
echo $M_PAYLOAD > ${D_TFTP}/pxelinux.cfg/default
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
0
conf.d/plugins_10_rescuezilla.conf.sh
Normal file
0
conf.d/plugins_10_rescuezilla.conf.sh
Normal file
48
conf.d/service_10_main.conf.sh
Executable file
48
conf.d/service_10_main.conf.sh
Executable file
@@ -0,0 +1,48 @@
|
|||||||
|
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./settings.sh
|
||||||
|
|
||||||
|
#
|
||||||
|
# Main Service
|
||||||
|
#
|
||||||
|
S_ENABLED=YES
|
||||||
|
S_NAME="none"
|
||||||
|
S_PACKAGES="git sudo p7zip p7zip-full ipxe pxelinux syslinux syslinux-common"
|
||||||
|
|
||||||
|
# handle services
|
||||||
|
fservice $S_ENABLED $1 $S_NAME "$S_PACKAGES"
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
|
||||||
|
init)
|
||||||
|
# create directories
|
||||||
|
mkdir -p ${D_TFTP}
|
||||||
|
mkdir -p ${D_TFTP}/pxelinux.cfg
|
||||||
|
|
||||||
|
# copy Files some files:
|
||||||
|
cp -a /usr/lib/syslinux/modules/bios ${D_TFTP}/
|
||||||
|
cp -a ${D_RESRC}/default-minimal.txt ${D_TFTP}/pxelinux.cfg/default
|
||||||
|
|
||||||
|
# Link needed Files from installed Debian Packages to the TFTP-Root:
|
||||||
|
ln /usr/lib/PXELINUX/pxelinux.0 ${D_TFTP}/
|
||||||
|
ln /boot/ipxe.lkrn ${D_TFTP}/ipxe
|
||||||
|
ln /usr/lib/syslinux/memdisk ${D_TFTP}/
|
||||||
|
ln ${D_TFTP}/bios/ldlinux.c32 ${D_TFTP}/
|
||||||
|
ln ${D_TFTP}/pxelinux.cfg/default ${D_TFTP}/default -s
|
||||||
|
|
||||||
|
# download needed files:
|
||||||
|
wget -O ${D_TFTP}/wimboot "https://github.com/ipxe/wimboot/releases/latest/download/wimboot"
|
||||||
|
|
||||||
|
# set file access
|
||||||
|
chown ${USERID}:${GROUPID} . -R
|
||||||
|
chmod a+rw . -R
|
||||||
|
|
||||||
|
chown ${USERID}:${GROUPID} ${D_TFTP} -R
|
||||||
|
chmod a+rwx ${D_TFTP} -R
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
|
21
conf.d/service_20_tftp.conf.sh
Executable file
21
conf.d/service_20_tftp.conf.sh
Executable file
@@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./settings.sh
|
||||||
|
|
||||||
|
#
|
||||||
|
# Service configuration
|
||||||
|
#
|
||||||
|
S_ENABLED=YES
|
||||||
|
S_NAME="tftpd-hpa"
|
||||||
|
S_PACKAGES="tftpd-hpa"
|
||||||
|
|
||||||
|
fservice $S_ENABLED $1 $S_NAME $S_PACKAGES
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
|
||||||
|
init)
|
||||||
|
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
23
conf.d/service_30_nfs.conf.sh
Executable file
23
conf.d/service_30_nfs.conf.sh
Executable file
@@ -0,0 +1,23 @@
|
|||||||
|
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./settings.sh
|
||||||
|
|
||||||
|
#
|
||||||
|
# Service configuration
|
||||||
|
#
|
||||||
|
|
||||||
|
S_ENABLED=no
|
||||||
|
S_NAME="nfs-kernel-server"
|
||||||
|
S_PACKAGES="nfs-kernel-server nfs-common"
|
||||||
|
|
||||||
|
fservice $S_ENABLED $1 $S_NAME $S_PACKAGES
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
|
||||||
|
init)
|
||||||
|
echo " create /etc/exports..."
|
||||||
|
cat ${D_ROOTDIR}/resrc.d/service_nfs_exports.txt | sed "s#__D_TFTP__#$D_TFTP#g" > /etc/exports
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
23
conf.d/service_40_smbd.conf.sh
Executable file
23
conf.d/service_40_smbd.conf.sh
Executable file
@@ -0,0 +1,23 @@
|
|||||||
|
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./settings.sh
|
||||||
|
|
||||||
|
#
|
||||||
|
# Service configuration
|
||||||
|
#
|
||||||
|
|
||||||
|
S_ENABLED=no
|
||||||
|
S_NAME="smbd"
|
||||||
|
S_PACKAGES="samba"
|
||||||
|
|
||||||
|
fservice $S_ENABLED $1 $S_NAME $S_PACKAGES
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
|
||||||
|
init)
|
||||||
|
echo " create smb.conf ..."
|
||||||
|
cat ${D_ROOTDIR}/resrc.d/service_smb.conf.txt | sed "s#__D_TFTP__#$D_TFTP#g" > /etc/samba/smb.conf
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
@@ -1,4 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
|
|
||||||
|
|
71
main.sh
Executable file
71
main.sh
Executable file
@@ -0,0 +1,71 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./settings.sh
|
||||||
|
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
|
||||||
|
#
|
||||||
|
# services
|
||||||
|
#
|
||||||
|
services)
|
||||||
|
|
||||||
|
# find services:
|
||||||
|
SLIST=$(ls ./conf.d/service_*.conf.sh )
|
||||||
|
# process command
|
||||||
|
case $2 in
|
||||||
|
init)
|
||||||
|
echo "--------------------------------------------------"
|
||||||
|
echo "service init..."
|
||||||
|
echo "--------------------------------------------------"
|
||||||
|
for ITEM in ${SLIST};
|
||||||
|
do
|
||||||
|
$ITEM init
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
start)
|
||||||
|
echo "--------------------------------------------------"
|
||||||
|
echo "service start..."
|
||||||
|
echo "--------------------------------------------------"
|
||||||
|
for ITEM in ${SLIST};
|
||||||
|
do
|
||||||
|
$ITEM start
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
echo "--------------------------------------------------"
|
||||||
|
echo "service stop..."
|
||||||
|
echo "--------------------------------------------------"
|
||||||
|
for ITEM in ${SLIST};
|
||||||
|
do
|
||||||
|
$ITEM stop
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
echo "--------------------------------------------------"
|
||||||
|
echo "service restart..."
|
||||||
|
echo "--------------------------------------------------"
|
||||||
|
for ITEM in ${SLIST};
|
||||||
|
do
|
||||||
|
$ITEM restart
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
#
|
||||||
|
# menues
|
||||||
|
#
|
||||||
|
menues)
|
||||||
|
;;
|
||||||
|
#
|
||||||
|
# plugins
|
||||||
|
#
|
||||||
|
plugins)
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 services [init|start|stop|restart]"
|
||||||
|
echo " $0 menues [init]"
|
||||||
|
echo " $0 plugins [init|build|download]"
|
||||||
|
;;
|
||||||
|
esac
|
1
.gitignore → old-version/.gitignore
vendored
1
.gitignore → old-version/.gitignore
vendored
@@ -1,3 +1,2 @@
|
|||||||
temp/
|
temp/
|
||||||
free/
|
|
||||||
non-free/
|
non-free/
|
3
old-version/README.md
Executable file
3
old-version/README.md
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
# PXE Boot-Server
|
||||||
|
|
||||||
|
This Project aims to provide a set of scripts to build a modular PXE TFTP Server and is under heavy construction.
|
@@ -1,6 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
TFTP=/srv/tftp
|
# Load Global Settings
|
||||||
|
. ./settings.sh
|
||||||
|
|
||||||
# create directories
|
# create directories
|
||||||
mkdir -p ${TFTP}
|
mkdir -p ${TFTP}
|
||||||
@@ -9,7 +10,9 @@ mkdir -p ${TFTP}/pxelinux.cfg
|
|||||||
# copy Files from the Resource-Dir to the correct places:
|
# copy Files from the Resource-Dir to the correct places:
|
||||||
cp ./resources/lighttpd.conf /etc/lighttpd/lighttpd.conf
|
cp ./resources/lighttpd.conf /etc/lighttpd/lighttpd.conf
|
||||||
cp ./resources/exports /etc/exports
|
cp ./resources/exports /etc/exports
|
||||||
cp ./resources/default-minimal ${TFTP}/pxelinux.cfg/default
|
if ! [ -e ${TFTP}/pxelinux.cfg/default ]; then
|
||||||
|
cp ./resources/default-minimal ${TFTP}/pxelinux.cfg/default
|
||||||
|
fi
|
||||||
cp ./resources/splash.png ${TFTP}/
|
cp ./resources/splash.png ${TFTP}/
|
||||||
cp -a /usr/lib/syslinux/modules/bios ${TFTP}/
|
cp -a /usr/lib/syslinux/modules/bios ${TFTP}/
|
||||||
|
|
||||||
@@ -21,7 +24,10 @@ ln ${TFTP}/bios/ldlinux.c32 ${TFTP}/
|
|||||||
ln ${TFTP}/pxelinux.cfg/default ${TFTP}/default -s
|
ln ${TFTP}/pxelinux.cfg/default ${TFTP}/default -s
|
||||||
|
|
||||||
# set file access
|
# set file access
|
||||||
chown www-data.www-data ${TFTP} -R
|
chown ${USERID}:${GROUPID} . -R
|
||||||
|
chmod a+rw . -R
|
||||||
|
|
||||||
|
chown ${USERID}:${GROUPID} ${TFTP} -R
|
||||||
chmod a+rwx ${TFTP} -R
|
chmod a+rwx ${TFTP} -R
|
||||||
|
|
||||||
# restart services
|
# restart services
|
51
old-version/configure-windows-pxeboot.sh
Executable file
51
old-version/configure-windows-pxeboot.sh
Executable file
@@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./settings.sh
|
||||||
|
|
||||||
|
# Download & Install Debian Packages
|
||||||
|
apt update
|
||||||
|
apt install -y samba genisoimage wimtools cabextract
|
||||||
|
|
||||||
|
# configure Packages
|
||||||
|
cp ./resources/smb.conf /etc/samba/
|
||||||
|
|
||||||
|
# setup dirs:
|
||||||
|
mkdir -p ./non-free/windows
|
||||||
|
mkdir -p ./temp/waik
|
||||||
|
|
||||||
|
# restart services
|
||||||
|
systemctl restart smbd
|
||||||
|
|
||||||
|
# Download Windows Stuff:
|
||||||
|
WAIKURL="https://download.microsoft.com/download/8/E/9/8E9BBC64-E6F8-457C-9B8D-F6C9A16E6D6A/KB3AIK_EN.iso"
|
||||||
|
FILENAME="./temp/KB3AIK_EN.iso"
|
||||||
|
if ! [ -e $FILENAME ]; then
|
||||||
|
wget -nc -O $FILENAME $WAIKURL
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -e $FILENAME ]; then
|
||||||
|
7z x -aos -o./temp/waik $FILENAME
|
||||||
|
fi
|
||||||
|
|
||||||
|
# parse winpestart.bat
|
||||||
|
cat ./resources/winpestart.bat | sed -e "s/__NFSSERVERIP__/${NFSSERVERIP}/g" > ./temp/winpestart.bat
|
||||||
|
|
||||||
|
# Create winpe.iso
|
||||||
|
if [ -e ./non-free/windows/winpe.iso ]; then
|
||||||
|
rm ./non-free/windows/winpe.iso
|
||||||
|
fi
|
||||||
|
if [ -e ./temp/waik/WinPE.cab ]; then
|
||||||
|
mkwinpeimg --iso --arch=amd64 --waik-dir=./temp/waik --start-script=./temp/winpestart.bat ./non-free/windows/winpe.iso
|
||||||
|
#mkwinpeimg --iso --arch=amd64 --waik-dir=./temp/waik ./non-free/windows/winpe.iso
|
||||||
|
fi
|
||||||
|
|
||||||
|
# download Deployment Toolkit
|
||||||
|
DLURL="https://download.microsoft.com/download/3/3/9/339BE62D-B4B8-4956-B58D-73C4685FC492/MicrosoftDeploymentToolkit_x64.msi"
|
||||||
|
FILENAME="./non-free/windows/MicrosoftDeploymentToolkit_x64.msi"
|
||||||
|
if ! [ -e $FILENAME ]; then
|
||||||
|
wget -nc -O $FILENAME $DLURL
|
||||||
|
fi
|
||||||
|
|
||||||
|
# copy files to tftp server
|
||||||
|
cp -av ./non-free/windows ${TFTP}/non-free/
|
||||||
|
|
96
old-version/download-free.sh
Executable file
96
old-version/download-free.sh
Executable file
@@ -0,0 +1,96 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./settings.sh
|
||||||
|
|
||||||
|
WGET="-nv -nc"
|
||||||
|
Z7="-aos"
|
||||||
|
|
||||||
|
if ! [ -e ./temp ]; then
|
||||||
|
mkdir -p ./temp
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "--- FreeDOS -- ---------------------------------------------------------------------"
|
||||||
|
echo "------------------------------------------------------------------------------------"
|
||||||
|
CZURL="https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.3/official/FD13-LiveCD.zip"
|
||||||
|
FILENAME=fdfullcd.zip
|
||||||
|
|
||||||
|
if ! [ -e ./temp/$FILENAME ]; then
|
||||||
|
echo "Downloading FreeDOS..."
|
||||||
|
wget $WGET -O ./temp/$FILENAME $CZURL
|
||||||
|
fi
|
||||||
|
if [ -e ./temp/$FILENAME ]; then
|
||||||
|
echo "Preparing FreeDOS..."
|
||||||
|
7z x $Z7 -o${TFTP}/free ./temp/${FILENAME}
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "--- Clonezilla ---------------------------------------------------------------------"
|
||||||
|
echo "------------------------------------------------------------------------------------"
|
||||||
|
CZURL="https://sourceforge.net/projects/clonezilla/files/clonezilla_live_stable/3.0.3-22/clonezilla-live-3.0.3-22-amd64.iso/download"
|
||||||
|
FILENAME=clonezilla-64bit.iso
|
||||||
|
|
||||||
|
if ! [ -e ./temp/$FILENAME ]; then
|
||||||
|
echo "Downloading Clonezilla..."
|
||||||
|
wget $WGET -O ./temp/$FILENAME $CZURL
|
||||||
|
fi
|
||||||
|
if [ -e ./temp/$FILENAME ]; then
|
||||||
|
echo "Preparing Clonezilla..."
|
||||||
|
mkdir -p ${TFTP}/free/cz
|
||||||
|
7z x $Z7 -o${TFTP}/free/cz ./temp/${FILENAME}
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "--- Rescuezilla --------------------------------------------------------------------"
|
||||||
|
echo "------------------------------------------------------------------------------------"
|
||||||
|
RZURL="https://github.com/rescuezilla/rescuezilla/releases/download/2.4.2/rescuezilla-2.4.2-64bit.jammy.iso"
|
||||||
|
FILENAME=rescuezilla-64bit.iso
|
||||||
|
|
||||||
|
if ! [ -e ./temp/$FILENAME ]; then
|
||||||
|
echo "Downloading Rescuezilla..."
|
||||||
|
wget $WGET -O ./temp/$FILENAME $RZURL
|
||||||
|
fi
|
||||||
|
if [ -e ./temp/$FILENAME ]; then
|
||||||
|
echo "Preparing Rescuezilla..."
|
||||||
|
mkdir -p ${TFTP}/free/rz
|
||||||
|
7z x $Z7 -o${TFTP}/free/rz ./temp/${FILENAME}
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "--- Knoppix V9.1 ------------------------------------------------------------------"
|
||||||
|
echo "------------------------------------------------------------------------------------"
|
||||||
|
KNX9URL="http://ftp.uni-kl.de/pub/linux/knoppix-dvd/KNOPPIX_V9.1DVD-2021-01-25-DE.iso"
|
||||||
|
FILENAME=KNOPPIX_V9.1DVD.iso
|
||||||
|
|
||||||
|
if ! [ -e ./temp/$FILENAME ]; then
|
||||||
|
echo "Downloading Knoppix..."
|
||||||
|
wget $WGET -O ./temp/$FILENAME $KNX9URL
|
||||||
|
fi
|
||||||
|
if [ -e ./temp/$FILENAME ]; then
|
||||||
|
echo "Preparing Knoppix..."
|
||||||
|
mkdir -p ${TFTP}/free/knx
|
||||||
|
7z x $Z7 -o${TFTP}/free/knx ./temp/${FILENAME}
|
||||||
|
cp ./resources/knx-miniroot.gz ${TFTP}/free/knx/boot/isolinux/miniroot.gz
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "--- Debian Installer ---------------------------------------------------------------"
|
||||||
|
echo "------------------------------------------------------------------------------------"
|
||||||
|
DISTS="bullseye bookworm"
|
||||||
|
ARCHS="amd64 i386"
|
||||||
|
|
||||||
|
for DIST in $DISTS;
|
||||||
|
do
|
||||||
|
for ARCH in ${ARCHS};
|
||||||
|
do
|
||||||
|
DEBURL="https://deb.debian.org/debian/dists/${DIST}/main/installer-${ARCH}/current/images/netboot/netboot.tar.gz"
|
||||||
|
FILENAME="netboot-${DIST}-${ARCH}.tar.gz"
|
||||||
|
if ! [ -e ./temp/${FILENAME} ]; then
|
||||||
|
echo "Downloading Debian installer ${DIST}/${ARCH}..."
|
||||||
|
wget $WGET -O ./temp/${FILENAME} $DEBURL
|
||||||
|
fi
|
||||||
|
if [ -e ./temp/${FILENAME} ]; then
|
||||||
|
echo "Create directory in ${TFTP}/free/deb-${DIST}..."
|
||||||
|
mkdir -p ${TFTP}/free/deb-${DIST}
|
||||||
|
echo "Unpacking files..."
|
||||||
|
tar xfzC ./temp/${FILENAME} ${TFTP}/free/deb-${DIST}
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
./configure-debian-system.sh
|
6
old-version/download-non-free.sh
Executable file
6
old-version/download-non-free.sh
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./settings.sh
|
||||||
|
|
||||||
|
# copy local non-free directory to the tftp server:
|
||||||
|
cp -av ./non-free ${TFTP}/
|
BIN
old-version/free/ether.img
Executable file
BIN
old-version/free/ether.img
Executable file
Binary file not shown.
BIN
old-version/free/floppy-grub4dos
Executable file
BIN
old-version/free/floppy-grub4dos
Executable file
Binary file not shown.
BIN
old-version/free/memtest86
Executable file
BIN
old-version/free/memtest86
Executable file
Binary file not shown.
BIN
old-version/free/memtest86+
Executable file
BIN
old-version/free/memtest86+
Executable file
Binary file not shown.
BIN
old-version/free/plop.exe
Executable file
BIN
old-version/free/plop.exe
Executable file
Binary file not shown.
BIN
old-version/free/sbm.imz
Executable file
BIN
old-version/free/sbm.imz
Executable file
Binary file not shown.
535
old-version/free/wimboot
Normal file
535
old-version/free/wimboot
Normal file
@@ -0,0 +1,535 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
|
||||||
|
lang="en" dir="ltr">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<title>
|
||||||
|
iPXE - open source boot firmware [wimboot]
|
||||||
|
</title>
|
||||||
|
|
||||||
|
<meta name="generator" content="DokuWiki"/>
|
||||||
|
<meta name="robots" content="index,follow"/>
|
||||||
|
<meta name="keywords" content="wimboot"/>
|
||||||
|
<link rel="search" type="application/opensearchdescription+xml" href="/lib/exe/opensearch.php" title="iPXE - open source boot firmware"/>
|
||||||
|
<link rel="start" href="/"/>
|
||||||
|
<link rel="contents" href="/wimboot?do=index" title="Sitemap"/>
|
||||||
|
<link rel="manifest" href="/lib/exe/manifest.php"/>
|
||||||
|
<link rel="alternate" type="application/rss+xml" title="Recent Changes" href="/feed.php"/>
|
||||||
|
<link rel="alternate" type="application/rss+xml" title="Current namespace" href="/feed.php?mode=list&ns="/>
|
||||||
|
<link rel="alternate" type="text/html" title="Plain HTML" href="/_export/xhtml/wimboot"/>
|
||||||
|
<link rel="alternate" type="text/plain" title="Wiki Markup" href="/_export/raw/wimboot"/>
|
||||||
|
<link rel="canonical" href="https://ipxe.org/wimboot"/>
|
||||||
|
<link rel="stylesheet" type="text/css" href="/lib/exe/css.php?t=doogiestpl&tseed=c353b386e7712527745f967265a28687"/>
|
||||||
|
<!--[if gte IE 9]><!-->
|
||||||
|
<script type="text/javascript">/*<![CDATA[*/var NS='';var JSINFO = {"id":"wimboot","namespace":"","ACT":"show","useHeadingNavigation":0,"useHeadingContent":0};
|
||||||
|
/*!]]>*/</script>
|
||||||
|
<script type="text/javascript" charset="utf-8" src="/lib/exe/jquery.php?tseed=23f888679b4f1dc26eef34902aca964f"></script>
|
||||||
|
<script type="text/javascript" charset="utf-8" src="/lib/exe/js.php?t=doogiestpl&tseed=c353b386e7712527745f967265a28687"></script>
|
||||||
|
<!--<![endif]-->
|
||||||
|
<link rel="shortcut icon" href="/lib/tpl/doogiestpl/images/favicon.ico" />
|
||||||
|
<link rel="apple-touch-icon" href="/lib/tpl/doogiestpl/images/apple-touch-icon.png" />
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="dokuwiki ">
|
||||||
|
|
||||||
|
<!-- login state -->
|
||||||
|
<div class="user">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- breadcrumbs -->
|
||||||
|
|
||||||
|
|
||||||
|
<div class="clearer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="stylehead">
|
||||||
|
<div class="header">
|
||||||
|
<div class="logo">
|
||||||
|
<a href="/start" name="dokuwiki__top" id="dokuwiki__top" accesskey="h" title="[ALT+H]">iPXE - open source boot firmware</a> </div>
|
||||||
|
<div class="tools">
|
||||||
|
<div class="pagename">
|
||||||
|
<!-- mcb30 - removed backlinks and replaced with logo -->
|
||||||
|
<a href="/start" name="dokuwiki__logo" id="dokuwiki__logo"><img src="/_media/logos/ipxe-small.png" width="159" height="105" alt="iPXE logo" /></a> </div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="clearer"></div>
|
||||||
|
<div class="tabnav" id="tab__nav">
|
||||||
|
<ul>
|
||||||
|
<li class="level1"><div class="li"> <a href="/start" class="wikilink1" title="start">Home</a></div>
|
||||||
|
</li>
|
||||||
|
<li class="level1"><div class="li"> <span class="curid"><a href="/download" class="wikilink1" title="download">Download</a></span></div>
|
||||||
|
</li>
|
||||||
|
<li class="level1"><div class="li"> <a href="/pics" class="wikilink1" title="pics">Screenshots</a></div>
|
||||||
|
</li>
|
||||||
|
<li class="level1"><div class="li"> <a href="/docs" class="wikilink1" title="docs">Documentation</a></div>
|
||||||
|
</li>
|
||||||
|
<li class="level1"><div class="li"> <a href="/faq" class="wikilink1" title="faq">FAQ</a></div>
|
||||||
|
</li>
|
||||||
|
<li class="level1"><div class="li"> <a href="/contact" class="wikilink1" title="contact">Contact</a></div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="clearer"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="page">
|
||||||
|
<!-- ......... wikipage start ......... -->
|
||||||
|
<!-- TOC START -->
|
||||||
|
<div id="dw__toc" class="dw__toc">
|
||||||
|
<h3 class="toggle">Table of Contents</h3>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<ul class="toc">
|
||||||
|
<li class="level1"><div class="li"><a href="#advantages">Advantages</a></div></li>
|
||||||
|
<li class="level1"><div class="li"><a href="#download">Download</a></div></li>
|
||||||
|
<li class="level1"><div class="li"><a href="#getting_started">Getting started</a></div>
|
||||||
|
<ul class="toc">
|
||||||
|
<li class="level2"><div class="li"><a href="#extract_the_windows_boot_files">Extract the Windows boot files</a></div></li>
|
||||||
|
<li class="level2"><div class="li"><a href="#download_wimboot">Download wimboot</a></div></li>
|
||||||
|
<li class="level2"><div class="li"><a href="#create_the_ipxe_script">Create the iPXE script</a></div></li>
|
||||||
|
<li class="level2"><div class="li"><a href="#boot">Boot</a></div></li>
|
||||||
|
<li class="level2"><div class="li"><a href="#next_steps">Next steps</a></div></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="level1"><div class="li"><a href="#licence">Licence</a></div></li>
|
||||||
|
<li class="level1"><div class="li"><a href="#sponsors">Sponsors</a></div></li>
|
||||||
|
<li class="level1"><div class="li"><a href="#advanced_topics">Advanced topics</a></div>
|
||||||
|
<ul class="toc">
|
||||||
|
<li class="level2"><div class="li"><a href="#multi-image_wim_files">Multi-image WIM files</a></div></li>
|
||||||
|
<li class="level2"><div class="li"><a href="#injected_files">Injected files</a></div></li>
|
||||||
|
<li class="level2"><div class="li"><a href="#custom_boot_manager">Custom boot manager</a></div></li>
|
||||||
|
<li class="level2"><div class="li"><a href="#disabling_automatic_bcd_modifications">Disabling automatic BCD modifications</a></div></li>
|
||||||
|
<li class="level2"><div class="li"><a href="#disabling_debug_messages">Disabling debug messages</a></div></li>
|
||||||
|
<li class="level2"><div class="li"><a href="#displaying_graphical_boot_messages">Displaying graphical boot messages</a></div></li>
|
||||||
|
<li class="level2"><div class="li"><a href="#disabling_paging">Disabling paging</a></div></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="level1"><div class="li"><a href="#internals">Internals</a></div></li>
|
||||||
|
<li class="level1"><div class="li"><a href="#troubleshooting">Troubleshooting</a></div></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- TOC END -->
|
||||||
|
|
||||||
|
<h1 id="wimboot">wimboot</h1>
|
||||||
|
<div class="level1">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<code>wimboot</code> is a boot loader for Windows Imaging Format (<code>.wim</code>) files. It enables you to boot into a <a href="https://en.wikipedia.org/wiki/Windows_Preinstallation_Environment" class="urlextern" title="https://en.wikipedia.org/wiki/Windows_Preinstallation_Environment">Windows PE (WinPE)</a> deployment or recovery environment.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can use <code>wimboot</code> with <a href="/start" class="wikilink1" title="start">iPXE</a> to <a href="/howto/winpe" class="wikilink1" title="howto:winpe">boot Windows PE via HTTP</a>. With a Gigabit Ethernet network, a typical WinPE image should download in just a few seconds.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 id="advantages">Advantages</h2>
|
||||||
|
<div class="level2">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="/_detail/clipart/lightbulb.png?id=wimboot" class="media" title="clipart:lightbulb.png"><img src="/_media/clipart/lightbulb.png?w=180&h=200&tok=8cacff" class="mediaright" title="A light bulb" alt="A light bulb" width="180" height="200" /></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h5 id="speed">Speed</h5>
|
||||||
|
<div class="level5">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<code>wimboot</code> can download images at the full speed supported by your network, since it can use <abbr title="Hyper Text Transfer Protocol">HTTP</abbr> rather than TFTP.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h5 id="efficiency">Efficiency</h5>
|
||||||
|
<div class="level5">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<code>wimboot</code> allows Windows to reuse the memory that was used to hold the RAM disk image; there is no wasted memory.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h5 id="ease_of_use">Ease of use</h5>
|
||||||
|
<div class="level5">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<code>wimboot</code> works directly with <code>.wim</code> image files; there is no need to wrap your <code>.wim</code> into an <abbr title="International Organization for Standardization">ISO</abbr> or FAT filesystem image.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h5 id="biosuefi_compatibility">BIOS/UEFI compatibility</h5>
|
||||||
|
<div class="level5">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<code>wimboot</code> allows you to use a single configuration and set of files to boot under both BIOS and UEFI environments.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 id="download">Download</h2>
|
||||||
|
<div class="level2">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can download the latest version of the <code>wimboot</code> binary from <a href="https://github.com/ipxe/wimboot/releases/latest/download/wimboot" class="urlextern" title="https://github.com/ipxe/wimboot/releases/latest/download/wimboot">https://github.com/ipxe/wimboot/releases/latest/download/wimboot</a>. This is a hybrid binary that will work on both BIOS and 64-bit UEFI systems (including UEFI systems with Secure Boot enabled).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can also download alternative binaries (e.g. for 32-bit UEFI systems) from <a href="https://github.com/ipxe/wimboot/releases/latest" class="urlextern" title="https://github.com/ipxe/wimboot/releases/latest">https://github.com/ipxe/wimboot/releases/latest</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Older versions are available from <a href="https://github.com/ipxe/wimboot/releases" class="urlextern" title="https://github.com/ipxe/wimboot/releases">https://github.com/ipxe/wimboot/releases</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The source code is maintained in a <code>git</code> repository at <a href="https://github.com/ipxe/wimboot" class="urlextern" title="https://github.com/ipxe/wimboot">https://github.com/ipxe/wimboot</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 id="getting_started">Getting started</h2>
|
||||||
|
<div class="level2">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you have a Windows installation DVD-ROM (Vista, Server 2008, or more recent), and a web server (such as Apache or <abbr title="Internet Information Services">IIS</abbr>), then you have everything you need to start using <code>wimboot</code>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 id="extract_the_windows_boot_files">Extract the Windows boot files</h3>
|
||||||
|
<div class="level3">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="/_detail/clipart/cdrom.jpeg?id=wimboot" class="media" title="clipart:cdrom.jpeg"><img src="/_media/clipart/cdrom.jpeg?w=150&h=150&tok=2b33e2" class="mediaright" title="A CD-ROM" alt="A CD-ROM" width="150" height="150" /></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Copy the contents of the Windows installation DVD-ROM to a directory on your web server (e.g. <code>/var/www/win7</code> for Apache, or <code>C:\inetpub\wwwroot\win7</code> for <abbr title="Internet Information Services">IIS</abbr>).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you do not have enough disk space to copy the entire contents of the DVD-ROM, then you may copy only the following files:
|
||||||
|
</p>
|
||||||
|
<pre class="code"> /boot/bcd
|
||||||
|
/boot/boot.sdi
|
||||||
|
/sources/boot.wim</pre>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 id="download_wimboot">Download wimboot</h3>
|
||||||
|
<div class="level3">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Download the <a href="https://github.com/ipxe/wimboot/releases/latest/download/wimboot" class="urlextern" title="https://github.com/ipxe/wimboot/releases/latest/download/wimboot">latest version of wimboot</a> and save it to the same directory on your web server.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 id="create_the_ipxe_script">Create the iPXE script</h3>
|
||||||
|
<div class="level3">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Create a text file <code>boot.ipxe</code> in the same directory on your web server, containing:
|
||||||
|
</p>
|
||||||
|
<pre class="code"> #!ipxe
|
||||||
|
|
||||||
|
kernel wimboot
|
||||||
|
initrd boot/bcd BCD
|
||||||
|
initrd boot/boot.sdi boot.sdi
|
||||||
|
initrd sources/boot.wim boot.wim
|
||||||
|
boot</pre>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 id="boot">Boot</h3>
|
||||||
|
<div class="level3">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Boot using <a href="/start" class="wikilink1" title="start">iPXE</a> from the <abbr title="Uniform Resource Locator">URL</abbr> of your iPXE script, e.g. <code>http://my.web.server/win7/boot.ipxe</code>. You should see iPXE download your Windows boot files via <abbr title="Hyper Text Transfer Protocol">HTTP</abbr> and boot into the Windows installer:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="/_detail/screenshots/wimboot.png?id=wimboot" class="media" title="screenshots:wimboot.png"><img src="/_media/screenshots/wimboot.png?w=600&h=334&tok=484325" class="mediacenter" title="wimboot booting Windows 7" alt="wimboot booting Windows 7" width="600" height="334" /></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="/_detail/screenshots/win7_installer.png?id=wimboot" class="media" title="screenshots:win7_installer.png"><img src="/_media/screenshots/win7_installer.png?w=600&h=450&tok=d70835" class="mediacenter" title="Windows 7 installer booted via wimboot" alt="Windows 7 installer booted via wimboot" width="600" height="450" /></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 id="next_steps">Next steps</h3>
|
||||||
|
<div class="level3">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can use <code>wimboot</code> to boot any bootable <code>.wim</code> image. See the <a href="/howto/winpe" class="wikilink1" title="howto:winpe">Windows PE tutorial</a> for information on how to create and customise your own <code>.wim</code> images.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 id="licence">Licence</h2>
|
||||||
|
<div class="level2">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<code>wimboot</code> is free, open-source software licensed under the <a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html" class="urlextern" title="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU GPL</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 id="sponsors">Sponsors</h2>
|
||||||
|
<div class="level2">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Portions of the <code>wimboot</code> development have been sponsored by:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="https://jumptrading.com" class="media" title="https://jumptrading.com"><img src="/_media/logos/jump.png?w=165&h=37&tok=b2c235" class="mediacenter" title="Jump Trading" alt="Jump Trading" width="165" height="37" /></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="https://2pintsoftware.com" class="media" title="https://2pintsoftware.com"><img src="/_media/logos/2pint.png?w=106&h=33&tok=b919c8" class="mediacenter" title="2Pint Software" alt="2Pint Software" width="106" height="33" /></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="https://digitalintelligence.com" class="media" title="https://digitalintelligence.com"><img src="/_media/logos/digitalintelligence.png?w=150&h=28&tok=42b260" class="mediacenter" title="Digital Intelligence" alt="Digital Intelligence" width="150" height="28" /></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 id="advanced_topics">Advanced topics</h2>
|
||||||
|
<div class="level2">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="/_detail/clipart/books.png?id=wimboot" class="media" title="clipart:books.png"><img src="/_media/clipart/books.png?w=180&h=180&tok=bcf6a6" class="mediaright" title="Some books" alt="Some books" width="180" height="180" /></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 id="multi-image_wim_files">Multi-image WIM files</h3>
|
||||||
|
<div class="level3">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
A WIM file can contain multiple bootable images. You can use the <code>index=<N></code> command-line option to select the image to be booted. For example:
|
||||||
|
</p>
|
||||||
|
<pre class="code"> kernel wimboot index=2</pre>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 id="injected_files">Injected files</h3>
|
||||||
|
<div class="level3">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can provide additional files to <code>wimboot</code>. These files will appear within the <code>X:\Windows\System32</code> directory. For example:
|
||||||
|
</p>
|
||||||
|
<pre class="code"> kernel wimboot
|
||||||
|
initrd winpeshl.ini winpeshl.ini
|
||||||
|
initrd startup.bat startup.bat
|
||||||
|
initrd boot/bcd BCD
|
||||||
|
initrd boot/boot.sdi boot.sdi
|
||||||
|
initrd sources/boot.wim boot.wim
|
||||||
|
boot</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can use this to control the boot process after Windows PE has started. For example, you can use a <a href="/howto/winpe#adding_a_startup_batch_file" class="wikilink1" title="howto:winpe">startup batch file</a> to automatically start the Windows installer from a network share.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can disable this behaviour by using the <code>rawwim</code> command-line option. For example:
|
||||||
|
</p>
|
||||||
|
<pre class="code"> kernel wimboot rawwim</pre>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 id="custom_boot_manager">Custom boot manager</h3>
|
||||||
|
<div class="level3">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<code>wimboot</code> will attempt to extract an appropriate boot manager (such as <code>bootmgr</code>, <code>bootmgr.exe</code> or <code>bootmgfw.efi</code>) from the WIM file.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can disable this behaviour by explicitly providing an appropriate set of boot manager binaries. For example:
|
||||||
|
</p>
|
||||||
|
<pre class="code"> kernel wimboot
|
||||||
|
initrd bootmgr bootmgr
|
||||||
|
initrd efi/boot/bootx64.efi bootx64.efi</pre>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 id="disabling_automatic_bcd_modifications">Disabling automatic BCD modifications</h3>
|
||||||
|
<div class="level3">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<code>wimboot</code> will automatically patch standard BIOS-compatible boot configuration data (BCD) files to allow them to be used on UEFI systems, by changing all occurrences of the string “<code>.exe</code>” to “<code>.efi</code>”.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can disable this behaviour by using the <code>rawbcd</code> command-line option. For example:
|
||||||
|
</p>
|
||||||
|
<pre class="code"> kernel wimboot rawbcd</pre>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 id="disabling_debug_messages">Disabling debug messages</h3>
|
||||||
|
<div class="level3">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<code>wimboot</code> will display some debug messages by default, to assist in diagnosing problems that may occur during booting.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can disable these debug messages by using the <code>quiet</code> command-line option. For example:
|
||||||
|
</p>
|
||||||
|
<pre class="code"> kernel wimboot quiet</pre>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 id="displaying_graphical_boot_messages">Displaying graphical boot messages</h3>
|
||||||
|
<div class="level3">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<code>wimboot</code> will force the Windows boot manager to display error messages in text mode. It does this to work around a bug in some versions of the Windows boot manager, which would otherwise fail to display error messages unless suitable font files are provided.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can disable this behaviour by using the <code>gui</code> command-line option and by providing all of the required font files. For example:
|
||||||
|
</p>
|
||||||
|
<pre class="code"> kernel wimboot gui
|
||||||
|
initrd boot/fonts/segmono_boot.ttf segmono_boot.ttf
|
||||||
|
initrd boot/fonts/segoe_slboot.ttf segoe_slboot.ttf
|
||||||
|
initrd boot/fonts/segoen_slboot.ttf segoen_slboot.ttf
|
||||||
|
initrd boot/fonts/wgl4_boot.ttf wgl4_boot.ttf</pre>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 id="disabling_paging">Disabling paging</h3>
|
||||||
|
<div class="level3">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<code>wimboot</code> will automatically use paging to relocate the data files above 4GB if possible, to allow for the use of large <code>.wim</code> files on BIOS systems.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can disable this behaviour by using the <code>linear</code> command-line option. For example:
|
||||||
|
</p>
|
||||||
|
<pre class="code"> kernel wimboot linear</pre>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 id="internals">Internals</h2>
|
||||||
|
<div class="level2">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
For more detailed information about the internal workings of wimboot, see the <a href="/appnote/wimboot_architecture" class="wikilink1" title="appnote:wimboot_architecture">wimboot architecture guide</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 id="troubleshooting">Troubleshooting</h2>
|
||||||
|
<div class="level2">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Try adding the commands <code><a href="/cmd/imgstat" class="wikilink1" title="cmd:imgstat">imgstat</a></code> and <code><a href="/cmd/prompt" class="wikilink1" title="cmd:prompt">prompt</a></code> to your iPXE script, to allow you to check that all of the files have loaded correctly. For example:
|
||||||
|
</p>
|
||||||
|
<pre class="code"> #!ipxe
|
||||||
|
kernel wimboot
|
||||||
|
initrd boot/bcd BCD
|
||||||
|
initrd boot/boot.sdi boot.sdi
|
||||||
|
initrd sources/boot.wim boot.wim
|
||||||
|
imgstat
|
||||||
|
prompt
|
||||||
|
boot</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Check that only the expected files are present in the list. You may need to use the <code><a href="/cmd/imgfree" class="wikilink1" title="cmd:imgfree">imgfree</a></code> command to discard any unwanted files.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can also try adding the <code>pause</code> command-line option for <code>wimboot</code>. For example:
|
||||||
|
</p>
|
||||||
|
<pre class="code"> kernel wimboot pause</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
This will instruct <code>wimboot</code> to wait for a keypress before booting Windows, to give you a further opportunity to observe any messages that may be displayed.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you are unable to resolve your problem, then you can <a href="/contact" class="wikilink1" title="contact">contact</a> the iPXE developers and other iPXE users.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- ......... wikipage stop ......... -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="clearer"></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- footer -->
|
||||||
|
<div class="stylefoot">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="bar" id="bar__bottom">
|
||||||
|
<!-- page metadata -->
|
||||||
|
<div class="meta">
|
||||||
|
<div class="doc">
|
||||||
|
<bdi>wimboot.txt</bdi> · Last modified: 2021/04/30 11:01 by <bdi>mcb30</bdi> </div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- page actions -->
|
||||||
|
<div class="bar-left" id="bar__bottomleft">
|
||||||
|
<form class="button btn_login" method="get" action="/wimboot"><div class="no"><input type="hidden" name="do" value="login" /><input type="hidden" name="sectok" value="" /><button type="submit" title="Log In">Log In</button></div></form> </div>
|
||||||
|
|
||||||
|
<!-- search form -->
|
||||||
|
<div class="bar-right" id="bar__bottomright">
|
||||||
|
<div class="searchbox">
|
||||||
|
<form action="/start" method="get" role="search" class="search doku_form" id="dw__search" accept-charset="utf-8"><input type="hidden" name="do" value="search" /><input type="hidden" name="id" value="wimboot" /><div class="no"><input name="q" type="text" class="edit" title="[F]" accesskey="f" placeholder="Search" autocomplete="on" id="qsearch__in" value="" /><button value="1" type="submit" title="Search">Search</button><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form> </div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="clearer"></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="footerinc">
|
||||||
|
|
||||||
|
<a href="/feed.php" title="Recent changes RSS feed"><img src="/lib/tpl/doogiestpl/images/button-rss.png" width="80" height="15" alt="Recent changes RSS feed" /></a>
|
||||||
|
|
||||||
|
<a href="http://creativecommons.org/licenses/by-sa/4.0/" rel="license"><img src="/lib/images/license/button/cc-by-sa.png" alt="CC Attribution-Share Alike 4.0 International" /></a>
|
||||||
|
<a href="https://dokuwiki.org/" title="Driven by DokuWiki"><img src="/lib/tpl/doogiestpl/images/button-dw.png" width="80" height="15" alt="Driven by DokuWiki" /></a>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- mcb30 - added CC attribution footer -->
|
||||||
|
<div class="dokuwiki">
|
||||||
|
<div class="meta">
|
||||||
|
<div class="doc">
|
||||||
|
All uses of this content must include an attribution to the iPXE
|
||||||
|
project and the URL https://ipxe.org
|
||||||
|
</div>
|
||||||
|
<div class="doc">
|
||||||
|
References to "iPXE" may not be altered or removed.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="no">
|
||||||
|
<img src="/lib/exe/indexer.php?id=wimboot&1681392702" width="2" height="1" alt="" /></div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@@ -7,5 +7,5 @@ cat ./resources/default-full | \
|
|||||||
sed -e "s/__NFSSERVERIP__/${NFSSERVERIP}/g" \
|
sed -e "s/__NFSSERVERIP__/${NFSSERVERIP}/g" \
|
||||||
-e "s/__MENUTITLE__/${MENUTUTLE}/g" \
|
-e "s/__MENUTITLE__/${MENUTUTLE}/g" \
|
||||||
-e "s/__MENUBACKGROUND__/${MENUBACKGROUND}/g" > ${TFTP}/pxelinux.cfg/default
|
-e "s/__MENUBACKGROUND__/${MENUBACKGROUND}/g" > ${TFTP}/pxelinux.cfg/default
|
||||||
cp -av ./free ${TFTP}/
|
|
||||||
cp -av ./non-free ${TFTP}/
|
./configure-debian-system.sh
|
11
old-version/generate-minimal-menu.sh
Executable file
11
old-version/generate-minimal-menu.sh
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./settings.sh
|
||||||
|
|
||||||
|
echo "Generating PXE Menu..."
|
||||||
|
cat ./resources/default-minimal | \
|
||||||
|
sed -e "s/__NFSSERVERIP__/${NFSSERVERIP}/g" \
|
||||||
|
-e "s/__MENUTITLE__/${MENUTUTLE}/g" \
|
||||||
|
-e "s/__MENUBACKGROUND__/${MENUBACKGROUND}/g" > ${TFTP}/pxelinux.cfg/default
|
||||||
|
|
||||||
|
./configure-debian-system.sh
|
@@ -1,3 +1,3 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
apt install -y git tftpd-hpa nfs-kernel-server lighttpd ipxe pxelinux syslinux syslinux-common sudo
|
apt install -y git tftpd-hpa nfs-kernel-server lighttpd ipxe pxelinux syslinux syslinux-common sudo p7zip p7zip-full
|
BIN
old-version/resources/albrecht.png
Normal file
BIN
old-version/resources/albrecht.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 407 KiB |
BIN
old-version/resources/debian.jpg
Normal file
BIN
old-version/resources/debian.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 MiB |
212
old-version/resources/default-full
Normal file
212
old-version/resources/default-full
Normal file
@@ -0,0 +1,212 @@
|
|||||||
|
rootprompt 0
|
||||||
|
path bios/
|
||||||
|
default bios/vesamenu.c32
|
||||||
|
TIMEOUT 300
|
||||||
|
|
||||||
|
MENU TITLE __MENUTITLE__
|
||||||
|
MENU BACKGROUND __MENUBACKGROUND__
|
||||||
|
MENU ROWS 15
|
||||||
|
MENU TABMSGROW 20
|
||||||
|
MENU TIMEOUTROW 22
|
||||||
|
|
||||||
|
LABEL disk0
|
||||||
|
localboot 0
|
||||||
|
MENU LABEL Starte von lokaler Platte (Default)
|
||||||
|
|
||||||
|
label -
|
||||||
|
MENU LABEL Live-Systeme: --------------------------
|
||||||
|
MENU DISABLE
|
||||||
|
|
||||||
|
LABEL knx
|
||||||
|
MENU LABEL * Knoppix 9.1 Live, Grafisch, 32Bit
|
||||||
|
KERNEL free/knx/boot/isolinux/linux
|
||||||
|
APPEND nfsdir=__NFSSERVERIP__:/srv/tftp/free/knx nodhcp lang=de ramdisk_size=100000 init=/sbin/init apm=power-off nomce loglevel=1 initrd=free/knx/boot/isolinux/miniroot.gz libata.force=noncq tz=europe/Berlin hpsa.hpsa_allow_any=1 BOOT_IMAGE=knoppix
|
||||||
|
|
||||||
|
MENU BEGIN
|
||||||
|
MENU LABEL * Weitere Optionen...
|
||||||
|
|
||||||
|
LABEL knx
|
||||||
|
MENU LABEL * Knoppix 9.1 Live, Textmodus, 32Bit
|
||||||
|
KERNEL free/knx/boot/isolinux/linux
|
||||||
|
APPEND nfsdir=__NFSSERVERIP__:/srv/tftp/free/knx nodhcp lang=de ramdisk_size=100000 init=/sbin/init apm=power-off nomce loglevel=1 initrd=free/knx/boot/isolinux/miniroot.gz libata.force=noncq tz=Europe/Berlin hpsa.hpsa_allow_any=1 BOOT_IMAGE=knoppix 2
|
||||||
|
|
||||||
|
LABEL slitazfull
|
||||||
|
MENU LABEL * Slitaz Linux Live, Grafisch
|
||||||
|
linux slitaz/boot/bzImage
|
||||||
|
APPEND initrd=slitaz/boot/rootfs4.gz,slitaz/boot/rootfs3.gz,slitaz/boot/rootfs2.gz,slitaz/boot/rootfs1.gz root=/dev/null video=-32 autologin kbd lang=de_DE kmap=de-latin1 tz=Europe/Berlin
|
||||||
|
|
||||||
|
LABEL slitazcore
|
||||||
|
MENU LABEL * Slitaz Linux Live, minimal
|
||||||
|
linux slitaz/boot/bzImage
|
||||||
|
APPEND initrd=slitaz/boot/rootfs4.gz root=/dev/null video=-32 autologin kbd lang=de_DE kmap=de-latin1 tz=Europe/Berlin
|
||||||
|
|
||||||
|
LABEL slitazf
|
||||||
|
MENU LABEL * Slitaz Linux Floppyimage
|
||||||
|
kernel memdisk
|
||||||
|
append initrd=img/floppy-grub4dos
|
||||||
|
|
||||||
|
LABEL zurueck...
|
||||||
|
MENU EXIT
|
||||||
|
MENU END
|
||||||
|
|
||||||
|
label -
|
||||||
|
MENU LABEL Backup & Restore: ----------------------
|
||||||
|
MENU DISABLE
|
||||||
|
|
||||||
|
LABEL rescue
|
||||||
|
MENU LABEL * Rescuezilla Live
|
||||||
|
kernel free/rz/casper/vmlinuz
|
||||||
|
APPEND initrd=free/rz/casper/initrd.lz netboot=nfs root=/dev/nfs ramdisk_size=1500000 ip=dhcp nfsroot=__NFSSERVERIP__:/srv/tftp/free/rz/ boot=casper locale=de_DE keyboard-configuration/layoutcode=de bootkbd=de console-setup/layoutcode=de quiet
|
||||||
|
|
||||||
|
MENU BEGIN
|
||||||
|
MENU LABEL * Weitere Optionen...
|
||||||
|
|
||||||
|
LABEL rescue2
|
||||||
|
MENU LABEL * Rescuezilla Live Fail-Safe
|
||||||
|
kernel free/rz/casper/vmlinuz
|
||||||
|
APPEND initrd=free/rz/casper/initrd.lz netboot=nfs root=/dev/nfs ramdisk_size=1500000 ip=dhcp nfsroot=__NFSSERVERIP__:/srv/tftp/free/rz/ boot=casper locale=de_DE keyboard-configuration/layoutcode=de bootkbd=de console-setup/layoutcode=de xforcevesa nomodeset vga=791 quiet
|
||||||
|
|
||||||
|
LABEL cz
|
||||||
|
MENU LABEL * Clonezilla Live (Ramdisk)
|
||||||
|
KERNEL free/cz/live/vmlinuz
|
||||||
|
APPEND initrd=free/cz/live/initrd.img boot=live username=user union=overlay config components noswap edd=on nomodeset nodmraid locales=de_DE.UTF-8 keyboard-layouts=de-latin-1 ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no net.ifnames=0 nosplash noprompt fetch=tftp://__NFSSERVERIP__/free/cz/live/filesystem.squashfs quiet
|
||||||
|
|
||||||
|
LABEL acr18
|
||||||
|
MENU LABEL * Acronis True Image Home 2018
|
||||||
|
LINUX memdisk
|
||||||
|
INITRD non-free/acronis/acronis2018.iso
|
||||||
|
APPEND iso raw
|
||||||
|
|
||||||
|
LABEL acr14
|
||||||
|
MENU LABEL * Acronis True Image Home 2014
|
||||||
|
LINUX memdisk
|
||||||
|
INITRD non-free/acronis/acronis2014.iso
|
||||||
|
APPEND iso raw
|
||||||
|
|
||||||
|
LABEL acr11
|
||||||
|
MENU LABEL * Acronis True Image Home 2011
|
||||||
|
LINUX memdisk
|
||||||
|
INITRD non-free/acronis/acronis2011.iso
|
||||||
|
APPEND iso raw
|
||||||
|
|
||||||
|
LABEL acr10
|
||||||
|
MENU LABEL * Acronis True Image 2010
|
||||||
|
LINUX memdisk
|
||||||
|
INITRD non-free/acronis/acronis2010.iso
|
||||||
|
APPEND iso raw
|
||||||
|
|
||||||
|
LABEL acr09
|
||||||
|
MENU LABEL * Acronis True Image 2009
|
||||||
|
LINUX memdisk
|
||||||
|
INITRD non-free/acronis/acronis2009.iso
|
||||||
|
APPEND iso raw
|
||||||
|
|
||||||
|
LABEL zurueck...
|
||||||
|
MENU EXIT
|
||||||
|
MENU END
|
||||||
|
|
||||||
|
label -
|
||||||
|
MENU LABEL Installer: ------------------------------
|
||||||
|
MENU DISABLE
|
||||||
|
|
||||||
|
MENU BEGIN
|
||||||
|
MENU LABEL * Linux Installer...
|
||||||
|
|
||||||
|
LABEL deb12
|
||||||
|
MENU LABEL * Debian 12 Installer 64Bit Textmodus
|
||||||
|
CONFIG free/deb-bookworm/debian-installer/amd64/pxelinux.cfg/default
|
||||||
|
APPEND free/deb-bookworm/
|
||||||
|
LABEL deb12
|
||||||
|
MENU LABEL * Debian 12 Installer 32Bit Textmodus
|
||||||
|
CONFIG free/deb-bookworm/debian-installer/i386/pxelinux.cfg/default
|
||||||
|
APPEND free/deb-bookworm/
|
||||||
|
|
||||||
|
LABEL deb11
|
||||||
|
MENU LABEL * Debian 11 Installer 64Bit Textmodus
|
||||||
|
CONFIG free/deb-bullseye/debian-installer/amd64/pxelinux.cfg/default
|
||||||
|
APPEND free/deb-bullseye/
|
||||||
|
LABEL deb11
|
||||||
|
MENU LABEL * Debian 11 Installer 32Bit Textmodus
|
||||||
|
CONFIG free/deb-bullseye/debian-installer/i386/pxelinux.cfg/default
|
||||||
|
APPEND free/deb-bullseye/
|
||||||
|
|
||||||
|
LABEL zurueck...
|
||||||
|
MENU EXIT
|
||||||
|
MENU END
|
||||||
|
|
||||||
|
MENU BEGIN
|
||||||
|
MENU LABEL * Windows Installer...
|
||||||
|
|
||||||
|
LABEL win10
|
||||||
|
MENU LABEL * Windows 10
|
||||||
|
KERNEL memdisk
|
||||||
|
INITRD non-free/windows/winpe.iso
|
||||||
|
APPEND iso raw
|
||||||
|
|
||||||
|
LABEL win10
|
||||||
|
MENU LABEL * Windows 10 iPXE Test
|
||||||
|
KERNEL ipxe.lkrn
|
||||||
|
APPEND dhcp && chain non-free/wimboot.ipxe
|
||||||
|
|
||||||
|
LABEL zurueck...
|
||||||
|
MENU EXIT
|
||||||
|
MENU END
|
||||||
|
|
||||||
|
label -
|
||||||
|
MENU LABEL Boot- & System-Tools: --------------------
|
||||||
|
MENU DISABLE
|
||||||
|
|
||||||
|
LABEL hdt
|
||||||
|
MENU LABEL * Hardware Erkennung
|
||||||
|
COM32 bios/hdt.c32
|
||||||
|
|
||||||
|
LABEL memtestpl
|
||||||
|
MENU LABEL * Memtest86+
|
||||||
|
kernel free/memtest86+
|
||||||
|
|
||||||
|
MENU BEGIN
|
||||||
|
MENU LABEL * Weitere Optionen...
|
||||||
|
|
||||||
|
label sbm
|
||||||
|
MENU LABEL * Smart Boot Manager
|
||||||
|
kernel memdisk
|
||||||
|
append initrd=free/sbm.imz
|
||||||
|
|
||||||
|
LABEL plop
|
||||||
|
MENU LABEL * PloP Boot Manager
|
||||||
|
kernel free/plop.exe
|
||||||
|
|
||||||
|
LABEL ipxe
|
||||||
|
MENU LABEL * iPXE Shell
|
||||||
|
KERNEL ipxe.lkrn dhcp && shell
|
||||||
|
|
||||||
|
LABEL memtest
|
||||||
|
MENU LABEL * Memtest86
|
||||||
|
kernel free/memtest86
|
||||||
|
|
||||||
|
LABEL fdos
|
||||||
|
MENU LABEL * iPXE FreeDOS Live-CD
|
||||||
|
KERNEL ipxe.lkrn dhcp && sanboot http://__NFSSERVERIP__/free/FD13LIVE.iso
|
||||||
|
|
||||||
|
LABEL fdos
|
||||||
|
MENU LABEL * FreeDOS Bootdisk
|
||||||
|
KERNEL memdisk
|
||||||
|
APPEND initrd=free/FD13BOOT.img
|
||||||
|
|
||||||
|
label win98
|
||||||
|
MENU LABEL * Windows 98 Bootdisk (DOS 7)
|
||||||
|
kernel memdisk
|
||||||
|
append initrd=non-free/win98.img
|
||||||
|
|
||||||
|
label ether
|
||||||
|
MENU LABEL * Etherboot
|
||||||
|
kernel memdisk
|
||||||
|
append initrd=free/ether.img
|
||||||
|
|
||||||
|
LABEL zurueck...
|
||||||
|
MENU EXIT
|
||||||
|
MENU END
|
||||||
|
|
||||||
|
# interessante optionen...
|
||||||
|
# rescuezilla: APPEND initrd=rescue/initrd.lz boot=live noswap fetch=tftp://__NFSSERVERIP__:/rescue/filesystem.squashfs toram ---
|
||||||
|
|
@@ -3,8 +3,8 @@ path bios
|
|||||||
default bios/vesamenu.c32
|
default bios/vesamenu.c32
|
||||||
TIMEOUT 300
|
TIMEOUT 300
|
||||||
|
|
||||||
MENU TITLE PXE Bootserver
|
MENU TITLE PXE __MENUTITLE__
|
||||||
MENU BACKGROUND splash.png
|
MENU BACKGROUND __MENUBACKGROUND__
|
||||||
|
|
||||||
LABEL disk0
|
LABEL disk0
|
||||||
localboot 0
|
localboot 0
|
||||||
@@ -22,5 +22,9 @@ LABEL demo
|
|||||||
KERNEL ipxe.lkrn dhcp && chain http://boot.ipxe.org/demo/boot.php
|
KERNEL ipxe.lkrn dhcp && chain http://boot.ipxe.org/demo/boot.php
|
||||||
|
|
||||||
LABEL fdos
|
LABEL fdos
|
||||||
MENU LABEL * iPXE FreeDOS over HTTP
|
MENU LABEL * iPXE FreeDOS over HTTP and Internet
|
||||||
KERNEL ipxe.lkrn dhcp && sanboot http://boot.ipxe.org/freedos/fdfullcd.iso
|
KERNEL ipxe.lkrn dhcp && sanboot http://boot.ipxe.org/freedos/fdfullcd.iso
|
||||||
|
|
||||||
|
LABEL fdos
|
||||||
|
MENU LABEL * iPXE FreeDOS over HTTP Local Server
|
||||||
|
KERNEL ipxe.lkrn dhcp && sanboot http://__NFSSERVERIP__/free/FD13LIVE.iso
|
BIN
old-version/resources/horizon.jpg
Normal file
BIN
old-version/resources/horizon.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 297 KiB |
BIN
old-version/resources/knx-miniroot.gz
Normal file
BIN
old-version/resources/knx-miniroot.gz
Normal file
Binary file not shown.
BIN
old-version/resources/ostnet.png
Executable file
BIN
old-version/resources/ostnet.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 276 KiB |
16
old-version/resources/smb.conf
Normal file
16
old-version/resources/smb.conf
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
[global]
|
||||||
|
workgroup = PXE
|
||||||
|
map to guest = bad user
|
||||||
|
usershare allow guests = yes
|
||||||
|
|
||||||
|
[tftp]
|
||||||
|
browsable = true
|
||||||
|
read only = yes
|
||||||
|
guest ok = yes
|
||||||
|
path = /srv/tftp
|
||||||
|
|
||||||
|
[windows]
|
||||||
|
browsable = true
|
||||||
|
read only = yes
|
||||||
|
guest ok = yes
|
||||||
|
path = /srv/tftp/non-free/windows
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
14
old-version/resources/tgt.win10.conf
Normal file
14
old-version/resources/tgt.win10.conf
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# create new
|
||||||
|
|
||||||
|
# if you set some devices, add <target>-</target> and set the same way with follows
|
||||||
|
# naming rule : [ iqn.(year)-(month).(reverse of domain name):(any name you like) ]
|
||||||
|
|
||||||
|
<target iqn.1975-11.tld.ostrach:win10dvd>
|
||||||
|
# provided devicce as a iSCSI target
|
||||||
|
backing-store /root/pxe-bootserver/temp/Windows10_21H2_2021-11-18.iso
|
||||||
|
# iSCSI Initiator's IQN you allow to connect
|
||||||
|
#initiator-name iqn.2021-08.world.srv:node01.initiator01
|
||||||
|
# authentication info ( set anyone you like for "username", "password" )
|
||||||
|
#incominguser username password
|
||||||
|
</target>
|
||||||
|
|
11
old-version/resources/wimboot.ipxe
Normal file
11
old-version/resources/wimboot.ipxe
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#!ipxe
|
||||||
|
prompt --key 0x02 --timeout 2000 Press Ctrl-B for the iPXE command line... && shell ||
|
||||||
|
|
||||||
|
set keep-san 1
|
||||||
|
sanhook http://192.168.75.3/non-free/windows
|
||||||
|
|
||||||
|
kernel free/wimboot
|
||||||
|
initrd boot/bcd BCD
|
||||||
|
initrd boot/boot.sdi boot.sdi
|
||||||
|
initrd http://192.168.75.3/non-free/windows/sources/boot.wim boot.wim
|
||||||
|
boot
|
14
old-version/resources/winpestart.bat
Normal file
14
old-version/resources/winpestart.bat
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
echo Init Network...
|
||||||
|
wpeinit
|
||||||
|
|
||||||
|
echo Mount CIFS-Share with Windows 10 DVD...
|
||||||
|
net use z: \\__NFSSERVERIP__\windows
|
||||||
|
z:
|
||||||
|
|
||||||
|
echo Start Windows Setup...
|
||||||
|
setup.exe
|
||||||
|
|
||||||
|
pause
|
||||||
|
|
22
old-version/runall.sh
Executable file
22
old-version/runall.sh
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./settings.sh
|
||||||
|
|
||||||
|
# 1. install needed debian packages:
|
||||||
|
./install-debian-packages.sh
|
||||||
|
|
||||||
|
# 2. configure debian system
|
||||||
|
./configure-debian-system.sh
|
||||||
|
|
||||||
|
# 3. configure full system menu
|
||||||
|
./generate-full-menu.sh
|
||||||
|
#./generate-minimal-menu.sh
|
||||||
|
|
||||||
|
# 4. download free stuff (knoppix...)
|
||||||
|
./download-free.sh
|
||||||
|
|
||||||
|
# 5. download windows stuff
|
||||||
|
./configure-windows-pxeboot.sh
|
||||||
|
|
||||||
|
# 6. rerun some settings...
|
||||||
|
./configure-debian-system.sh
|
10
old-version/settings.sh
Executable file
10
old-version/settings.sh
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
TFTP=/srv/tftp
|
||||||
|
NFSSERVERIP=192.168.75.3
|
||||||
|
|
||||||
|
MENUTUTLE="Sample Title Text"
|
||||||
|
MENUBACKGROUND="splash.png"
|
||||||
|
|
||||||
|
USERID=technik
|
||||||
|
GROUPID=technik
|
27
old-version/todo.md
Normal file
27
old-version/todo.md
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
# To Do...
|
||||||
|
|
||||||
|
* Modular pxelinux menu:
|
||||||
|
* split menu in parts: Knoppix, Rescuezilla, Acronis, etc.
|
||||||
|
* use settings.sh as configuration file, e.g. MENU_KNOPPIX=YES or MENU_NON-FREE=NO
|
||||||
|
* create template files in ./resources: menu-knoppix.cfg, menu-rescuezilla.cfg
|
||||||
|
* use INCLUDE command if possible https://wiki.syslinux.org/wiki/index.php?title=Menu#INCLUDE
|
||||||
|
* read settings.sh and parse templates to fill in variables
|
||||||
|
|
||||||
|
|
||||||
|
* iSCSI Target:
|
||||||
|
* apt install tgt
|
||||||
|
* zless /usr/share/doc/tgt/README.iscsi.gz
|
||||||
|
* tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2020-11.tld.ostrach:target1
|
||||||
|
* tgtadm --lld iscsi --op show --mode target
|
||||||
|
* tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/hdc1
|
||||||
|
* tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
|
||||||
|
|
||||||
|
* https://www.server-world.info/en/note?os=Debian_11&p=iscsi&f=2
|
||||||
|
* http://etherboot.org/wiki/sanboot
|
||||||
|
* https://ipxe.org/howto/winpe
|
||||||
|
|
||||||
|
1. install tgt
|
||||||
|
2. parse settings.sh and create tgt config files to:
|
||||||
|
3. a Windows 10 DVD target (.iso under /srv/tftp/non-free/windows10.iso)
|
||||||
|
|
||||||
|
Remeber: Check if a iSCSI Tape-Target could be used to trick a Tape Backup Software to use HardDisks as Tapes
|
@@ -1,174 +0,0 @@
|
|||||||
rootprompt 0
|
|
||||||
path bios/
|
|
||||||
default bios/vesamenu.c32
|
|
||||||
TIMEOUT 300
|
|
||||||
|
|
||||||
MENU TITLE __MENUTITLE__
|
|
||||||
MENU BACKGROUND __MENUBACKGROUND__
|
|
||||||
MENU ROWS 15
|
|
||||||
MENU TABMSGROW 20
|
|
||||||
MENU TIMEOUTROW 22
|
|
||||||
|
|
||||||
LABEL disk0
|
|
||||||
localboot 0
|
|
||||||
MENU LABEL Starte von lokaler Platte (Default)
|
|
||||||
|
|
||||||
label -
|
|
||||||
MENU LABEL Live-Systeme: --------------------------
|
|
||||||
MENU DISABLE
|
|
||||||
|
|
||||||
LABEL knx9g
|
|
||||||
MENU LABEL * Knoppix 9.1 Live, Grafisch
|
|
||||||
KERNEL knx9/linux
|
|
||||||
APPEND nfsdir=__NFSSERVERIP__:/srv/knx9 nodhcp lang=de ramdisk_size=100000 init=/sbin/init apm=power-off nomce loglevel=1 initrd=knx9/miniroot.gz libata.force=noncq tz=localtime hpsa.hpsa_allow_any=1 hpsa.hpsa_allow_any=1 BOOT_IMAGE=knoppix
|
|
||||||
|
|
||||||
MENU BEGIN
|
|
||||||
MENU LABEL * Weitere Optionen...
|
|
||||||
|
|
||||||
LABEL knx9t
|
|
||||||
MENU LABEL * Knoppix 9.1 Live, Textmode
|
|
||||||
KERNEL knx9/linux
|
|
||||||
APPEND nfsdir=__NFSSERVERIP__:/srv/knx9 nodhcp lang=de ramdisk_size=100000 init=/sbin/init apm=power-off nomce loglevel=1 initrd=knx9/miniroot.gz libata.force=noncq tz=localtime hpsa.hpsa_allow_any=1 hpsa.hpsa_allow_any=1 BOOT_IMAGE=knoppix 2
|
|
||||||
|
|
||||||
LABEL slitazfull
|
|
||||||
MENU LABEL * Slitaz Linux Live, Grafisch
|
|
||||||
linux slitaz/boot/bzImage
|
|
||||||
APPEND initrd=slitaz/boot/rootfs4.gz,slitaz/boot/rootfs3.gz,slitaz/boot/rootfs2.gz,slitaz/boot/rootfs1.gz root=/dev/null video=-32 autologin kbd lang=de_DE kmap=de-latin1 tz=Europe/Berlin
|
|
||||||
|
|
||||||
LABEL slitazcore
|
|
||||||
MENU LABEL * Slitaz Linux Live, minimal
|
|
||||||
linux slitaz/boot/bzImage
|
|
||||||
APPEND initrd=slitaz/boot/rootfs4.gz root=/dev/null video=-32 autologin kbd lang=de_DE kmap=de-latin1 tz=Europe/Berlin
|
|
||||||
|
|
||||||
LABEL slitazf
|
|
||||||
MENU LABEL * Slitaz Linux Floppyimage
|
|
||||||
kernel memdisk
|
|
||||||
append initrd=img/floppy-grub4dos
|
|
||||||
|
|
||||||
LABEL zurueck...
|
|
||||||
MENU EXIT
|
|
||||||
MENU END
|
|
||||||
|
|
||||||
label -
|
|
||||||
MENU LABEL Backup & Restore: ----------------------
|
|
||||||
MENU DISABLE
|
|
||||||
|
|
||||||
LABEL rescue
|
|
||||||
MENU LABEL * Rescuezilla Live
|
|
||||||
kernel rescue/vmlinuz
|
|
||||||
APPEND initrd=rescue/initrd.lz netboot=nfs root=/dev/nfs ramdisk_size=1500000 ip=dhcp nfsroot=__NFSSERVERIP__:/srv/rescue boot=casper locale=de_DE keyboard-configuration/layoutcode=de bootkbd=de console-setup/layoutcode=de quiet
|
|
||||||
|
|
||||||
MENU BEGIN
|
|
||||||
MENU LABEL * Weitere Optionen...
|
|
||||||
|
|
||||||
LABEL rescue2
|
|
||||||
MENU LABEL * Rescuezilla Live Fail-Safe
|
|
||||||
kernel rescue/vmlinuz
|
|
||||||
APPEND initrd=rescue/initrd.lz netboot=nfs root=/dev/nfs ramdisk_size=1500000 ip=dhcp nfsroot=__NFSSERVERIP__:/srv/rescue boot=casper locale=de_DE keyboard-configuration/layoutcode=de bootkbd=de> xforcevesa nomodeset vga=791 quiet
|
|
||||||
|
|
||||||
LABEL clonei686
|
|
||||||
MENU LABEL * Clonezilla Live i686 (Ramdisk)
|
|
||||||
KERNEL clone/vmlinuz.i686
|
|
||||||
APPEND initrd=clone/initrd.i686.img boot=live username=user union=overlay config components noswap edd=on nomodeset nodmraid locales=de_DE.UTF-8 keyboard-layouts=de-latin-1 ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no net.ifnames=0 nosplash noprompt fetch=tftp://__NFSSERVERIP__/clone/filesystem.i686.squashfs quiet
|
|
||||||
|
|
||||||
LABEL clonex64
|
|
||||||
MENU LABEL * Clonezilla Live x64 (Ramdisk)
|
|
||||||
KERNEL clone/vmlinuz.x64
|
|
||||||
APPEND initrd=clone/initrd.x64.img boot=live username=user union=overlay config components noswap edd=on nomodeset nodmraid locales=de_DE.UTF-8 keyboard-layouts=de-latin-1 ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no net.ifnames=0 nosplash noprompt fetch=tftp://__NFSSERVERIP__/clone/filesystem.x64.squashfs quiet
|
|
||||||
|
|
||||||
LABEL acr11
|
|
||||||
MENU LABEL * Acronis True Image Home 2011
|
|
||||||
LINUX memdisk
|
|
||||||
INITRD non-free/acronis/acronis2011.iso
|
|
||||||
APPEND iso raw
|
|
||||||
|
|
||||||
LABEL acr10
|
|
||||||
MENU LABEL * Acronis True Image 2010
|
|
||||||
LINUX memdisk
|
|
||||||
INITRD non-free/acronis/acronis2010.iso
|
|
||||||
APPEND iso raw
|
|
||||||
|
|
||||||
LABEL acr09
|
|
||||||
MENU LABEL * Acronis True Image 2009
|
|
||||||
LINUX memdisk
|
|
||||||
INITRD non-free/acronis/acronis2009.iso
|
|
||||||
APPEND iso raw
|
|
||||||
|
|
||||||
LABEL zurueck...
|
|
||||||
MENU EXIT
|
|
||||||
MENU END
|
|
||||||
|
|
||||||
label -
|
|
||||||
MENU LABEL Installer: ------------------------------
|
|
||||||
MENU DISABLE
|
|
||||||
|
|
||||||
MENU BEGIN
|
|
||||||
MENU LABEL * Debian Installer...
|
|
||||||
|
|
||||||
LABEL deb
|
|
||||||
menu label * Debian 12 Installer 64Bit Textmodus
|
|
||||||
kernel deb/linux
|
|
||||||
append vga=788 initrd=deb/initrd.gz --- quiet
|
|
||||||
|
|
||||||
LABEL deb64
|
|
||||||
MENU LABEL * Debian 11 Installer 64Bit Textmodus
|
|
||||||
CONFIG deb/debian-installer/amd64/pxelinux.cfg/default
|
|
||||||
APPEND deb/
|
|
||||||
LABEL deb32
|
|
||||||
MENU LABEL * Debian 11 Installer 32Bit Textmodus
|
|
||||||
CONFIG deb/debian-installer/i386/pxelinux.cfg/default
|
|
||||||
APPEND deb/
|
|
||||||
|
|
||||||
LABEL zurueck...
|
|
||||||
MENU EXIT
|
|
||||||
MENU END
|
|
||||||
|
|
||||||
label -
|
|
||||||
MENU LABEL Boot- & System-Tools: --------------------
|
|
||||||
MENU DISABLE
|
|
||||||
|
|
||||||
LABEL hdt
|
|
||||||
MENU LABEL * Hardware Erkennung
|
|
||||||
COM32 bios/hdt.c32
|
|
||||||
|
|
||||||
LABEL memtestpl
|
|
||||||
MENU LABEL * Memtest86+
|
|
||||||
kernel free/memtest86+
|
|
||||||
|
|
||||||
MENU BEGIN
|
|
||||||
MENU LABEL * Weitere Optionen...
|
|
||||||
|
|
||||||
label sbm
|
|
||||||
MENU LABEL * Smart Boot Manager
|
|
||||||
kernel memdisk
|
|
||||||
append initrd=free/sbm.imz
|
|
||||||
|
|
||||||
LABEL plop
|
|
||||||
MENU LABEL * PloP Boot Manager
|
|
||||||
kernel free/plop.exe
|
|
||||||
|
|
||||||
LABEL ipxe
|
|
||||||
MENU LABEL * iPXE Shell
|
|
||||||
KERNEL ipxe.lkrn dhcp && shell
|
|
||||||
|
|
||||||
LABEL memtest
|
|
||||||
MENU LABEL * Memtest86
|
|
||||||
kernel free/memtest86
|
|
||||||
|
|
||||||
label win98
|
|
||||||
MENU LABEL * Windows 98 Bootdisk (DOS 7)
|
|
||||||
kernel memdisk
|
|
||||||
append initrd=non-free/win98.img
|
|
||||||
|
|
||||||
label ether
|
|
||||||
MENU LABEL * Etherboot
|
|
||||||
kernel memdisk
|
|
||||||
append initrd=free/ether.img
|
|
||||||
|
|
||||||
LABEL zurueck...
|
|
||||||
MENU EXIT
|
|
||||||
MENU END
|
|
||||||
|
|
||||||
# interessante optionen...
|
|
||||||
# rescuezilla: APPEND initrd=rescue/initrd.lz boot=live noswap fetch=tftp://__NFSSERVERIP__:/rescue/filesystem.squashfs toram ---
|
|
||||||
|
|
25
resrc.d/default-minimal.txt
Normal file
25
resrc.d/default-minimal.txt
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
rootprompt 0
|
||||||
|
path bios
|
||||||
|
default bios/vesamenu.c32
|
||||||
|
#TIMEOUT 300
|
||||||
|
|
||||||
|
MENU TITLE Minimal PXE Bootmenue
|
||||||
|
|
||||||
|
LABEL disk0
|
||||||
|
localboot 0
|
||||||
|
MENU LABEL Boot from first Harddisk
|
||||||
|
|
||||||
|
LABEL -
|
||||||
|
MENU LABEL --------------------------
|
||||||
|
|
||||||
|
LABEL ipxe
|
||||||
|
MENU LABEL * iPXE Shell
|
||||||
|
KERNEL ipxe dhcp && shell
|
||||||
|
|
||||||
|
LABEL demo
|
||||||
|
MENU LABEL * iPXE Demonstration
|
||||||
|
KERNEL ipxe dhcp && chain http://boot.ipxe.org/demo/boot.php
|
||||||
|
|
||||||
|
LABEL fdos
|
||||||
|
MENU LABEL * iPXE FreeDOS over HTTP and Internet
|
||||||
|
KERNEL ipxe dhcp && sanboot http://boot.ipxe.org/freedos/fdfullcd.iso
|
11
resrc.d/service_nfs_exports.txt
Normal file
11
resrc.d/service_nfs_exports.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# /etc/exports: the access control list for filesystems which may be exported
|
||||||
|
# to NFS clients. See exports(5).
|
||||||
|
#
|
||||||
|
# Example for NFSv2 and NFSv3:
|
||||||
|
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
|
||||||
|
#
|
||||||
|
# Example for NFSv4:
|
||||||
|
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
|
||||||
|
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
|
||||||
|
#
|
||||||
|
__D_TFTP__ *(ro,nohide,no_root_squash,no_subtree_check,insecure)
|
19
resrc.d/service_smb.conf.txt
Normal file
19
resrc.d/service_smb.conf.txt
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
[global]
|
||||||
|
workgroup = PXE
|
||||||
|
map to guest = bad user
|
||||||
|
usershare allow guests = yes
|
||||||
|
|
||||||
|
[tftp]
|
||||||
|
browsable = true
|
||||||
|
read only = false
|
||||||
|
guest ok = yes
|
||||||
|
force user = root
|
||||||
|
path = __D_TFTP__
|
||||||
|
|
||||||
|
[rootdir]
|
||||||
|
browsable = true
|
||||||
|
read only = false
|
||||||
|
guest ok = yes
|
||||||
|
force user = root
|
||||||
|
path = /root
|
||||||
|
|
68
settings.sh
68
settings.sh
@@ -1,8 +1,68 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
TFTP=/srv/tftp
|
#
|
||||||
NFSSERVERIP=192.168.75.3
|
# Global Settings
|
||||||
|
#
|
||||||
|
|
||||||
|
# The location of all the TFTP stuff
|
||||||
|
D_TFTP=/srv/tftp
|
||||||
|
|
||||||
|
# Full path of this project:
|
||||||
|
D_ROOTDIR=/root/pxe-bootserver
|
||||||
|
D_RESRC=${D_ROOTDIR}/resrc.d
|
||||||
|
|
||||||
|
# the ip and FQDN for this server
|
||||||
|
HOST_IP=192.168.75.3
|
||||||
|
HOST_FQDN=tftp.ostrach.tld
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Functions
|
||||||
|
#
|
||||||
|
|
||||||
|
fservice (){
|
||||||
|
# $1 is enabled yes/no
|
||||||
|
# $2 is the command
|
||||||
|
# $3 is the program name
|
||||||
|
# $4 is a list of packages
|
||||||
|
|
||||||
|
if [ "$1" = "yes" ] || [ "$1" = "YES" ]; then
|
||||||
|
echo "$3 is enabled:"
|
||||||
|
case $2 in
|
||||||
|
# INIT
|
||||||
|
# Install needed Debian Packages:
|
||||||
|
init)
|
||||||
|
echo " installing: $4"
|
||||||
|
apt install -y $4
|
||||||
|
;;
|
||||||
|
start)
|
||||||
|
if ! [ "$3" = "none" ]; then
|
||||||
|
echo " starting $3 ..."
|
||||||
|
systemctl start $3
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
if ! [ "$3" = "none" ]; then
|
||||||
|
echo " stopping $3 ..."
|
||||||
|
systemctl stop $3
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
if ! [ "$3" = "none" ]; then
|
||||||
|
echo " restarting $3 ..."
|
||||||
|
systemctl restart $3
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
echo "$3 is disabled. "
|
||||||
|
if ! [ "$3" = "none" ]; then
|
||||||
|
systemctl stop $3
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
MENUTUTLE="Sample Title Text"
|
|
||||||
MENUBACKGROUND="splash.png"
|
|
||||||
|
|
||||||
|
135
todo.md
Normal file
135
todo.md
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
# To Do...
|
||||||
|
|
||||||
|
# Modular Approach
|
||||||
|
|
||||||
|
## Folder Structure
|
||||||
|
|
||||||
|
* main.sh
|
||||||
|
* ./services
|
||||||
|
* main
|
||||||
|
* tftpd-hpa
|
||||||
|
* plugin.sh
|
||||||
|
* config.sh
|
||||||
|
* ./templates
|
||||||
|
* ./build
|
||||||
|
* nfs
|
||||||
|
* samba
|
||||||
|
* iscsi / tgt
|
||||||
|
* lighthttpd
|
||||||
|
* ./menues
|
||||||
|
* ./pxelinux
|
||||||
|
* plugin.sh
|
||||||
|
* config.sh
|
||||||
|
* ./templates
|
||||||
|
* ./build
|
||||||
|
* ./ipxe
|
||||||
|
* ./custom-made
|
||||||
|
* ./plugins
|
||||||
|
* Knoppix
|
||||||
|
* plugin.sh
|
||||||
|
* config.sh
|
||||||
|
* ./templates
|
||||||
|
* ./build
|
||||||
|
* ./resources
|
||||||
|
* ./downloads
|
||||||
|
* ./temp
|
||||||
|
* Rescuezilla
|
||||||
|
* FreeDOS
|
||||||
|
* Clonezilla
|
||||||
|
|
||||||
|
## Structure
|
||||||
|
|
||||||
|
### main.sh
|
||||||
|
* drives all actions:
|
||||||
|
* init - bootstrap the bare minimum: debian packages, config files, etc.
|
||||||
|
* build - build all enabled plugins: trigger downloads, file processing
|
||||||
|
* build-all - build even disabled plugins
|
||||||
|
* start / stop / restart - handle services
|
||||||
|
* points all plugins to source global variables from ./services/main (could be changed!)
|
||||||
|
* provides global variables:
|
||||||
|
* IP / Hostname
|
||||||
|
|
||||||
|
### ./services
|
||||||
|
* make services modular
|
||||||
|
* plugin.sh
|
||||||
|
* manages all actions: downloads, file processing, template parsing
|
||||||
|
* config.sh
|
||||||
|
* holds plugin specific variables
|
||||||
|
* ./main
|
||||||
|
* configure settings:
|
||||||
|
* variables
|
||||||
|
* tftp root dir
|
||||||
|
* hook: pxelinux or ipxe menus? so plugins could provide matching menue entries
|
||||||
|
* ./tftp-hpa and other services:
|
||||||
|
* templates for config files
|
||||||
|
|
||||||
|
### ./menues
|
||||||
|
* make modular menues
|
||||||
|
* branding
|
||||||
|
* which menue to use: menu.c32 or vesamenu.c32, even use iPXE menues (may be broken by plugins)
|
||||||
|
* create menu sections: (maybe a kind of hook for plugin-types?)
|
||||||
|
* put plugins into sections
|
||||||
|
* types: livesystem, rescue, tools, installer, etc.
|
||||||
|
* priority: sort stanzas
|
||||||
|
|
||||||
|
### ./plugins
|
||||||
|
* plugin contains all needed files
|
||||||
|
* plugin.sh
|
||||||
|
* manages all actions: downloads, file processing, template parsing
|
||||||
|
* config.sh
|
||||||
|
* plugin name
|
||||||
|
* enabled: y/n
|
||||||
|
* type: rescue, os, installer (must be one of the menue hooks)
|
||||||
|
* depends: nfs, samba, etc.
|
||||||
|
* plugin specific variables and settings
|
||||||
|
|
||||||
|
# Central config file approach
|
||||||
|
|
||||||
|
a main script with a conf.d/ directory. config files are sorted by numbers
|
||||||
|
and special names: menu_20_pxelinux.conf, service_10_nfs.conf, plugin_30_knoppix.conf
|
||||||
|
each .conf file contains the needed variables
|
||||||
|
|
||||||
|
the main script can select files by name (menu,service,plugin) and sort them by number
|
||||||
|
for the desired lineup.
|
||||||
|
|
||||||
|
menu* files build the menu and processes all plugin* files to fill the menu
|
||||||
|
|
||||||
|
### File structure
|
||||||
|
|
||||||
|
* main.sh
|
||||||
|
* ./conf.d/
|
||||||
|
* menu_10_default.conf
|
||||||
|
* service_10_tftp.conf
|
||||||
|
* plugin_10_knoppix.conf
|
||||||
|
* plugin_20_rescuezilla.conf
|
||||||
|
|
||||||
|
### menu*.conf
|
||||||
|
* find all enabled plugins and read them in a sorted array
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* Modular pxelinux menu:
|
||||||
|
* split menu in parts: Knoppix, Rescuezilla, Acronis, etc.
|
||||||
|
* use settings.sh as configuration file, e.g. MENU_KNOPPIX=YES or MENU_NON-FREE=NO
|
||||||
|
* create template files in ./resources: menu-knoppix.cfg, menu-rescuezilla.cfg
|
||||||
|
* use INCLUDE command if possible https://wiki.syslinux.org/wiki/index.php?title=Menu#INCLUDE
|
||||||
|
* read settings.sh and parse templates to fill in variables
|
||||||
|
|
||||||
|
|
||||||
|
* iSCSI Target:
|
||||||
|
* apt install tgt
|
||||||
|
* zless /usr/share/doc/tgt/README.iscsi.gz
|
||||||
|
* tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2020-11.tld.ostrach:target1
|
||||||
|
* tgtadm --lld iscsi --op show --mode target
|
||||||
|
* tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/hdc1
|
||||||
|
* tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
|
||||||
|
|
||||||
|
* https://www.server-world.info/en/note?os=Debian_11&p=iscsi&f=2
|
||||||
|
* http://etherboot.org/wiki/sanboot
|
||||||
|
* https://ipxe.org/howto/winpe
|
||||||
|
|
||||||
|
1. install tgt
|
||||||
|
2. parse settings.sh and create tgt config files to:
|
||||||
|
3. a Windows 10 DVD target (.iso under /srv/tftp/non-free/windows10.iso)
|
||||||
|
|
||||||
|
Remeber: Check if a iSCSI Tape-Target could be used to trick a Tape Backup Software to use HardDisks as Tapes
|
Reference in New Issue
Block a user