aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/build/android.go
Commit message (Collapse)AuthorAgeFilesLines
* all: replace Walk with WalkDir to reduce os.Lstat callsGofastasf2025-01-301-3/+4
| | | | | | | | filepath.Walk calls os.Lstat for every file or directory to retrieve os.FileInfo. filepath.WalkDir avoids unnecessary system calls since it provides a fs.DirEntry, which includes file type information without requiring a stat call. This improves performance by reducing redundant system calls.
* pkg/build: use the build environment in clean() callsFlorent Revest2024-10-141-3/+3
| | | | | | This unifies the build() and clean() interfaces such that if a custom compiler or make binary is provided in the manager or bisection config, they can be taken into account by the clean() interface.
* pkg/build/cuttlefish: copy module objectsLiz Prucka2024-09-141-2/+2
| | | | | Copy Cuttlefish module objects to be used in coverage report generation.
* pkg/build: pass additional flags from Android build configKris Alder2024-03-081-28/+22
| | | | | | | | | | | | | | More recent Android kernels may not use the DEFCONFIG_FRAGMENT and BUILD_TARGET environment variables. Instead, they may require passing additional flags the build script. This allows specifying those additional flags and makes the previously-required (and no longer used) configuration fields optional. The older values can now be set via the new EnvVars field when needed. We also need to look for the `autoconf.h` file in a different location. This can now be configured using the `autoconf_path` configuration field.
* pkg/build: copy unstripped module object files for PixelLiz Prucka2024-02-051-0/+29
| | | | | Copy unstripped module files in the output directory to be stored in the object dir, to be used when generating module coverage.
* all: use special placeholder for errorsTaras Madan2023-07-241-13/+13
|
* pkg/build: added build configs for androidLiz Prucka2023-03-241-7/+41
| | | | | | | | Added config structure in build/Android to allow specifying specific Android targets. Build config is optional and extensible for individual build instances.
* pkg/build: add build code for Android devicesKris Alder2023-03-081-0/+133
| | | | | | | | | Booting physical Android devices requires building a few artifacts, as described at https://source.android.com/docs/setup/build/building-kernels. When a ProxyVM type is used, we need to differentiate whether or not to use the Android build logic, so we add an additional mapping which uses a different name but the same VM logic.
* pkg/build: rename android.go to cuttlefish.goKris Alder2023-02-131-160/+0
| | | | | | Building images for physical Android devices has different logic and options and should be in separate files. This makes it less ambiguous and frees up android.go for Android device code.
* pkg/build: added bazel build for androidLiz Prucka2023-02-101-9/+32
| | | | | | | | Added functionality to build with bazel instead of 'build.sh', as 'build.sh' is being depreciated. Checks the branch information from 'build.config.constants' file and uses Bazel for android14+.
* pkg/build: update kernel headers pathLiz Prucka2023-01-261-1/+1
| | | | The upstream kernel headers path was changed to the dist directory.
* pkg/build: add kernel config to output dir for androidKris Alder2022-11-031-5/+11
| | | | | | 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: don't call fetch_cvd for Android instancesKris Alder2022-08-251-4/+0
| | | | | | Since the worker instances don't have network access, they won't be able to download the Cuttlefish packages using this. Instead, we'll have to pre-install the Cuttlefish tools in the GCE image.
* pkg/build: copy android kernel to obj/vmlinuxKris Alder2022-06-291-2/+2
| | | | | | | Since it wasn't copied here, SyzCI would fail during image testing with "failed to open ELF file: .../obj/vmlinux: ... no such file or directory"
* pkg/build: support debug tracingDmitry Vyukov2022-06-241-1/+1
| | | | | | Add ability to trace build process and save debug artefacts. Add tracing of ELF signature calculation. Useful for debugging of #2297.
* pkg/build: fix typo for android/cuttlefish buildKris Alder2022-06-241-1/+1
| | | | | The command to fetch a Cuttlefish emulator binary is 'fetch_cvd', with and underscore.
* pkg/build: refactor cuttlefish image code to embedFiles()Kris Alder2022-05-061-4/+65
| | | | | | Since most of the image mounting code is duplicated, we can instead extract it to an embedFiles() function that takes a callback. The Linux- or Android-specific code can be in the callback.
* pkg/build: build Android kernel and embed in Cuttlefish imageKris Alder2022-05-061-0/+74
Android uses some config files (specified with the BUILD_CONFIG environment variable) to configure kernel builds. KASan configurations already exist. We want to mount the image, install a new Cuttlefish emulator binary (using fetch_cvd) and copy over the kernel that we've built.