From 16bf04fa63b3b02c6b04741e2ac2284d839a3b10 Mon Sep 17 00:00:00 2001 From: Kris Alder Date: Tue, 1 Nov 2022 10:28:34 -0700 Subject: pkg/build: add kernel config to output dir for android The directories the Android build scripts write to are controlled by environment variables. This defines the OUT_DIR variable so that we can get the .config file and copy it to the output directory. --- pkg/build/android.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'pkg/build/android.go') diff --git a/pkg/build/android.go b/pkg/build/android.go index 3a809ba8b..504522978 100644 --- a/pkg/build/android.go +++ b/pkg/build/android.go @@ -25,7 +25,7 @@ type android struct{} func (a android) runBuild(kernelDir, buildConfig string) error { cmd := osutil.Command("build/build.sh") cmd.Dir = kernelDir - cmd.Env = append(cmd.Env, "DIST_DIR=out/dist", fmt.Sprintf("BUILD_CONFIG=%s", buildConfig)) + cmd.Env = append(cmd.Env, "OUT_DIR=out", "DIST_DIR=dist", fmt.Sprintf("BUILD_CONFIG=%s", buildConfig)) _, err := osutil.Run(time.Hour, cmd) return err @@ -82,10 +82,13 @@ func (a android) build(params Params) (ImageDetails, error) { return details, fmt.Errorf("failed to build modules: %s", err) } - buildOutDir := filepath.Join(params.KernelDir, "out", "dist") - bzImage := filepath.Join(buildOutDir, "bzImage") - vmlinux := filepath.Join(buildOutDir, "vmlinux") - initramfs := filepath.Join(buildOutDir, "initramfs.img") + buildDistDir := filepath.Join(params.KernelDir, "dist") + bzImage := filepath.Join(buildDistDir, "bzImage") + vmlinux := filepath.Join(buildDistDir, "vmlinux") + initramfs := filepath.Join(buildDistDir, "initramfs.img") + + buildOutDir := filepath.Join(params.KernelDir, "out") + config := filepath.Join(buildOutDir, "common", ".config") var err error details.CompilerID, err = a.readCompiler(filepath.Join(buildOutDir, "kernel-headers.tar.gz")) @@ -117,6 +120,9 @@ func (a android) build(params Params) (ImageDetails, error) { if err := osutil.CopyFile(initramfs, filepath.Join(params.OutputDir, "obj", "initrd")); err != nil { return details, err } + if err := osutil.CopyFile(config, filepath.Join(params.OutputDir, "kernel.config")); err != nil { + return details, err + } details.Signature, err = elfBinarySignature(vmlinux, params.Tracer) if err != nil { -- cgit mrf-deployment