forked from openkylin/platform_build
Merge changes I465ea6c9,I57b77d7c,I536a286d,Ie16a7bf7 into rvc-dev
* changes: generate multiple boot.img files in aosp_arm64 create emulator_arm64 device for sdk_phone_arm64 to use support multiple boot.img files in release tools multi boot.img support cleanups
This commit is contained in:
commit
04735a8ef2
|
@ -2080,8 +2080,7 @@ $(INSTALLED_RECOVERY_BUILD_PROP_TARGET): \
|
||||||
$(call append-recovery-ui-properties,$(PRIVATE_RECOVERY_UI_PROPERTIES),$@)
|
$(call append-recovery-ui-properties,$(PRIVATE_RECOVERY_UI_PROPERTIES),$@)
|
||||||
|
|
||||||
ifeq (truetrue,$(strip $(BUILDING_VENDOR_BOOT_IMAGE))$(strip $(AB_OTA_UPDATER)))
|
ifeq (truetrue,$(strip $(BUILDING_VENDOR_BOOT_IMAGE))$(strip $(AB_OTA_UPDATER)))
|
||||||
INTERNAL_RECOVERYIMAGE_ARGS := \
|
INTERNAL_RECOVERYIMAGE_ARGS := --ramdisk $(recovery_ramdisk)
|
||||||
--kernel $(recovery_kernel) --ramdisk $(recovery_ramdisk)
|
|
||||||
ifdef GENERIC_KERNEL_CMDLINE
|
ifdef GENERIC_KERNEL_CMDLINE
|
||||||
INTERNAL_RECOVERYIMAGE_ARGS += --cmdline "$(GENERIC_KERNEL_CMDLINE)"
|
INTERNAL_RECOVERYIMAGE_ARGS += --cmdline "$(GENERIC_KERNEL_CMDLINE)"
|
||||||
endif
|
endif
|
||||||
|
@ -2158,10 +2157,10 @@ $(recovery_ramdisk): $(MKBOOTFS) $(MINIGZIP) \
|
||||||
# $(2): kernel file
|
# $(2): kernel file
|
||||||
define build-recoveryimage-target
|
define build-recoveryimage-target
|
||||||
$(if $(filter true,$(PRODUCT_SUPPORTS_VBOOT)), \
|
$(if $(filter true,$(PRODUCT_SUPPORTS_VBOOT)), \
|
||||||
$(MKBOOTIMG) --kernel $(2) $(MKBOOTIMG_KERNEL_ARG) $(INTERNAL_RECOVERYIMAGE_ARGS) \
|
$(MKBOOTIMG) --kernel $(2) $(INTERNAL_RECOVERYIMAGE_ARGS) \
|
||||||
$(INTERNAL_MKBOOTIMG_VERSION_ARGS) $(BOARD_RECOVERY_MKBOOTIMG_ARGS) \
|
$(INTERNAL_MKBOOTIMG_VERSION_ARGS) $(BOARD_RECOVERY_MKBOOTIMG_ARGS) \
|
||||||
--output $(1).unsigned, \
|
--output $(1).unsigned, \
|
||||||
$(MKBOOTIMG) --kernel $(2) $(MKBOOTIMG_KERNEL_ARG) $(INTERNAL_RECOVERYIMAGE_ARGS) \
|
$(MKBOOTIMG) --kernel $(2) $(INTERNAL_RECOVERYIMAGE_ARGS) \
|
||||||
$(INTERNAL_MKBOOTIMG_VERSION_ARGS) $(BOARD_RECOVERY_MKBOOTIMG_ARGS) \
|
$(INTERNAL_MKBOOTIMG_VERSION_ARGS) $(BOARD_RECOVERY_MKBOOTIMG_ARGS) \
|
||||||
--output $(1))
|
--output $(1))
|
||||||
$(if $(filter true,$(PRODUCT_SUPPORTS_BOOT_SIGNER)),\
|
$(if $(filter true,$(PRODUCT_SUPPORTS_BOOT_SIGNER)),\
|
||||||
|
@ -3472,8 +3471,12 @@ $(if $(BOARD_AVB_$(call to-upper,$(1))_KEY_PATH),\
|
||||||
endef
|
endef
|
||||||
|
|
||||||
ifdef INSTALLED_BOOTIMAGE_TARGET
|
ifdef INSTALLED_BOOTIMAGE_TARGET
|
||||||
|
# multiple hashes for an image are not yet supported, fortunately this
|
||||||
|
# only arises for GKI where the boot descriptor can be left out
|
||||||
|
ifeq ($(strip $(BOARD_KERNEL_BINARIES)),)
|
||||||
$(eval $(call check-and-set-avb-args,boot))
|
$(eval $(call check-and-set-avb-args,boot))
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
ifdef INSTALLED_VENDOR_BOOTIMAGE_TARGET
|
ifdef INSTALLED_VENDOR_BOOTIMAGE_TARGET
|
||||||
$(eval $(call check-and-set-avb-args,vendor_boot))
|
$(eval $(call check-and-set-avb-args,vendor_boot))
|
||||||
|
@ -4128,6 +4131,8 @@ ifdef BOARD_BOOTIMAGE_PARTITION_SIZE
|
||||||
endif
|
endif
|
||||||
ifeq ($(INSTALLED_BOOTIMAGE_TARGET),)
|
ifeq ($(INSTALLED_BOOTIMAGE_TARGET),)
|
||||||
$(hide) echo "no_boot=true" >> $@
|
$(hide) echo "no_boot=true" >> $@
|
||||||
|
else
|
||||||
|
echo "boot_images=$(foreach b,$(INSTALLED_BOOTIMAGE_TARGET),$(notdir $(b)))" >> $@
|
||||||
endif
|
endif
|
||||||
ifneq ($(INSTALLED_VENDOR_BOOTIMAGE_TARGET),)
|
ifneq ($(INSTALLED_VENDOR_BOOTIMAGE_TARGET),)
|
||||||
echo "vendor_boot=true" >> $@
|
echo "vendor_boot=true" >> $@
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
# Copyright (C) 2020 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
# arm64 emulator specific definitions
|
||||||
|
TARGET_ARCH := arm64
|
||||||
|
TARGET_ARCH_VARIANT := armv8-a
|
||||||
|
TARGET_CPU_VARIANT := generic
|
||||||
|
TARGET_CPU_ABI := arm64-v8a
|
||||||
|
|
||||||
|
TARGET_2ND_ARCH := arm
|
||||||
|
TARGET_2ND_CPU_ABI := armeabi-v7a
|
||||||
|
TARGET_2ND_CPU_ABI2 := armeabi
|
||||||
|
|
||||||
|
ifneq ($(TARGET_BUILD_APPS)$(filter cts sdk vts10,$(MAKECMDGOALS)),)
|
||||||
|
# DO NOT USE
|
||||||
|
# DO NOT USE
|
||||||
|
#
|
||||||
|
# This architecture / CPU variant must NOT be used for any 64 bit
|
||||||
|
# platform builds. It is the lowest common denominator required
|
||||||
|
# to build an unbundled application or cts for all supported 32 and 64 bit
|
||||||
|
# platforms.
|
||||||
|
#
|
||||||
|
# If you're building a 64 bit platform (and not an application) the
|
||||||
|
# ARM-v8 specification allows you to assume all the features available in an
|
||||||
|
# armv7-a-neon CPU. You should set the following as 2nd arch/cpu variant:
|
||||||
|
#
|
||||||
|
# TARGET_2ND_ARCH_VARIANT := armv8-a
|
||||||
|
# TARGET_2ND_CPU_VARIANT := generic
|
||||||
|
#
|
||||||
|
# DO NOT USE
|
||||||
|
# DO NOT USE
|
||||||
|
TARGET_2ND_ARCH_VARIANT := armv7-a-neon
|
||||||
|
# DO NOT USE
|
||||||
|
# DO NOT USE
|
||||||
|
TARGET_2ND_CPU_VARIANT := generic
|
||||||
|
# DO NOT USE
|
||||||
|
# DO NOT USE
|
||||||
|
else
|
||||||
|
TARGET_2ND_ARCH_VARIANT := armv8-a
|
||||||
|
TARGET_2ND_CPU_VARIANT := generic
|
||||||
|
endif
|
||||||
|
|
||||||
|
include build/make/target/board/BoardConfigGsiCommon.mk
|
||||||
|
include build/make/target/board/BoardConfigEmuCommon.mk
|
||||||
|
|
||||||
|
TARGET_NO_KERNEL := false
|
||||||
|
TARGET_NO_VENDOR_BOOT := false
|
||||||
|
BOARD_USES_RECOVERY_AS_BOOT := true
|
||||||
|
|
||||||
|
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x02000000
|
||||||
|
BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
|
||||||
|
|
||||||
|
BOARD_BOOT_HEADER_VERSION := 3
|
||||||
|
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
|
||||||
|
|
||||||
|
# Wifi.
|
||||||
|
BOARD_WLAN_DEVICE := emulator
|
||||||
|
BOARD_HOSTAPD_DRIVER := NL80211
|
||||||
|
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
||||||
|
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_simulated
|
||||||
|
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated
|
||||||
|
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
||||||
|
WIFI_DRIVER_FW_PATH_PARAM := "/dev/null"
|
||||||
|
WIFI_DRIVER_FW_PATH_STA := "/dev/null"
|
||||||
|
WIFI_DRIVER_FW_PATH_AP := "/dev/null"
|
|
@ -0,0 +1,29 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2020 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Cuttlefish has GKI kernel prebuilts, so use those for the GKI boot.img.
|
||||||
|
ifeq ($(TARGET_PREBUILT_KERNEL),)
|
||||||
|
LOCAL_KERNEL := device/google/cuttlefish_kernel/5.4-arm64/kernel
|
||||||
|
else
|
||||||
|
LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
|
||||||
|
endif
|
||||||
|
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
$(LOCAL_KERNEL):kernel
|
||||||
|
|
||||||
|
# Adjust the Dalvik heap to be appropriate for a tablet.
|
||||||
|
$(call inherit-product-if-exists, frameworks/base/build/tablet-dalvik-heap.mk)
|
||||||
|
$(call inherit-product-if-exists, frameworks/native/build/tablet-dalvik-heap.mk)
|
|
@ -0,0 +1,5 @@
|
||||||
|
#
|
||||||
|
# system.prop for emulator arm64 sdk
|
||||||
|
#
|
||||||
|
|
||||||
|
rild.libpath=/vendor/lib64/libreference-ril.so
|
|
@ -53,20 +53,21 @@ TARGET_2ND_CPU_VARIANT := generic
|
||||||
endif
|
endif
|
||||||
|
|
||||||
include build/make/target/board/BoardConfigGsiCommon.mk
|
include build/make/target/board/BoardConfigGsiCommon.mk
|
||||||
include build/make/target/board/BoardConfigEmuCommon.mk
|
|
||||||
|
|
||||||
TARGET_NO_KERNEL := false
|
TARGET_NO_KERNEL := false
|
||||||
TARGET_NO_VENDOR_BOOT := true
|
TARGET_NO_VENDOR_BOOT := true
|
||||||
BOARD_USES_RECOVERY_AS_BOOT := true
|
BOARD_USES_RECOVERY_AS_BOOT := true
|
||||||
|
|
||||||
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x02000000
|
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
|
||||||
BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
|
BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
|
||||||
|
|
||||||
BOARD_BOOT_HEADER_VERSION := 3
|
BOARD_BOOT_HEADER_VERSION := 3
|
||||||
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
|
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
|
||||||
|
|
||||||
# Emulator system image is going to be used as GSI and some vendor still hasn't
|
BOARD_KERNEL_BINARIES := kernel-5.4 kernel-5.4-gz kernel-5.4-lz4
|
||||||
# cleaned up all device specific directories under root!
|
|
||||||
|
# Some vendors still haven't cleaned up all device specific directories under
|
||||||
|
# root!
|
||||||
|
|
||||||
# TODO(b/111434759, b/111287060) SoC specific hacks
|
# TODO(b/111434759, b/111287060) SoC specific hacks
|
||||||
BOARD_ROOT_EXTRA_SYMLINKS += /vendor/lib/dsp:/dsp
|
BOARD_ROOT_EXTRA_SYMLINKS += /vendor/lib/dsp:/dsp
|
||||||
|
@ -76,14 +77,3 @@ BOARD_ROOT_EXTRA_SYMLINKS += /vendor/firmware_mnt:/firmware
|
||||||
# TODO(b/36764215): remove this setting when the generic system image
|
# TODO(b/36764215): remove this setting when the generic system image
|
||||||
# no longer has QCOM-specific directories under /.
|
# no longer has QCOM-specific directories under /.
|
||||||
BOARD_SEPOLICY_DIRS += build/make/target/board/generic_arm64/sepolicy
|
BOARD_SEPOLICY_DIRS += build/make/target/board/generic_arm64/sepolicy
|
||||||
|
|
||||||
# Wifi.
|
|
||||||
BOARD_WLAN_DEVICE := emulator
|
|
||||||
BOARD_HOSTAPD_DRIVER := NL80211
|
|
||||||
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
|
||||||
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_simulated
|
|
||||||
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated
|
|
||||||
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
|
||||||
WIFI_DRIVER_FW_PATH_PARAM := "/dev/null"
|
|
||||||
WIFI_DRIVER_FW_PATH_STA := "/dev/null"
|
|
||||||
WIFI_DRIVER_FW_PATH_AP := "/dev/null"
|
|
||||||
|
|
|
@ -14,15 +14,10 @@
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
#
|
#
|
||||||
|
|
||||||
# Cuttlefish has GKI kernel prebuilts, so use those for the GKI boot.img.
|
|
||||||
ifeq ($(TARGET_PREBUILT_KERNEL),)
|
|
||||||
LOCAL_KERNEL := device/google/cuttlefish_kernel/5.4-arm64/kernel
|
|
||||||
else
|
|
||||||
LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
|
|
||||||
endif
|
|
||||||
|
|
||||||
PRODUCT_COPY_FILES += \
|
PRODUCT_COPY_FILES += \
|
||||||
$(LOCAL_KERNEL):kernel
|
device/google/cuttlefish_kernel/5.4-arm64/kernel-5.4:kernel-5.4 \
|
||||||
|
device/google/cuttlefish_kernel/5.4-arm64/kernel-5.4-gz:kernel-5.4-gz \
|
||||||
|
device/google/cuttlefish_kernel/5.4-arm64/kernel-5.4-lz4:kernel-5.4-lz4
|
||||||
|
|
||||||
# Adjust the Dalvik heap to be appropriate for a tablet.
|
# Adjust the Dalvik heap to be appropriate for a tablet.
|
||||||
$(call inherit-product-if-exists, frameworks/base/build/tablet-dalvik-heap.mk)
|
$(call inherit-product-if-exists, frameworks/base/build/tablet-dalvik-heap.mk)
|
||||||
|
|
|
@ -14,8 +14,6 @@
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
#
|
#
|
||||||
|
|
||||||
PRODUCT_USE_DYNAMIC_PARTITIONS := true
|
|
||||||
|
|
||||||
# The system image of aosp_arm64-userdebug is a GSI for the devices with:
|
# The system image of aosp_arm64-userdebug is a GSI for the devices with:
|
||||||
# - ARM 64 bits user space
|
# - ARM 64 bits user space
|
||||||
# - 64 bits binder interface
|
# - 64 bits binder interface
|
||||||
|
|
|
@ -15,8 +15,36 @@
|
||||||
#
|
#
|
||||||
QEMU_USE_SYSTEM_EXT_PARTITIONS := true
|
QEMU_USE_SYSTEM_EXT_PARTITIONS := true
|
||||||
|
|
||||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_arm64.mk)
|
PRODUCT_USE_DYNAMIC_PARTITIONS := true
|
||||||
|
|
||||||
|
# This is a build configuration for a full-featured build of the
|
||||||
|
# Open-Source part of the tree. It's geared toward a US-centric
|
||||||
|
# build quite specifically for the emulator, and might not be
|
||||||
|
# entirely appropriate to inherit from for on-device configurations.
|
||||||
|
|
||||||
|
#
|
||||||
|
# All components inherited here go to system image
|
||||||
|
#
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/mainline_system.mk)
|
||||||
|
|
||||||
|
#
|
||||||
|
# All components inherited here go to system_ext image
|
||||||
|
#
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_system_ext.mk)
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_system_ext.mk)
|
||||||
|
|
||||||
|
#
|
||||||
|
# All components inherited here go to product image
|
||||||
|
#
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_product.mk)
|
||||||
|
|
||||||
|
#
|
||||||
|
# All components inherited here go to vendor or vendor_boot image
|
||||||
|
#
|
||||||
$(call inherit-product-if-exists, device/generic/goldfish/arm64-vendor.mk)
|
$(call inherit-product-if-exists, device/generic/goldfish/arm64-vendor.mk)
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulator_vendor.mk)
|
||||||
|
$(call inherit-product, $(SRC_TARGET_DIR)/board/emulator_arm64/device.mk)
|
||||||
|
|
||||||
# Define the host tools and libs that are parts of the SDK.
|
# Define the host tools and libs that are parts of the SDK.
|
||||||
$(call inherit-product, sdk/build/product_sdk.mk)
|
$(call inherit-product, sdk/build/product_sdk.mk)
|
||||||
|
@ -29,7 +57,7 @@ PRODUCT_PACKAGES += \
|
||||||
# Overrides
|
# Overrides
|
||||||
PRODUCT_BRAND := Android
|
PRODUCT_BRAND := Android
|
||||||
PRODUCT_NAME := sdk_phone_arm64
|
PRODUCT_NAME := sdk_phone_arm64
|
||||||
PRODUCT_DEVICE := generic_arm64
|
PRODUCT_DEVICE := emulator_arm64
|
||||||
PRODUCT_MODEL := Android SDK built for arm64
|
PRODUCT_MODEL := Android SDK built for arm64
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -731,16 +731,24 @@ def AddImagesToTargetFiles(filename):
|
||||||
boot_image = None
|
boot_image = None
|
||||||
if has_boot:
|
if has_boot:
|
||||||
banner("boot")
|
banner("boot")
|
||||||
# common.GetBootableImage() returns the image directly if present.
|
boot_images = OPTIONS.info_dict.get("boot_images")
|
||||||
boot_image = common.GetBootableImage(
|
if boot_images is None:
|
||||||
"IMAGES/boot.img", "boot.img", OPTIONS.input_tmp, "BOOT")
|
boot_images = "boot.img"
|
||||||
# boot.img may be unavailable in some targets (e.g. aosp_arm64).
|
for b in boot_images.split():
|
||||||
if boot_image:
|
# common.GetBootableImage() returns the image directly if present.
|
||||||
partitions['boot'] = os.path.join(OPTIONS.input_tmp, "IMAGES", "boot.img")
|
boot_image = common.GetBootableImage(
|
||||||
if not os.path.exists(partitions['boot']):
|
"IMAGES/" + b, b, OPTIONS.input_tmp, "BOOT")
|
||||||
boot_image.WriteToDir(OPTIONS.input_tmp)
|
# boot.img may be unavailable in some targets (e.g. aosp_arm64).
|
||||||
if output_zip:
|
if boot_image:
|
||||||
boot_image.AddToZip(output_zip)
|
boot_image_path = os.path.join(OPTIONS.input_tmp, "IMAGES", b)
|
||||||
|
# vbmeta does not need to include boot.img with multiple boot.img files,
|
||||||
|
# which is only used for aosp_arm64 for GKI
|
||||||
|
if len(boot_images.split()) == 1:
|
||||||
|
partitions['boot'] = boot_image_path
|
||||||
|
if not os.path.exists(boot_image_path):
|
||||||
|
boot_image.WriteToDir(OPTIONS.input_tmp)
|
||||||
|
if output_zip:
|
||||||
|
boot_image.AddToZip(output_zip)
|
||||||
|
|
||||||
if has_vendor_boot:
|
if has_vendor_boot:
|
||||||
banner("vendor_boot")
|
banner("vendor_boot")
|
||||||
|
|
|
@ -1015,7 +1015,7 @@ def _MakeRamdisk(sourcedir, fs_config_file=None):
|
||||||
return ramdisk_img
|
return ramdisk_img
|
||||||
|
|
||||||
|
|
||||||
def _BuildBootableImage(sourcedir, fs_config_file, info_dict=None,
|
def _BuildBootableImage(image_name, sourcedir, fs_config_file, info_dict=None,
|
||||||
has_ramdisk=False, two_step_image=False):
|
has_ramdisk=False, two_step_image=False):
|
||||||
"""Build a bootable image from the specified sourcedir.
|
"""Build a bootable image from the specified sourcedir.
|
||||||
|
|
||||||
|
@ -1028,7 +1028,15 @@ def _BuildBootableImage(sourcedir, fs_config_file, info_dict=None,
|
||||||
for building the requested image.
|
for building the requested image.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if not os.access(os.path.join(sourcedir, "kernel"), os.F_OK):
|
# "boot" or "recovery", without extension.
|
||||||
|
partition_name = os.path.basename(sourcedir).lower()
|
||||||
|
|
||||||
|
if partition_name == "recovery":
|
||||||
|
kernel = "kernel"
|
||||||
|
else:
|
||||||
|
kernel = image_name.replace("boot", "kernel")
|
||||||
|
kernel = kernel.replace(".img","")
|
||||||
|
if not os.access(os.path.join(sourcedir, kernel), os.F_OK):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
if has_ramdisk and not os.access(os.path.join(sourcedir, "RAMDISK"), os.F_OK):
|
if has_ramdisk and not os.access(os.path.join(sourcedir, "RAMDISK"), os.F_OK):
|
||||||
|
@ -1045,7 +1053,7 @@ def _BuildBootableImage(sourcedir, fs_config_file, info_dict=None,
|
||||||
# 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"
|
||||||
|
|
||||||
cmd = [mkbootimg, "--kernel", os.path.join(sourcedir, "kernel")]
|
cmd = [mkbootimg, "--kernel", os.path.join(sourcedir, kernel)]
|
||||||
|
|
||||||
fn = os.path.join(sourcedir, "second")
|
fn = os.path.join(sourcedir, "second")
|
||||||
if os.access(fn, os.F_OK):
|
if os.access(fn, os.F_OK):
|
||||||
|
@ -1072,9 +1080,6 @@ def _BuildBootableImage(sourcedir, fs_config_file, info_dict=None,
|
||||||
cmd.append("--pagesize")
|
cmd.append("--pagesize")
|
||||||
cmd.append(open(fn).read().rstrip("\n"))
|
cmd.append(open(fn).read().rstrip("\n"))
|
||||||
|
|
||||||
# "boot" or "recovery", without extension.
|
|
||||||
partition_name = os.path.basename(sourcedir).lower()
|
|
||||||
|
|
||||||
if partition_name == "recovery":
|
if partition_name == "recovery":
|
||||||
args = info_dict.get("recovery_mkbootimg_args")
|
args = info_dict.get("recovery_mkbootimg_args")
|
||||||
else:
|
else:
|
||||||
|
@ -1197,7 +1202,7 @@ def GetBootableImage(name, prebuilt_name, unpack_dir, tree_subdir,
|
||||||
info_dict.get("recovery_as_boot") == "true")
|
info_dict.get("recovery_as_boot") == "true")
|
||||||
|
|
||||||
fs_config = "META/" + tree_subdir.lower() + "_filesystem_config.txt"
|
fs_config = "META/" + tree_subdir.lower() + "_filesystem_config.txt"
|
||||||
data = _BuildBootableImage(os.path.join(unpack_dir, tree_subdir),
|
data = _BuildBootableImage(prebuilt_name, os.path.join(unpack_dir, tree_subdir),
|
||||||
os.path.join(unpack_dir, fs_config),
|
os.path.join(unpack_dir, fs_config),
|
||||||
info_dict, has_ramdisk, two_step_image)
|
info_dict, has_ramdisk, two_step_image)
|
||||||
if data:
|
if data:
|
||||||
|
|
Loading…
Reference in New Issue