feature: workbench pxe #2

Merged
pedro merged 83 commits from pxe into main 2024-09-28 02:19:31 +00:00
3 changed files with 15 additions and 12 deletions
Showing only changes of commit 23f1bc7717 - Show all commits

View file

@ -1,5 +1,4 @@
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_images_path='/srv/pxe-images' nfs_path='/srv/pxe-nfs'
nfs_wbdata_path='/srv/workbench-data'

View file

@ -24,16 +24,15 @@ backup_file() {
install_nfs() { install_nfs() {
backup_file /etc/exports backup_file /etc/exports
cat > /etc/exports <<END cat > /etc/exports <<END
${nfs_images_path} ${nfs_allowed_lan}(rw,sync,no_subtree_check,no_root_squash) ${nfs_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_images_path}/live" mkdir -p "${nfs_path}/live"
mkdir -p "${nfs_wbdata_path}/snapshots" mkdir -p "${nfs_path}/snapshots"
if [ ! -f "${nfs_wbdata_path}/settings.ini" ]; then if [ ! -f "${nfs_path}/settings.ini" ]; then
if [ -f "../settings.ini" ]; then if [ -f "settings.ini" ]; then
cp -v ../settings.ini "${nfs_wbdata_path}/settings/settings.ini" ln -sv "${nfs_path}/settings.ini" "settings.ini"
else else
echo "ERROR: ../settings.ini does not exist yet, cannot read config from there. You can take inspiration with file ../settings.ini.example" echo "ERROR: ../settings.ini does not exist yet, cannot read config from there. You can take inspiration with file ../settings.ini.example"
exit 1 exit 1
@ -84,7 +83,7 @@ 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_images_path}/ boot=live text forcepae APPEND ip=dhcp netboot=nfs nfsroot=${server_ip}:${nfs_path}/ boot=live text forcepae
END END
fi fi
} }
@ -101,8 +100,7 @@ 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_images_path="${nfs_images_path:-/srv/pxe-images}" nfs_path="${nfs_path:-/srv/pxe-nfs}"
nfs_wbdata_path="${nfs_wbdata_path:-/srv/pxe-wbdata}"
} }
main() { main() {

6
pxe/settings.ini.example Normal file
View file

@ -0,0 +1,6 @@
[settings]
url = http://127.0.0.1:8000/api/snapshot/
token = '1234'
path = /srv/pxe-nfs/snapshots
# device = your_device_name
# # erase = basic