With curly braces, environment variables will be be passed as one string (one argument) to the command, making it impossible to pass more than one optional argument to kexec, see also http://0pointer.de/public/systemd-man/systemd.service.html#Command%20lines diff --git a/sys-apps/kexec-tools/files/kexec.service b/sys-apps/kexec-tools/files/kexec.service index 289aae0..c387310 100644 --- a/sys-apps/kexec-tools/files/kexec.service +++ b/sys-apps/kexec-tools/files/kexec.service @@ -9,8 +9,8 @@ ConditionPathExists=!/nokexec Type=oneshot RemainAfterExit=yes EnvironmentFile=/etc/kexec.conf -ExecStart=/usr/sbin/kexec -l /boot/${KNAME} ${KEXEC_OPT_ARGS} -ExecStop=/usr/sbin/kexec -l /boot/${KNAME} ${KEXEC_OPT_ARGS} +ExecStart=/usr/sbin/kexec -l /boot/${KNAME} $KEXEC_OPT_ARGS +ExecStop=/usr/sbin/kexec -l /boot/${KNAME} $KEXEC_OPT_ARGS [Install] WantedBy=multi-user.target
if you use systemd, feel free to commit changes to service files