summaryrefslogtreecommitdiff
authorXindong Xu <xindong.xu@amlogic.com>2018-08-03 10:10:16 (GMT)
committer Xindong Xu <xindong.xu@amlogic.com>2018-08-07 08:41:25 (GMT)
commitf815df7e4e0d303d767dabcc96897e94a7596d56 (patch)
tree778eb7e01bfa35851fe582a3fea61f7615c9063a
parent9eb932c2441c2d98f879db69f979aa82b0e90071 (diff)
downloadeinstein-f815df7e4e0d303d767dabcc96897e94a7596d56.zip
einstein-f815df7e4e0d303d767dabcc96897e94a7596d56.tar.gz
einstein-f815df7e4e0d303d767dabcc96897e94a7596d56.tar.bz2
einstein: support system as root [13/19]
PD# 170278 support system as root Change-Id: I4613893a0ea6c222dd0979533ab418695a0cdcbf
Diffstat
-rw-r--r--BoardConfig.mk47
-rw-r--r--Kernel.mk6
-rw-r--r--device.mk9
-rw-r--r--einstein.mk78
-rw-r--r--fstab.AB.amlogic14
-rw-r--r--fstab.AB.verity.amlogic14
-rw-r--r--fstab.amlogic1
-rw-r--r--fstab.system.amlogic (renamed from fstab.verity.amlogic)7
-rw-r--r--recovery/recovery.fstab18
-rw-r--r--recovery/recovery_system.fstab29
10 files changed, 151 insertions, 72 deletions
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 88a59a3..8777237 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -64,23 +64,60 @@ 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/einstein/logo_img_files
+
+ifeq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE), true)
+TARGET_RECOVERY_FSTAB := device/amlogic/einstein/recovery/recovery_system.fstab
+else
TARGET_RECOVERY_FSTAB := device/amlogic/einstein/recovery/recovery.fstab
+endif
#BOARD_HAL_STATIC_LIBRARIES := libhealthd.mboxdefault
@@ -106,7 +143,7 @@ TARGET_RECOVERY_UI_LIB += \
libsystemcontrol_static
ifneq ($(AB_OTA_UPDATER),true)
TARGET_RECOVERY_UPDATER_LIBS := libinstall_amlogic
-TARGET_RECOVERY_UPDATER_EXTRA_LIBS += libenv libsystemcontrol_static
+TARGET_RECOVERY_UPDATER_EXTRA_LIBS += libenv libsystemcontrol_static libsecurity libfdt
endif
include device/amlogic/common/sepolicy.mk
diff --git a/Kernel.mk b/Kernel.mk
index 58f45d1..cbdf65f 100644
--- a/Kernel.mk
+++ b/Kernel.mk
@@ -7,10 +7,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/einstein-kernel/Image.gz
INSTALLED_BOARDDTB_TARGET := $(PRODUCT_OUT)/dt.img
@@ -125,7 +121,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/device.mk b/device.mk
index 3a70274..74cf313 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/tv/init.amlogic.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.amlogic.rc \
device/amlogic/einstein/init.amlogic.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.amlogic.usb.rc \
device/amlogic/einstein/init.amlogic.board.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.amlogic.board.rc
diff --git a/einstein.mk b/einstein.mk
index 80ac11b..6ff801b 100644
--- a/einstein.mk
+++ b/einstein.mk
@@ -83,6 +83,15 @@ BOARD_WIDEVINE_TA_PATH := vendor/amlogic/
OTA_UP_PART_NUM_CHANGED := true
#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,39 @@ 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
@@ -165,43 +203,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/einstein/fstab.AB.verity.amlogic:root/fstab.amlogic
-else
-PRODUCT_COPY_FILES += \
- device/amlogic/einstein/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/einstein/fstab.verity.amlogic:root/fstab.amlogic
+ device/amlogic/einstein/fstab.system.amlogic:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.amlogic
else
+ifneq ($(BOARD_USES_RECOVERY_AS_BOOT), true)
PRODUCT_COPY_FILES += \
device/amlogic/einstein/fstab.amlogic:root/fstab.amlogic
-endif
-endif
-else
-ifeq ($(AB_OTA_UPDATER),true)
-ifeq ($(BUILD_WITH_DM_VERITY), true)
-PRODUCT_COPY_FILES += \
- device/amlogic/einstein/fstab.AB.verity.amlogic:recovery/root/fstab.amlogic
-else
-PRODUCT_COPY_FILES += \
- device/amlogic/einstein/fstab.AB.amlogic:recovery/root/fstab.amlogic
-endif
-else
-ifeq ($(BUILD_WITH_DM_VERITY), true)
-PRODUCT_COPY_FILES += \
- device/amlogic/einstein/fstab.verity.amlogic:recovery/root/fstab.amlogic
else
PRODUCT_COPY_FILES += \
device/amlogic/einstein/fstab.amlogic:recovery/root/fstab.amlogic
endif
endif
-endif
#########################################################################
#
@@ -368,6 +382,12 @@ PRODUCT_COPY_FILES += \
# 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/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.amlogic b/fstab.amlogic
index 8640511..6a80651 100644
--- a/fstab.amlogic
+++ b/fstab.amlogic
@@ -6,6 +6,7 @@
/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
diff --git a/fstab.verity.amlogic b/fstab.system.amlogic
index 8640511..f8f295c 100644
--- a/fstab.verity.amlogic
+++ b/fstab.system.amlogic
@@ -6,11 +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 /param ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=remount-ro wait,check,formattable
+/dev/block/param /mnt/vendor/param ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=remount-ro wait,check,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 2b95b94..db1f5cf 100644
--- a/recovery/recovery.fstab
+++ b/recovery/recovery.fstab
@@ -1,13 +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 /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/mmcblk#p# /sdcard vfat defaults defaults
+/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
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