summaryrefslogtreecommitdiff
authorXindong Xu <xindong.xu@amlogic.com>2018-08-03 09:30:05 (GMT)
committer Xindong Xu <xindong.xu@amlogic.com>2018-08-07 08:40:35 (GMT)
commitadf9720b924a5d68e05354675cc44bb53b524a15 (patch)
tree84608e0fd316a3c2e31af1973add7f30637b7f39
parentb5b4873bd9da116c9914018afdb24a7af56b5d2b (diff)
downloadbraun-adf9720b924a5d68e05354675cc44bb53b524a15.zip
braun-adf9720b924a5d68e05354675cc44bb53b524a15.tar.gz
braun-adf9720b924a5d68e05354675cc44bb53b524a15.tar.bz2
braun: support system as root [10/19]
PD# 170278 support system as root Change-Id: I0f68f98e367c8094bc15c58de8f13616e154446d
Diffstat
-rw-r--r--BoardConfig.mk42
-rw-r--r--Kernel.mk6
-rw-r--r--braun.mk81
-rw-r--r--device.mk9
-rw-r--r--fstab.AB.amlogic14
-rw-r--r--fstab.AB.verity.amlogic14
-rw-r--r--fstab.system.amlogic (renamed from fstab.verity.amlogic)6
-rw-r--r--recovery/recovery.fstab4
-rw-r--r--recovery/recovery_system.fstab29
9 files changed, 135 insertions, 70 deletions
diff --git a/BoardConfig.mk b/BoardConfig.mk
index d070577..329e735 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -63,25 +63,59 @@ BOARD_HAVE_FLASHLIGHT := false
BOARD_HAVE_HW_JPEGENC := true
TARGET_USERIMAGES_USE_EXT4 := true
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1946157056
BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
BOARD_FLASH_BLOCK_SIZE := 4096
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
-BOARD_VENDORIMAGE_PARTITION_SIZE := 268435456
BOARD_USES_VENDORIMAGE := true
TARGET_COPY_OUT_VENDOR := vendor
-BOARD_ROOT_EXTRA_FOLDERS := odm
+ifneq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE), true)
+BOARD_ROOT_EXTRA_FOLDERS += odm
+endif
+
BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4
-BOARD_ODMIMAGE_PARTITION_SIZE := 268435456
BOARD_USES_ODMIMAGE := true
+BOARD_USES_METADATA_PARTITION := true
+
+BOARD_USES_PRODUCTIMAGE := true
+BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
+TARGET_COPY_OUT_PRODUCT := product
+
+BOARD_DTBIMAGE_PARTITION_SIZE := 262144
+BOARD_BOOTIMAGE_PARTITION_SIZE := 16777216
+BOARD_RECOVERYIMAGE_PARTITION_SIZE := 25165824
+ifeq ($(ANDROID_BUILD_TYPE), 64)
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1551892480
+BOARD_VENDORIMAGE_PARTITION_SIZE := 268435456
+BOARD_ODMIMAGE_PARTITION_SIZE := 134217728
+BOARD_PRODUCTIMAGE_PARTITION_SIZE := 134217728
+else
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1342177280
+BOARD_VENDORIMAGE_PARTITION_SIZE := 268435456
+BOARD_ODMIMAGE_PARTITION_SIZE := 134217728
+BOARD_PRODUCTIMAGE_PARTITION_SIZE := 134217728
+endif
+
+ifneq ($(USE_USB_AS_HOST),true)
+BOARD_KERNEL_CMDLINE += --cmdline "otg_device=1"
+endif
+
+ifeq ($(BOARD_BUILD_DISABLED_VBMETAIMAGE), true)
+ifeq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE), true)
+BOARD_KERNEL_CMDLINE += --cmdline "root=179:18"
+endif
+endif
TARGET_SUPPORT_USB_BURNING_V2 := true
TARGET_AMLOGIC_RES_PACKAGE := device/amlogic/braun/logo_img_files
+ifeq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE), true)
+TARGET_RECOVERY_FSTAB := device/amlogic/braun/recovery/recovery_system.fstab
+else
TARGET_RECOVERY_FSTAB := device/amlogic/braun/recovery/recovery.fstab
+endif
#BOARD_HAL_STATIC_LIBRARIES := libhealthd.mboxdefault
diff --git a/Kernel.mk b/Kernel.mk
index 11691e4..42ab59d 100644
--- a/Kernel.mk
+++ b/Kernel.mk
@@ -9,10 +9,6 @@ INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel
BOARD_MKBOOTIMG_ARGS := --second $(PRODUCT_OUT)/dt.img --kernel_offset $(BOARD_KERNEL_OFFSET)
-ifneq ($(USE_USB_AS_HOST),true)
-BOARD_MKBOOTIMG_ARGS += --cmdline "otg_device=1"
-endif
-
ifneq ($(TARGET_KERNEL_BUILT_FROM_SOURCE), true)
TARGET_PREBUILT_KERNEL := device/amlogic/braun-kernel/Image.gz
INSTALLED_BOARDDTB_TARGET := $(PRODUCT_OUT)/dt.img
@@ -127,7 +123,7 @@ savekernelconfig: $(KERNEL_OUT) $(KERNEL_CONFIG)
build-modules-quick:
$(media-modules)
-$(INSTALLED_KERNEL_TARGET): $(INTERMEDIATES_KERNEL) | $(ACP)
+$(INSTALLED_KERNEL_TARGET): $(INTERMEDIATES_KERNEL) $(PRODUCT_OUT)/dt.img | $(ACP)
@echo "Kernel installed"
$(transform-prebuilt-to-target)
diff --git a/braun.mk b/braun.mk
index 9691379..faabeb3 100644
--- a/braun.mk
+++ b/braun.mk
@@ -83,6 +83,15 @@ BOARD_AML_VENDOR_PATH := vendor/amlogic/ampere/
BOARD_WIDEVINE_TA_PATH := vendor/amlogic/
AB_OTA_UPDATER :=true
+BUILD_WITH_AVB := true
+
+ifeq ($(BUILD_WITH_AVB),true)
+#BOARD_AVB_ENABLE := true
+BOARD_BUILD_DISABLED_VBMETAIMAGE := true
+BOARD_AVB_ALGORITHM := SHA256_RSA2048
+BOARD_AVB_KEY_PATH := device/amlogic/common/security/testkey_rsa2048.pem
+BOARD_AVB_ROLLBACK_INDEX := 0
+endif
ifeq ($(AB_OTA_UPDATER),true)
AB_OTA_PARTITIONS := \
@@ -93,10 +102,40 @@ AB_OTA_PARTITIONS := \
TARGET_BOOTLOADER_CONTROL_BLOCK := true
TARGET_NO_RECOVERY := true
+ifneq ($(BUILD_WITH_AVB),true)
TARGET_PARTITION_DTSI := partition_mbox_ab.dtsi
else
+TARGET_PARTITION_DTSI := partition_mbox_ab_avb.dtsi
+endif
+else
TARGET_NO_RECOVERY := false
-TARGET_PARTITION_DTSI := partition_mbox_normal.dtsi
+
+BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
+
+ifeq ($(ANDROID_BUILD_TYPE), 64)
+TARGET_PARTITION_DTSI := partition_mbox_normal_P_64.dtsi
+else
+TARGET_PARTITION_DTSI := partition_mbox_normal_P_32.dtsi
+endif
+
+ifneq ($(BUILD_WITH_AVB),true)
+TARGET_FIRMWARE_DTSI := firmware_normal.dtsi
+else
+ifeq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE), true)
+ifeq ($(BOARD_BUILD_DISABLED_VBMETAIMAGE), true)
+TARGET_FIRMWARE_DTSI := firmware_system.dtsi
+else
+TARGET_FIRMWARE_DTSI := firmware_avb_system.dtsi
+endif
+else
+ifeq ($(BOARD_BUILD_DISABLED_VBMETAIMAGE), true)
+TARGET_FIRMWARE_DTSI := firmware_normal.dtsi
+else
+TARGET_FIRMWARE_DTSI := firmware_avb.dtsi
+endif
+endif
+endif
+
BOARD_CACHEIMAGE_PARTITION_SIZE := 69206016
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
endif
@@ -143,7 +182,7 @@ endif
# Dm-Verity
#
#########################################################################
-BUILD_WITH_DM_VERITY := true
+#BUILD_WITH_DM_VERITY := true
#TARGET_USE_SECURITY_DM_VERITY_MODE_WITH_TOOL := true
ifeq ($(TARGET_USE_SECURITY_DM_VERITY_MODE_WITH_TOOL), true)
BUILD_WITH_DM_VERITY := true
@@ -154,43 +193,19 @@ PRODUCT_PACKAGES += \
fs_mgr \
slideshow
endif
-ifneq ($(BOARD_USES_RECOVERY_AS_BOOT), true)
-ifeq ($(AB_OTA_UPDATER),true)
-ifeq ($(BUILD_WITH_DM_VERITY), true)
-PRODUCT_COPY_FILES += \
- device/amlogic/braun/fstab.AB.verity.amlogic:root/fstab.amlogic
-else
-PRODUCT_COPY_FILES += \
- device/amlogic/braun/fstab.AB.amlogic:root/fstab.amlogic
-endif
-else
-ifeq ($(BUILD_WITH_DM_VERITY), true)
+
+ifeq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE), true)
PRODUCT_COPY_FILES += \
- device/amlogic/braun/fstab.verity.amlogic:root/fstab.amlogic
+ device/amlogic/braun/fstab.system.amlogic:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.amlogic
else
+ifneq ($(BOARD_USES_RECOVERY_AS_BOOT), true)
PRODUCT_COPY_FILES += \
device/amlogic/braun/fstab.amlogic:root/fstab.amlogic
-endif
-endif
-else
-ifeq ($(AB_OTA_UPDATER),true)
-ifeq ($(BUILD_WITH_DM_VERITY), true)
-PRODUCT_COPY_FILES += \
- device/amlogic/braun/fstab.AB.verity.amlogic:recovery/root/fstab.amlogic
-else
-PRODUCT_COPY_FILES += \
- device/amlogic/braun/fstab.AB.amlogic:recovery/root/fstab.amlogic
-endif
-else
-ifeq ($(BUILD_WITH_DM_VERITY), true)
-PRODUCT_COPY_FILES += \
- device/amlogic/braun/fstab.verity.amlogic:recovery/root/fstab.amlogic
else
PRODUCT_COPY_FILES += \
device/amlogic/braun/fstab.amlogic:recovery/root/fstab.amlogic
endif
endif
-endif
#########################################################################
#
@@ -356,6 +371,12 @@ endif
# A/B update
#
#########################################################################
+ifeq ($(BUILD_WITH_AVB),true)
+PRODUCT_PACKAGES += \
+ bootctrl.avb \
+ libavb_user
+endif
+
ifeq ($(AB_OTA_UPDATER),true)
PRODUCT_PACKAGES += \
bootctrl.amlogic \
diff --git a/device.mk b/device.mk
index c14418d..b02f5d3 100644
--- a/device.mk
+++ b/device.mk
@@ -14,8 +14,15 @@
# limitations under the License.
#
+ifeq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE), true)
+PRODUCT_COPY_FILES += \
+ device/amlogic/common/products/mbox/init.amlogic.system.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.amlogic.rc
+else
+PRODUCT_COPY_FILES += \
+ device/amlogic/common/products/mbox/init.amlogic.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.amlogic.rc
+endif
+
PRODUCT_COPY_FILES += \
- device/amlogic/common/products/mbox/init.amlogic.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.amlogic.rc \
device/amlogic/braun/init.amlogic.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.amlogic.usb.rc \
device/amlogic/braun/init.amlogic.board.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.amlogic.board.rc
diff --git a/fstab.AB.amlogic b/fstab.AB.amlogic
deleted file mode 100644
index c1a642a..0000000
--- a/fstab.AB.amlogic
+++ b/dev/null
@@ -1,14 +0,0 @@
-# Android fstab file.
-#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
-# The filesystem that contains the filesystem checker binary (typically /system) cannot
-# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
-
-/dev/block/platform/d0074000.emmc/misc /misc emmc defaults defaults
-/dev/block/data /data ext4 noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic wait,check,fileencryption=aes-256-xts,quota,formattable
-/devices/*.sd/mmc_host/sd* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
-/devices/*dwc3/xhci-hcd.0.auto/usb?/*/host*/target*/block/sd* auto auto defaults voldmanaged=usb:auto,encryptable=userdata
-/devices/*dwc3/xhci-hcd.0.auto/usb?/*/host*/target*/block/sr* auto auto defaults voldmanaged=sr0:auto,encryptable=userdata
-/dev/block/loop auto loop defaults voldmanaged=loop:auto
-# Add for zram. zramsize can be in numeric (byte) , in percent
-/dev/block/zram0 /swap_zram0 swap defaults wait,zramsize=524288000
-/dev/block/tee /tee ext4 noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic wait,check,formattable
diff --git a/fstab.AB.verity.amlogic b/fstab.AB.verity.amlogic
deleted file mode 100644
index c1a642a..0000000
--- a/fstab.AB.verity.amlogic
+++ b/dev/null
@@ -1,14 +0,0 @@
-# Android fstab file.
-#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
-# The filesystem that contains the filesystem checker binary (typically /system) cannot
-# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
-
-/dev/block/platform/d0074000.emmc/misc /misc emmc defaults defaults
-/dev/block/data /data ext4 noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic wait,check,fileencryption=aes-256-xts,quota,formattable
-/devices/*.sd/mmc_host/sd* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
-/devices/*dwc3/xhci-hcd.0.auto/usb?/*/host*/target*/block/sd* auto auto defaults voldmanaged=usb:auto,encryptable=userdata
-/devices/*dwc3/xhci-hcd.0.auto/usb?/*/host*/target*/block/sr* auto auto defaults voldmanaged=sr0:auto,encryptable=userdata
-/dev/block/loop auto loop defaults voldmanaged=loop:auto
-# Add for zram. zramsize can be in numeric (byte) , in percent
-/dev/block/zram0 /swap_zram0 swap defaults wait,zramsize=524288000
-/dev/block/tee /tee ext4 noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic wait,check,formattable
diff --git a/fstab.verity.amlogic b/fstab.system.amlogic
index 32637b0..56305a2 100644
--- a/fstab.verity.amlogic
+++ b/fstab.system.amlogic
@@ -6,10 +6,12 @@
/dev/block/misc /misc emmc defaults defaults
/dev/block/data /data ext4 noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic wait,check,fileencryption=aes-256-xts,quota,formattable
/dev/block/cache /cache ext4 noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic wait,check,formattable
+/dev/block/metadata /metadata ext4 noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic wait,check,formattable
/devices/*.sd/mmc_host/sd* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
/devices/*dwc3/xhci-hcd.0.auto/usb?/*/host*/target*/block/sd* auto auto defaults voldmanaged=usb:auto,encryptable=userdata
/devices/*dwc3/xhci-hcd.0.auto/usb?/*/host*/target*/block/sr* auto auto defaults voldmanaged=sr0:auto,encryptable=userdata
/dev/block/loop auto loop defaults voldmanaged=loop:auto
+/dev/block/param /mnt/vendor/param ext4 noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic wait,check,encryptable=footer,quota,formattable
# Add for zram. zramsize can be in numeric (byte) , in percent
-/dev/block/zram0 /swap_zram0 swap defaults wait,zramsize=524288000
-/dev/block/tee /tee ext4 noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic wait,check,formattable
+/dev/block/zram0 /mnt/vendor/swap_zram0 swap defaults wait,zramsize=524288000
+/dev/block/tee /mnt/vendor/tee ext4 noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic wait,check,formattable
diff --git a/recovery/recovery.fstab b/recovery/recovery.fstab
index 4c91808..db1f5cf 100644
--- a/recovery/recovery.fstab
+++ b/recovery/recovery.fstab
@@ -1,12 +1,16 @@
#device mountpoint fstype options flags? (fstab version 2)
/dev/block/bootloader /bootloader emmc defaults defaults
/dev/block/logo /logo emmc defaults defaults
+/dev/block/vbmeta /vbmeta emmc defaults defaults
/dev/block/recovery /recovery emmc defaults defaults
/dev/block/boot /boot emmc defaults defaults
/dev/block/misc /misc emmc defaults defaults
/dev/block/system /system ext4 defaults defaults
/dev/block/vendor /vendor ext4 defaults defaults
/dev/block/odm /odm ext4 defaults defaults
+/dev/block/product /product ext4 defaults defaults
+/dev/block/metadata /metadata ext4 defaults defaults
+/dev/block/tee /tee ext4 defaults defaults
/dev/block/cache /cache ext4 defaults defaults
/dev/block/data /data ext4 defaults encryptable=footer
/dev/block/mmcblk1p1 /sdcard vfat defaults defaults
diff --git a/recovery/recovery_system.fstab b/recovery/recovery_system.fstab
new file mode 100644
index 0000000..a1cccc7
--- a/dev/null
+++ b/recovery/recovery_system.fstab
@@ -0,0 +1,29 @@
+#device mountpoint fstype options flags? (fstab version 2)
+/dev/block/bootloader /bootloader emmc defaults defaults
+/dev/block/logo /logo emmc defaults defaults
+/dev/block/vbmeta /vbmeta emmc defaults defaults
+/dev/block/recovery /recovery emmc defaults defaults
+/dev/block/boot /boot emmc defaults defaults
+/dev/block/misc /misc emmc defaults defaults
+/dev/block/system / ext4 defaults defaults
+/dev/block/vendor /vendor ext4 defaults defaults
+/dev/block/odm /odm ext4 defaults defaults
+/dev/block/product /product ext4 defaults defaults
+/dev/block/metadata /metadata ext4 defaults defaults
+/dev/block/tee /tee ext4 defaults defaults
+/dev/block/cache /cache ext4 defaults defaults
+/dev/block/data /data ext4 defaults encryptable=footer
+/dev/block/mmcblk1p1 /sdcard vfat defaults defaults
+/dev/block/mmcblk1p2 /sdcard vfat defaults defaults
+/dev/block/mmcblk1p3 /sdcard vfat defaults defaults
+/dev/block/mmcblk1p4 /sdcard vfat defaults defaults
+/dev/block/mmcblk1p5 /sdcard vfat defaults defaults
+/dev/block/mmcblk1p6 /sdcard vfat defaults defaults
+/dev/block/mmcblk2p1 /sdcard vfat defaults defaults
+/dev/block/mmcblk2p2 /sdcard vfat defaults defaults
+/dev/block/mmcblk2p3 /sdcard vfat defaults defaults
+/dev/block/mmcblk2p4 /sdcard vfat defaults defaults
+/dev/block/mmcblk2p5 /sdcard vfat defaults defaults
+/dev/block/mmcblk2p6 /sdcard vfat defaults defaults
+/dev/block/mmcblk /sdcard vfat defaults defaults
+/dev/block/sd## /udisk auto defaults defaults