From 1e8f8245a299be2487dc1cca1956709b27062d9d Mon Sep 17 00:00:00 2001 From: torben Date: Thu, 19 Nov 2015 14:02:03 +0100 Subject: Add openslx configuration parameter. --- builder/dnbd3-rootfs/hooks/cmdline/enable-sysrq.sh | 2 +- .../prepare-kernel-command-line-parameter.sh | 37 +++++++++++++--------- .../cmdline/set-dracut-environment-variables.sh | 4 +-- .../dnbd3-rootfs/hooks/pre-mount/fetch-config.sh | 2 +- dev-tools/openslxTFTPRoot/pxelinux.cfg/default | 4 +-- dev-tools/virtualBoxTFTPRoot/pxelinux.cfg/default | 3 +- 6 files changed, 29 insertions(+), 23 deletions(-) diff --git a/builder/dnbd3-rootfs/hooks/cmdline/enable-sysrq.sh b/builder/dnbd3-rootfs/hooks/cmdline/enable-sysrq.sh index f779aa7a..30b12ea0 100755 --- a/builder/dnbd3-rootfs/hooks/cmdline/enable-sysrq.sh +++ b/builder/dnbd3-rootfs/hooks/cmdline/enable-sysrq.sh @@ -1,2 +1,2 @@ -# enables magic sysrq keys +# Enables magic sysrq kernel supported key combinations. echo 1 > /proc/sys/kernel/sysrq diff --git a/builder/dnbd3-rootfs/hooks/cmdline/prepare-kernel-command-line-parameter.sh b/builder/dnbd3-rootfs/hooks/cmdline/prepare-kernel-command-line-parameter.sh index 6d6b9950..5f62a8cd 100755 --- a/builder/dnbd3-rootfs/hooks/cmdline/prepare-kernel-command-line-parameter.sh +++ b/builder/dnbd3-rootfs/hooks/cmdline/prepare-kernel-command-line-parameter.sh @@ -1,10 +1,13 @@ -command -v warn >/dev/null || . /lib/dracut-lib.sh +command -v warn &> /dev/null || . /lib/dracut-lib.sh -# fakes the cmdline to fix the ip parsing in darcut's net-lib.sh -[ -d /fake ] || mkdir /fake - -# need to be a tmpfs for the hack to work -mount -t tmpfs tmpfs /fake +set -e +# This location will be used to have a writable kernel command line file +# location. +local writeable_proc_cmdline_path='/writable_proc_cmdline/' +mkdir --parents "$writeable_proc_cmdline_path" +# NOTE: The fake writeable overlay have to be a temporary filesystem for the +# hack to work. +mount --types tmpfs tmpfs "$writeable_proc_cmdline_path" for parameter in $(getargs ip=); do local temp="$parameter:" @@ -19,16 +22,20 @@ for parameter in $(getargs ip=); do [ -n "$3" ] && gateway_ip=$3 [ -n "$4" ] && net_mask=$4 - warn "PXE given net configuration: ip: $ip server_ip: $server_ip gateway_ip: $gateway_ip net_mask: $net_mask" - local final_dracut_ip_config="$ip::$gateway_ip:$net_mask::enp0s3:off" - warn "Final dracut ip config: $final_dracut_ip_config" - sed --regexp-extended "s/ip=[^ ]*/ip=$final_dracut_ip_config/g" /proc/cmdline > /fake/cmdline + info "PXE given net configuration: ip: $ip server_ip: $server_ip gateway_ip: $gateway_ip net_mask: $net_mask" + local final_dracut_ip_configuration="$ip::$gateway_ip:$net_mask::enp0s3:off" + info "Final dracut ip configuration is: $final_dracut_ip_configuration" + sed --regexp-extended "s/ip=[^ ]*/ip=$final_dracut_ip_configuration/g" \ + /proc/cmdline > "${writeable_proc_cmdline_path}cmdline" done +mount --options bind /fake/cmdline /proc/cmdline -# bind mount it. Can we trust mount return codes here? -# # if so, we should check what we get in $? -mount -o bind /fake/cmdline /proc/cmdline +for parameter in $(getargs slxsrv=); do + slxsrv="$parameter" +done +for parameter in $(getargs slxbase=); do + slxbase="$parameter" +done -grep ':enp0s3:off' /proc/cmdline || \ - warn 'Overwriting kernel commandline did not work.' +set +e diff --git a/builder/dnbd3-rootfs/hooks/cmdline/set-dracut-environment-variables.sh b/builder/dnbd3-rootfs/hooks/cmdline/set-dracut-environment-variables.sh index 6deeb78f..c47af818 100755 --- a/builder/dnbd3-rootfs/hooks/cmdline/set-dracut-environment-variables.sh +++ b/builder/dnbd3-rootfs/hooks/cmdline/set-dracut-environment-variables.sh @@ -1,5 +1,5 @@ -# set rootok and root as dracut expects them to be set by -# the module preparing the root filesystem. +# Set rootok and root as dracut expects them to be set by the module preparing +# the root filesystem. rootok=1 root=block:/dev/devicemapper/root diff --git a/builder/dnbd3-rootfs/hooks/pre-mount/fetch-config.sh b/builder/dnbd3-rootfs/hooks/pre-mount/fetch-config.sh index 91662d6c..e0987711 100755 --- a/builder/dnbd3-rootfs/hooks/pre-mount/fetch-config.sh +++ b/builder/dnbd3-rootfs/hooks/pre-mount/fetch-config.sh @@ -1,4 +1,4 @@ -# Load dracut library if not already loaded. +# Load dracUT library if not already loaded. command -v getarg >/dev/null || . /lib/dracut-lib.sh # read SLX_SERVER and SLX_BASE from the kernel command line diff --git a/dev-tools/openslxTFTPRoot/pxelinux.cfg/default b/dev-tools/openslxTFTPRoot/pxelinux.cfg/default index 530ffa56..3f8c998f 100755 --- a/dev-tools/openslxTFTPRoot/pxelinux.cfg/default +++ b/dev-tools/openslxTFTPRoot/pxelinux.cfg/default @@ -62,7 +62,7 @@ LABEL net MENU LABEL ^Dracut TEST Torben KERNEL http://132.230.4.201:8080/vmlinuz-linux INITRD http://132.230.4.201:8080/initramfs-test.img - APPEND root=PARTLABEL=system rw rootflags=subvol=root loglevel=2 acpi_osi="!Windows 2012" rd.info rd.break vconsole.font=latarcyrheb-sun16 vconsole.keymap=de slxsrv=132.230.4.2 slxbase=boot/openslx-kiosk vga=current + APPEND root=PARTLABEL=system rw rootflags=subvol=root loglevel=2 acpi_osi="!Windows 2012" rd.info rd.break vconsole.font=latarcyrheb-sun16 vconsole.keymap=de slxsrv=132.230.4.2 slxbase=/ vga=current IPAPPEND 3 MENU DEFAULT @@ -70,6 +70,6 @@ LABEL net MENU LABEL ^Dracut TEST Janosch KERNEL http://132.230.4.202:8080/vmlinuz-linux INITRD http://132.230.4.202:8080/initramfs-test.img - APPEND root=PARTLABEL=system rw rootflags=subvol=root loglevel=2 acpi_osi="!Windows 2012" rd.info rd.break vconsole.font=latarcyrheb-sun16 vconsole.keymap=de slxsrv=132.230.4.2 slxbase=boot/openslx-kiosk vga=current + APPEND root=PARTLABEL=system rw rootflags=subvol=root loglevel=2 acpi_osi="!Windows 2012" rd.info rd.break vconsole.font=latarcyrheb-sun16 vconsole.keymap=de slxsrv=132.230.4.2 slxbase=/ vga=current IPAPPEND 3 MENU DEFAULT diff --git a/dev-tools/virtualBoxTFTPRoot/pxelinux.cfg/default b/dev-tools/virtualBoxTFTPRoot/pxelinux.cfg/default index 02fac4d6..9785b1a7 100644 --- a/dev-tools/virtualBoxTFTPRoot/pxelinux.cfg/default +++ b/dev-tools/virtualBoxTFTPRoot/pxelinux.cfg/default @@ -8,8 +8,7 @@ MENU TITLE My PXE Boot Menu LABEL arch MENU LABEL ^arch network boot KERNEL /vmlinuz-linux -APPEND initrd=/initramfs-test.img root=PARTLABEL=system rw rootflags=subvol=root quiet loglevel=2 acpi_osi="!Windows 2012" rd.info rd.break ip=10.0.2.15:132.230.4.6:10.0.2.2:255.255.255.0 vconsole.font=latarcyrheb-sun16 vconsole.keymap=de slxsrv=132.230.4.2 slxbase=boot/openslx-kiosk vga=current -# BOOTIF=01-00-19-99-f7-fa-f4 +APPEND initrd=/initramfs-test.img root=PARTLABEL=system rw rootflags=subvol=root loglevel=2 acpi_osi="!Windows 2012" rd.info rd.break ip=10.0.2.15:132.230.4.6:10.0.2.2:255.255.255.0 vconsole.font=latarcyrheb-sun16 vconsole.keymap=de slxsrv=132.230.4.2 slxbase=/ vga=current LABEL BootNormal MENU LABEL ^Boot Normal (HDD) -- cgit v1.2.3-55-g7522 From c9e62c710efb9df363ed5720623937cfed670400 Mon Sep 17 00:00:00 2001 From: torben Date: Thu, 19 Nov 2015 16:38:24 +0100 Subject: Fixed pxe boot and add example pxe config file. --- dev-tools/example-openslx.config | 33 ++++++++++++++++++++++++++ dev-tools/openslxTFTPRoot/pxelinux.cfg/default | 4 ++-- 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 dev-tools/example-openslx.config diff --git a/dev-tools/example-openslx.config b/dev-tools/example-openslx.config new file mode 100644 index 00000000..6a0512d2 --- /dev/null +++ b/dev-tools/example-openslx.config @@ -0,0 +1,33 @@ +LX_VM_NFS='132.230.4.1:/mnt/lehrpools/dnbd3' + +SLX_REMOTE_LOG='http://132.230.8.113/slxadmin/api.php?do=clientlog' +SLX_REMOTE_LOG_SESSIONS='anonymous' +SLX_SMARTCTL_MIN_REALLOC='32' + +SLX_REBOOT_SCHEDULE='05:30' + +SLX_PROXY_MODE='off' +SLX_PROXY_IP='132.230.1.172' +SLX_PROXY_PORT='1080' +SLX_PROXY_TYPE='socks4' +SLX_PROXY_BLACKLIST='132.230.0.0/16' + +SLX_NTP_SERVER='time.uni-freiburg.de' +SLX_BIOS_CLOCK='local' + +SLX_NET_DOMAIN='lp.ruf.uni-freiburg.de' + +SLX_DNBD3_SERVERS='132.230.8.113 132.230.4.60 132.230.4.1' +SLX_VM_DNBD3='yes' + +SLX_ADDONS='vmware' +SLX_STAGE4='dnbd3 stage4/freiburg/xubuntu_1404_64' +SLX_STAGE4_RID='22' + +SLX_VMCHOOSER_BASE_URL="http://mltk.boot.openslx.org" + +SLX_ROOT_PASS='$6$rtewmYT9$mDlKP.zRmsCl41X0odlwfcOyj4PwLylDXiCWpXpdnGhLIALkpcxSBmj3Jn0iHFm1Vhvxx7jh5FIylWXbf0iAr1' + +#SLX_SHARE_0_PATH='//sunfs3.public.ads.uni-freiburg.de/lehrpool' +#SLX_SHARE_0_PERM='rw' +#SLX_SHARE_0_AUTH_TYPE='pam' diff --git a/dev-tools/openslxTFTPRoot/pxelinux.cfg/default b/dev-tools/openslxTFTPRoot/pxelinux.cfg/default index 3f8c998f..03555094 100755 --- a/dev-tools/openslxTFTPRoot/pxelinux.cfg/default +++ b/dev-tools/openslxTFTPRoot/pxelinux.cfg/default @@ -62,7 +62,7 @@ LABEL net MENU LABEL ^Dracut TEST Torben KERNEL http://132.230.4.201:8080/vmlinuz-linux INITRD http://132.230.4.201:8080/initramfs-test.img - APPEND root=PARTLABEL=system rw rootflags=subvol=root loglevel=2 acpi_osi="!Windows 2012" rd.info rd.break vconsole.font=latarcyrheb-sun16 vconsole.keymap=de slxsrv=132.230.4.2 slxbase=/ vga=current + APPEND root=PARTLABEL=system rw rootflags=subvol=root loglevel=2 acpi_osi="!Windows 2012" rd.info rd.break vconsole.font=latarcyrheb-sun16 vconsole.keymap=de slxsrv=132.230.4.201 slxbase=/ vga=current IPAPPEND 3 MENU DEFAULT @@ -70,6 +70,6 @@ LABEL net MENU LABEL ^Dracut TEST Janosch KERNEL http://132.230.4.202:8080/vmlinuz-linux INITRD http://132.230.4.202:8080/initramfs-test.img - APPEND root=PARTLABEL=system rw rootflags=subvol=root loglevel=2 acpi_osi="!Windows 2012" rd.info rd.break vconsole.font=latarcyrheb-sun16 vconsole.keymap=de slxsrv=132.230.4.2 slxbase=/ vga=current + APPEND root=PARTLABEL=system rw rootflags=subvol=root loglevel=2 acpi_osi="!Windows 2012" rd.info rd.break vconsole.font=latarcyrheb-sun16 vconsole.keymap=de slxsrv=132.230.4.202 slxbase=/ vga=current IPAPPEND 3 MENU DEFAULT -- cgit v1.2.3-55-g7522