feature: workbench pxe #2

Merged
pedro merged 83 commits from pxe into main 2024-09-28 02:19:31 +00:00
2 changed files with 18 additions and 6 deletions
Showing only changes of commit 8e4186d9d4 - Show all commits

View File

@ -1,4 +1,5 @@
server_ip=192.168.1.2 server_ip=192.168.1.2
nfs_allowed_lan=192.168.1.0/24 nfs_allowed_lan=192.168.1.0/24
tftp_path='/srv/pxe-tftp' tftp_path='/srv/pxe-tftp'
nfs_path='/srv/pxe-images' nfs_images_path='/srv/pxe-images'
nfs_wbdata_path='/srv/workbench-data'

View File

@ -24,10 +24,21 @@ backup_file() {
install_nfs() { install_nfs() {
backup_file /etc/exports backup_file /etc/exports
cat > /etc/exports <<END cat > /etc/exports <<END
${nfs_path} ${nfs_allowed_lan}(rw,sync,no_subtree_check,no_root_squash) ${nfs_images_path} ${nfs_allowed_lan}(rw,sync,no_subtree_check,no_root_squash)
${nfs_wbdata_path} ${nfs_allowed_lan}(rw,sync,no_subtree_check,no_root_squash)
END END
# append live directory, which is expected by the debian live env # append live directory, which is expected by the debian live env
mkdir -p "${nfs_path}/live" mkdir -p "${nfs_images_path}/live"
mkdir -p "${nfs_wbdata_path}/snapshots"
if [ ! -f "${nfs_wbdata_path}/settings.ini" ]; then
if [ -f "../settings.ini" ]; then
cp -v ../settings.ini "${nfs_wbdata_path}/settings/settings.ini"
else
echo "ERROR: ../settings.ini does not exist yet, cannot read config from there. You can take inspiration with file ../settings.ini.example"
exit 1
fi
fi
} }
install_tftp() { install_tftp() {
@ -71,13 +82,12 @@ default wb
label wb label wb
KERNEL vmlinuz KERNEL vmlinuz
INITRD initrd.img INITRD initrd.img
APPEND ip=dhcp netboot=nfs nfsroot=${server_ip}:${nfs_path}/ boot=live text forcepae APPEND ip=dhcp netboot=nfs nfsroot=${server_ip}:${nfs_images_path}/ boot=live text forcepae
END END
fi fi
} }
init_config() { init_config() {
# get where the script is # get where the script is
cd "$(dirname "${0}")" cd "$(dirname "${0}")"
@ -89,7 +99,8 @@ init_config() {
VERSION_CODENAME="${VERSION_CODENAME:-bookworm}" VERSION_CODENAME="${VERSION_CODENAME:-bookworm}"
tftp_path="${tftp_path:-/srv/pxe-tftp}" tftp_path="${tftp_path:-/srv/pxe-tftp}"
server_ip="${server_ip}" server_ip="${server_ip}"
nfs_path="${nfs_path:-/srv/pxe-images}" nfs_images_path="${nfs_images_path:-/srv/pxe-images}"
nfs_wbdata_path="${nfs_wbdata_path:-/srv/pxe-wbdata}"
} }
main() { main() {