1#! /bin/sh 2 3# Configuration: Live systems using signed kernel 4# ----------------------------------------------- 5# 6SYSKSIGNED= \ 7 64-dktoolian-bullseye-cli-root \ 8 64-dktoolian-bullseye-gnome 9 10# Configuration: Live systems using unsigned kernel 11# ------------------------------------------------- 12# 13SYSKUNSIGNED= \ 14 64-disklessian-bullseye-gnome 15 16 17# Check for setup file, use if available. 18# --------------------------------------- 19# 20if [ -f /etc/default/tftpd-hpa ] 21then 22 . /etc/default/tftpd-hpa 23fi 24 25 26# Use values found in setup files, default values otherwise 27# --------------------------------------------------------- 28# 29if [ "X${TFTP_DIRECTORY}" = "X" ] 30then 31 TFTPROOT=/var/lib/tftpboot 32 # TFTPROOT=/srv/tftp 33else 34 TFTPROOT="${TFTP_DIRECTORY}" 35fi 36 37 38# Link all files from current directory to specified destination directory 39# ------------------------------------------------------------------------ 40# parameter: Destination directory name 41# ------------------------------------------------------------------------ 42# 43link_to_dir() { 44 local i 45 for i in `find . -type d` 46 do 47 if [ ! -d "$1/$i" ] 48 then 49 echo 'I: Create directory' $1/$i 50 mkdir -p "$1/$i" 51 chmod 755 "$1/$i" 52 fi 53 done 54 for i in `find . -type f` 55 do 56 if [ -f "$1/$i" ] 57 then 58 echo 'W: File' $i already exists in $1 59 else 60 echo 'I: Link file' $i to $1 61 ln "$i" "$1/$i" 62 fi 63 done 64} 65 66 67# Clean up BIOS 68# ------------- 69# 70rm -fr ${TFTPROOT}/BIOS/* 71 72# Rebuild BIOS 73# ------------ 74# 75cd ${TFTPROOT}/DATA/BIOS-BASE 76link_to_dir ${TFTPROOT}/BIOS 77cd ${TFTPROOT}/DATA/LINUX-LIVE/linux-live 78link_to_dir ${TFTPROOT}/BIOS 79 80for j in ${SYSKSIGNED} ${SYSKUNSIGNED} 81do 82 mkdir -p "${TFTPROOT}/BIOS/$j" 83 cd ${TFTPROOT}/DATA/BIOS-BASE 84 link_to_dir "${TFTPROOT}/BIOS/$j" 85 if [ -d "${TFTPROOT}/DATA/LINUX-LIVE/$j" ] 86 then 87 cd "${TFTPROOT}/DATA/LINUX-LIVE/$j" 88 link_to_dir "${TFTPROOT}/BIOS/$j" 89 else 90 echo 'E: Directory not found:' ${TFTPROOT}/DATA/LINUX-LIVE/$j 91 fi 92done 93 94 95 96# Clean up UEFI SYSLINUX 97# ---------------------- 98# 99rm -fr ${TFTPROOT}/UEFI/SYSL/* 100 101# Rebuild UEFI SYSLINUX 102# --------------------- 103# 104cd ${TFTPROOT}/DATA/UEFI-SYSL-BASE 105link_to_dir ${TFTPROOT}/UEFI/SYSL 106cd ${TFTPROOT}/DATA/LINUX-LIVE/linux-live 107link_to_dir ${TFTPROOT}/UEFI/SYSL 108 109for j in ${SYSKSIGNED} ${SYSKUNSIGNED} 110do 111 mkdir -p "${TFTPROOT}/UEFI/SYSL/$j" 112 cd ${TFTPROOT}/DATA/UEFI-SYSL-BASE 113 link_to_dir "${TFTPROOT}/UEFI/SYSL/$j" 114 if [ -d "${TFTPROOT}/DATA/LINUX-LIVE/$j" ] 115 then 116 cd "${TFTPROOT}/DATA/LINUX-LIVE/$j" 117 link_to_dir "${TFTPROOT}/UEFI/SYSL/$j" 118 else 119 echo 'E: Directory not found:' ${TFTPROOT}/DATA/LINUX-LIVE/$j 120 fi 121done 122 123 124# Clean up UEFI GRUB 125# ------------------ 126# 127rm -fr ${TFTPROOT}/UEFI/GRUB/* 128rm -fr ${TFTPROOT}/grub 129 130# Rebuild UEFI GRUB 131# ----------------- 132# 133cd ${TFTPROOT}/DATA/UEFI-GRUB-BASE 134link_to_dir ${TFTPROOT}/UEFI/GRUB 135cd ${TFTPROOT}/DATA/LINUX-LIVE/linux-live 136link_to_dir ${TFTPROOT}/UEFI/GRUB 137 138for j in ${SYSKSIGNED} 139do 140 mkdir -p "${TFTPROOT}/UEFI/GRUB/$j" 141 # cd ${TFTPROOT}/DATA/UEFI-GRUB-BASE 142 # link_to_dir "${TFTPROOT}/UEFI/GRUB/$j" 143 if [ -d "${TFTPROOT}/DATA/LINUX-LIVE/$j" ] 144 then 145 cd "${TFTPROOT}/DATA/LINUX-LIVE/$j" 146 link_to_dir "${TFTPROOT}/UEFI/GRUB/$j/grub" 147 else 148 echo 'E: Directory not found:' ${TFTPROOT}/DATA/LINUX-LIVE/$j 149 fi 150done 151 152mkdir ${TFTPROOT}/grub 153cd ${TFTPROOT}/DATA/UEFI-GRUB-BASE/grub 154link_to_dir ${TFTPROOT}/grub 155cd ${TFTPROOT}/DATA/UEFI-GRUB-BASE/grub/x86_64-efi 156link_to_dir ${TFTPROOT}/grub 157cd ${TFTPROOT}/DATA/UEFI-GRUB-BASE/grub 158for i in *.pf2 159do 160 if [ ! -f "${TFTPROOT}/grub/$i" ] 161 then 162 ln "$i" ${TFTPROOT}/grub 163 fi 164done 165ln ${TFTPROOT}/DATA/UEFI-GRUB-ROOT/grub.cfg ${TFTPROOT}/grub 166 167