aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/kernel
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-07-17 13:55:55 +0200
committerDmitry Vyukov <dvyukov@google.com>2017-07-17 14:45:41 +0200
commit8382eb648fe51db07a0a20d413f61d4a46ab6131 (patch)
treede73078c4d77938026e9c5887419c6f9ddb7c108 /pkg/kernel
parent7cdb3c70f79c9c898630629402e10b8a1c6cf3ca (diff)
pkg/kernel: actually pass cmdline/sysctl files to the build script
Diffstat (limited to 'pkg/kernel')
-rw-r--r--pkg/kernel/generated.go6
-rw-r--r--pkg/kernel/kernel.go7
2 files changed, 10 insertions, 3 deletions
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 {