From fc8dd9e2f2cbd6226c460d2634dbe2e34f361bb8 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 15 Jul 2018 10:40:19 +0200 Subject: [PATCH] reboot: use cmdline from boot/cmdline.txt For bootonly updates, switching to the inactive root partition is incorrect. --- reboot_amd64.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/reboot_amd64.go b/reboot_amd64.go index bdcf246..25fd1d8 100644 --- a/reboot_amd64.go +++ b/reboot_amd64.go @@ -33,14 +33,13 @@ func kexecReboot() error { return err } defer kernel.Close() - cmdline, err := ioutil.ReadFile("/proc/cmdline") + cmdline, err := ioutil.ReadFile(filepath.Join(tmpdir, "cmdline.txt")) if err != nil { return err } - rep := rootRe.ReplaceAllLiteral(cmdline, []byte("root="+rootdev.MustFind()+inactiveRootPartition)) // NUL-terminate cmdline - cmdlinebuf := make([]byte, len(rep)+1) - copy(cmdlinebuf, rep) + cmdlinebuf := make([]byte, len(cmdline)+1) + copy(cmdlinebuf, cmdline) _, _, errno := unix.Syscall6( unix.SYS_KEXEC_FILE_LOAD, uintptr(kernel.Fd()), // kernel_fd