From 8382eb648fe51db07a0a20d413f61d4a46ab6131 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 17 Jul 2017 13:55:55 +0200 Subject: pkg/kernel: actually pass cmdline/sysctl files to the build script --- pkg/kernel/generated.go | 6 ++++-- pkg/kernel/kernel.go | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'pkg/kernel') diff --git a/pkg/kernel/generated.go b/pkg/kernel/generated.go index a3d0ffcd6..ba84757c4 100644 --- a/pkg/kernel/generated.go +++ b/pkg/kernel/generated.go @@ -38,7 +38,8 @@ echo "debugfs /sys/kernel/debug debugfs defaults 0 0" | sudo tee -a disk.mnt/etc echo "kernel.printk = 7 4 1 3" | sudo tee -a disk.mnt/etc/sysctl.conf echo "debug.exception-trace = 0" | sudo tee -a disk.mnt/etc/sysctl.conf -if [ -f $SYZ_SYSCTL_FILE ]; then +SYZ_SYSCTL_FILE="${SYZ_SYSCTL_FILE:-}" +if [ "$SYZ_SYSCTL_FILE" != "" ]; then cat $SYZ_SYSCTL_FILE | sudo tee -a disk.mnt/etc/sysctl.conf fi @@ -54,7 +55,8 @@ sudo chown root disk.mnt/root/.ssh/authorized_keys sudo mkdir -p disk.mnt/boot/grub CMDLINE="" -if [ -f $SYZ_CMDLINE_FILE ]; then +SYZ_CMDLINE_FILE="${SYZ_CMDLINE_FILE:-}" +if [ "$SYZ_CMDLINE_FILE" != "" ]; then CMDLINE=$(awk '{printf("%s ", $0)}' $SYZ_CMDLINE_FILE) fi diff --git a/pkg/kernel/kernel.go b/pkg/kernel/kernel.go index 5b97715b4..2b2f99b7d 100644 --- a/pkg/kernel/kernel.go +++ b/pkg/kernel/kernel.go @@ -82,7 +82,12 @@ func CreateImage(kernelDir, userspaceDir, cmdlineFile, sysctlFile, image, sshkey return fmt.Errorf("failed to write script file: %v", err) } bzImage := filepath.Join(kernelDir, filepath.FromSlash("arch/x86/boot/bzImage")) - if _, err := osutil.RunCmd(time.Hour, tempDir, scriptFile, userspaceDir, bzImage); err != nil { + env := []string{ + "SYZ_CMDLINE_FILE=" + osutil.Abs(cmdlineFile), + "SYZ_SYSCTL_FILE=" + osutil.Abs(sysctlFile), + } + _, err = osutil.RunCmdEnv(time.Hour, env, tempDir, scriptFile, userspaceDir, bzImage) + if err != nil { return fmt.Errorf("image build failed: %v", err) } if err := osutil.CopyFile(filepath.Join(tempDir, "disk.raw"), image); err != nil { -- cgit mrf-deployment