Merge "Add LZ4 support to the release tools"
This commit is contained in:
@@ -3773,6 +3773,9 @@ ifeq ($(INSTALLED_BOOTIMAGE_TARGET),)
|
|||||||
else
|
else
|
||||||
echo "boot_images=$(foreach b,$(INSTALLED_BOOTIMAGE_TARGET),$(notdir $(b)))" >> $@
|
echo "boot_images=$(foreach b,$(INSTALLED_BOOTIMAGE_TARGET),$(notdir $(b)))" >> $@
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(BOARD_RAMDISK_USE_LZ4),true)
|
||||||
|
echo "lz4_ramdisks=true" >> $@
|
||||||
|
endif
|
||||||
ifneq ($(INSTALLED_VENDOR_BOOTIMAGE_TARGET),)
|
ifneq ($(INSTALLED_VENDOR_BOOTIMAGE_TARGET),)
|
||||||
echo "vendor_boot=true" >> $@
|
echo "vendor_boot=true" >> $@
|
||||||
echo "vendor_boot_size=$(BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE)" >> $@
|
echo "vendor_boot_size=$(BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE)" >> $@
|
||||||
|
@@ -184,6 +184,7 @@ python_library_host {
|
|||||||
"bsdiff",
|
"bsdiff",
|
||||||
"imgdiff",
|
"imgdiff",
|
||||||
"minigzip",
|
"minigzip",
|
||||||
|
"lz4",
|
||||||
"mkbootfs",
|
"mkbootfs",
|
||||||
"signapk",
|
"signapk",
|
||||||
],
|
],
|
||||||
|
@@ -1191,7 +1191,7 @@ def BuildVBMeta(image_path, partitions, name, needed_partitions):
|
|||||||
AddAftlInclusionProof(image_path)
|
AddAftlInclusionProof(image_path)
|
||||||
|
|
||||||
|
|
||||||
def _MakeRamdisk(sourcedir, fs_config_file=None):
|
def _MakeRamdisk(sourcedir, fs_config_file=None, lz4_ramdisks=False):
|
||||||
ramdisk_img = tempfile.NamedTemporaryFile()
|
ramdisk_img = tempfile.NamedTemporaryFile()
|
||||||
|
|
||||||
if fs_config_file is not None and os.access(fs_config_file, os.F_OK):
|
if fs_config_file is not None and os.access(fs_config_file, os.F_OK):
|
||||||
@@ -1200,12 +1200,16 @@ def _MakeRamdisk(sourcedir, fs_config_file=None):
|
|||||||
else:
|
else:
|
||||||
cmd = ["mkbootfs", os.path.join(sourcedir, "RAMDISK")]
|
cmd = ["mkbootfs", os.path.join(sourcedir, "RAMDISK")]
|
||||||
p1 = Run(cmd, stdout=subprocess.PIPE)
|
p1 = Run(cmd, stdout=subprocess.PIPE)
|
||||||
p2 = Run(["minigzip"], stdin=p1.stdout, stdout=ramdisk_img.file.fileno())
|
if lz4_ramdisks:
|
||||||
|
p2 = Run(["lz4", "-l", "-12" , "--favor-decSpeed"], stdin=p1.stdout,
|
||||||
|
stdout=ramdisk_img.file.fileno())
|
||||||
|
else:
|
||||||
|
p2 = Run(["minigzip"], stdin=p1.stdout, stdout=ramdisk_img.file.fileno())
|
||||||
|
|
||||||
p2.wait()
|
p2.wait()
|
||||||
p1.wait()
|
p1.wait()
|
||||||
assert p1.returncode == 0, "mkbootfs of %s ramdisk failed" % (sourcedir,)
|
assert p1.returncode == 0, "mkbootfs of %s ramdisk failed" % (sourcedir,)
|
||||||
assert p2.returncode == 0, "minigzip of %s ramdisk failed" % (sourcedir,)
|
assert p2.returncode == 0, "compression of %s ramdisk failed" % (sourcedir,)
|
||||||
|
|
||||||
return ramdisk_img
|
return ramdisk_img
|
||||||
|
|
||||||
@@ -1243,7 +1247,8 @@ def _BuildBootableImage(image_name, sourcedir, fs_config_file, info_dict=None,
|
|||||||
img = tempfile.NamedTemporaryFile()
|
img = tempfile.NamedTemporaryFile()
|
||||||
|
|
||||||
if has_ramdisk:
|
if has_ramdisk:
|
||||||
ramdisk_img = _MakeRamdisk(sourcedir, fs_config_file)
|
use_lz4 = info_dict.get("lz4_ramdisks") == 'true'
|
||||||
|
ramdisk_img = _MakeRamdisk(sourcedir, fs_config_file, lz4_ramdisks=use_lz4)
|
||||||
|
|
||||||
# use MKBOOTIMG from environ, or "mkbootimg" if empty or not set
|
# use MKBOOTIMG from environ, or "mkbootimg" if empty or not set
|
||||||
mkbootimg = os.getenv('MKBOOTIMG') or "mkbootimg"
|
mkbootimg = os.getenv('MKBOOTIMG') or "mkbootimg"
|
||||||
@@ -1427,7 +1432,8 @@ def _BuildVendorBootImage(sourcedir, info_dict=None):
|
|||||||
|
|
||||||
img = tempfile.NamedTemporaryFile()
|
img = tempfile.NamedTemporaryFile()
|
||||||
|
|
||||||
ramdisk_img = _MakeRamdisk(sourcedir)
|
use_lz4 = info_dict.get("lz4_ramdisks") == 'true'
|
||||||
|
ramdisk_img = _MakeRamdisk(sourcedir, lz4_ramdisks=use_lz4)
|
||||||
|
|
||||||
# use MKBOOTIMG from environ, or "mkbootimg" if empty or not set
|
# use MKBOOTIMG from environ, or "mkbootimg" if empty or not set
|
||||||
mkbootimg = os.getenv('MKBOOTIMG') or "mkbootimg"
|
mkbootimg = os.getenv('MKBOOTIMG') or "mkbootimg"
|
||||||
|
Reference in New Issue
Block a user