diff options
Diffstat (limited to 'filesystem/filesystem.go')
-rw-r--r-- | filesystem/filesystem.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/filesystem/filesystem.go b/filesystem/filesystem.go index 3829399b2..c0fb636ea 100644 --- a/filesystem/filesystem.go +++ b/filesystem/filesystem.go @@ -400,6 +400,9 @@ type FilesystemInfo struct { // to add a dependency on the Output file, as you cannot add dependencies on directories // in ninja. RootDir android.Path + // Extra root directories that are also built into the partition. Currently only used for + // including the recovery partition files into the vendor_boot image. + ExtraRootDirs android.Paths // The rebased staging directory used to build the output filesystem. If consuming this, make // sure to add a dependency on the Output file, as you cannot add dependencies on directories // in ninja. In many cases this is the same as RootDir, only in the system partition is it @@ -615,6 +618,7 @@ func (f *filesystem) GenerateAndroidBuildActions(ctx android.ModuleContext) { var outputHermetic android.WritablePath var buildImagePropFile android.Path var buildImagePropFileDeps android.Paths + var extraRootDirs android.Paths switch f.fsType(ctx) { case ext4Type, erofsType, f2fsType: buildImagePropFile, buildImagePropFileDeps = f.buildPropFile(ctx) @@ -628,9 +632,9 @@ func (f *filesystem) GenerateAndroidBuildActions(ctx android.ModuleContext) { f.buildImageUsingBuildImage(ctx, hermeticBuilder, buildImageParams{rootDir, propFileHermetic, buildImagePropFileDeps, outputHermetic}) mapFile = f.getMapFile(ctx) case compressedCpioType: - f.output = f.buildCpioImage(ctx, builder, rootDir, true) + f.output, extraRootDirs = f.buildCpioImage(ctx, builder, rootDir, true) case cpioType: - f.output = f.buildCpioImage(ctx, builder, rootDir, false) + f.output, extraRootDirs = f.buildCpioImage(ctx, builder, rootDir, false) default: return } @@ -663,6 +667,7 @@ func (f *filesystem) GenerateAndroidBuildActions(ctx android.ModuleContext) { OutputHermetic: outputHermetic, FileListFile: fileListFile, RootDir: rootDir, + ExtraRootDirs: extraRootDirs, RebasedDir: rebasedDir, MapFile: mapFile, ModuleName: ctx.ModuleName(), @@ -1161,7 +1166,7 @@ func (f *filesystem) buildCpioImage( builder *android.RuleBuilder, rootDir android.OutputPath, compressed bool, -) android.Path { +) (android.Path, android.Paths) { if proptools.Bool(f.properties.Use_avb) { ctx.PropertyErrorf("use_avb", "signing compresed cpio image using avbtool is not supported."+ "Consider adding this to bootimg module and signing the entire boot image.") @@ -1201,7 +1206,7 @@ func (f *filesystem) buildCpioImage( // rootDir is not deleted. Might be useful for quick inspection. builder.Build("build_cpio_image", fmt.Sprintf("Creating filesystem %s", f.BaseModuleName())) - return output + return output, rootDirs } var validPartitions = []string{ |