Compare commits
2 Commits
fa4c94be2f
...
a59968a9a0
Author | SHA1 | Date |
---|---|---|
pedro | a59968a9a0 | |
pedro | 07e581c847 |
|
@ -46,14 +46,14 @@ backup_file() {
|
|||
|
||||
install_nfs() {
|
||||
# append live directory, which is expected by the debian live env
|
||||
mkdir -p "${nfs_path}/live"
|
||||
mkdir -p "${nfs_path}/snapshots"
|
||||
${SUDO} mkdir -p "${nfs_path}/live"
|
||||
${SUDO} mkdir -p "${nfs_path}/snapshots"
|
||||
|
||||
# debian live nfs path is readonly, do a trick
|
||||
# to make snapshots subdir readwrite
|
||||
if ! grep -q "/snapshots" /proc/mounts; then
|
||||
mkdir -p "/snapshots"
|
||||
mount --bind "${nfs_path}/snapshots" "/snapshots"
|
||||
${SUDO} mkdir -p "/snapshots"
|
||||
${SUDO} mount --bind "${nfs_path}/snapshots" "/snapshots"
|
||||
fi
|
||||
|
||||
backup_file /etc/exports
|
||||
|
@ -74,7 +74,7 @@ END
|
|||
|
||||
if [ ! -f "${nfs_path}/settings.ini" ]; then
|
||||
if [ -f "settings.ini" ]; then
|
||||
cp settings.ini "${nfs_path}/settings.ini"
|
||||
${SUDO} cp settings.ini "${nfs_path}/settings.ini"
|
||||
else
|
||||
echo "ERROR: $(pwd)/settings.ini does not exist yet, cannot read config from there. You can take inspiration with file $(pwd)/settings.ini.example"
|
||||
exit 1
|
||||
|
@ -100,13 +100,13 @@ END
|
|||
install_netboot() {
|
||||
# if you want to refresh install, remove or move dir
|
||||
if [ ! -d "${tftp_path}" ] || [ "${FORCE:-}" ]; then
|
||||
mkdir -p "${tftp_path}/pxelinux.cfg"
|
||||
cd "${tftp_path}"
|
||||
${SUDO} mkdir -p "${tftp_path}/pxelinux.cfg"
|
||||
if [ ! -f "${tftp_path}/netboot.tar.gz" ]; then
|
||||
wget http://ftp.debian.org/debian/dists/${VERSION_CODENAME}/main/installer-amd64/current/images/netboot/netboot.tar.gz
|
||||
tar xvf netboot.tar.gz || true
|
||||
rm -rf "${tftp_path}/pxelinux.cfg"
|
||||
mkdir -p "${tftp_path}/pxelinux.cfg"
|
||||
url="http://ftp.debian.org/debian/dists/${VERSION_CODENAME}/main/installer-amd64/current/images/netboot/netboot.tar.gz"
|
||||
${SUDO} wget -P "${tftp_path}" "${url}"
|
||||
${SUDO} tar xvf "${tftp_path}/netboot.tar.gz" -C "${tftp_path}"
|
||||
${SUDO} rm -rf "${tftp_path}/pxelinux.cfg"
|
||||
${SUDO} mkdir -p "${tftp_path}/pxelinux.cfg"
|
||||
fi
|
||||
|
||||
${SUDO} cp -fv "${PXE_DIR}/../iso/staging/live/vmlinuz" "${tftp_path}/"
|
||||
|
@ -114,24 +114,10 @@ install_netboot() {
|
|||
|
||||
${SUDO} cp /usr/lib/syslinux/memdisk "${tftp_path}/"
|
||||
${SUDO} cp /usr/lib/syslinux/modules/bios/* "${tftp_path}/"
|
||||
${SUDO} tee "${tftp_path}/pxelinux.cfg/default" <<END
|
||||
DEFAULT menu.c32
|
||||
PROMPT 0
|
||||
TIMEOUT 50
|
||||
ONTIMEOUT wb
|
||||
|
||||
MENU TITLE PXE Boot Menu
|
||||
|
||||
LABEL wb
|
||||
MENU LABEL Boot Workbench
|
||||
KERNEL vmlinuz
|
||||
INITRD initrd
|
||||
APPEND ip=dhcp netboot=nfs nfsroot=${server_ip}:${nfs_path}/ boot=live text forcepae
|
||||
END
|
||||
cd -
|
||||
envsubst < ./pxe-menu.cfg | ${SUDO} tee "${tftp_path}/pxelinux.cfg/default"
|
||||
fi
|
||||
|
||||
rsync -av "${PXE_DIR}/../iso/staging/live/filesystem.squashfs" "${nfs_path}/live/"
|
||||
${SUDO} rsync -av "${PXE_DIR}/../iso/staging/live/filesystem.squashfs" "${nfs_path}/live/"
|
||||
}
|
||||
|
||||
init_config() {
|
||||
|
@ -151,8 +137,9 @@ init_config() {
|
|||
fi
|
||||
VERSION_CODENAME="${VERSION_CODENAME:-bookworm}"
|
||||
tftp_path="${tftp_path:-/srv/pxe-tftp}"
|
||||
server_ip="${server_ip}"
|
||||
nfs_path="${nfs_path:-/srv/pxe-nfs}"
|
||||
# vars used in envsubst require to be exported:
|
||||
export server_ip="${server_ip}"
|
||||
export nfs_path="${nfs_path:-/srv/pxe-nfs}"
|
||||
}
|
||||
|
||||
main() {
|
||||
|
|
Loading…
Reference in New Issue