summaryrefslogtreecommitdiff
authorXindong Xu <xindong.xu@amlogic.com>2018-08-03 10:06:07 (GMT)
committer Xindong Xu <xindong.xu@amlogic.com>2018-08-07 08:40:50 (GMT)
commit0181ed21ca4c71f3d048ac1014a9e487aa9e27e9 (patch)
treedce6e5c2709ba1598af5da86e3dedc553b0d3d9b
parent550b9e746ee0fdf6b6390d3daedf80e7da985e9f (diff)
downloadcurie-0181ed21ca4c71f3d048ac1014a9e487aa9e27e9.zip
curie-0181ed21ca4c71f3d048ac1014a9e487aa9e27e9.tar.gz
curie-0181ed21ca4c71f3d048ac1014a9e487aa9e27e9.tar.bz2
curie: support system as root [11/19]
PD# 170278 support system as root Change-Id: I53d4763eea8b1db08899bf2344c6c7ab1a4db880
Diffstat
-rw-r--r--BoardConfig.mk44
-rw-r--r--Kernel.mk6
-rw-r--r--curie.mk78
-rw-r--r--device.mk9
-rw-r--r--fstab.amlogic2
-rw-r--r--fstab.system.amlogic (renamed from fstab.verity.amlogic)6
-rw-r--r--recovery/recovery.fstab5
-rw-r--r--recovery/recovery_system.fstab29
8 files changed, 136 insertions, 43 deletions
diff --git a/BoardConfig.mk b/BoardConfig.mk
index eb9ffc0..9686631 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/curie/logo_img_files
+ifeq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE), true)
+TARGET_RECOVERY_FSTAB := device/amlogic/curie/recovery/recovery_system.fstab
+else
TARGET_RECOVERY_FSTAB := device/amlogic/curie/recovery/recovery.fstab
+endif
#BOARD_HAL_STATIC_LIBRARIES := libhealthd.mboxdefault
@@ -107,7 +141,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 af6d7e2..1cdcda7 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/curie-kernel/Image.gz
INSTALLED_BOARDDTB_TARGET := $(PRODUCT_OUT)/dt.img
@@ -128,7 +124,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/curie.mk b/curie.mk
index 6e9c9cc..14142ac 100644
--- a/curie.mk
+++ b/curie.mk
@@ -88,6 +88,15 @@ WITH_LIBPLAYER_MODULE := false
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 := \
@@ -98,10 +107,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_p241_P.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
@@ -160,43 +198,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/curie/fstab.AB.verity.amlogic:root/fstab.amlogic
-else
-PRODUCT_COPY_FILES += \
- device/amlogic/curie/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/curie/fstab.verity.amlogic:root/fstab.amlogic
+ device/amlogic/curie/fstab.system.amlogic:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.amlogic
else
+ifneq ($(BOARD_USES_RECOVERY_AS_BOOT), true)
PRODUCT_COPY_FILES += \
device/amlogic/curie/fstab.amlogic:root/fstab.amlogic
-endif
-endif
-else
-ifeq ($(AB_OTA_UPDATER),true)
-ifeq ($(BUILD_WITH_DM_VERITY), true)
-PRODUCT_COPY_FILES += \
- device/amlogic/curie/fstab.AB.verity.amlogic:recovery/root/fstab.amlogic
-else
-PRODUCT_COPY_FILES += \
- device/amlogic/curie/fstab.AB.amlogic:recovery/root/fstab.amlogic
-endif
-else
-ifeq ($(BUILD_WITH_DM_VERITY), true)
-PRODUCT_COPY_FILES += \
- device/amlogic/curie/fstab.verity.amlogic:recovery/root/fstab.amlogic
else
PRODUCT_COPY_FILES += \
device/amlogic/curie/fstab.amlogic:recovery/root/fstab.amlogic
endif
endif
-endif
#########################################################################
#
@@ -362,6 +376,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 449d94a..c498ac1 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/curie/init.amlogic.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.amlogic.usb.rc \
device/amlogic/curie/init.amlogic.board.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.amlogic.board.rc
diff --git a/fstab.amlogic b/fstab.amlogic
index 32637b0..67c8d1c 100644
--- a/fstab.amlogic
+++ b/fstab.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 /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
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 6925888..63a90be 100644
--- a/recovery/recovery.fstab
+++ b/recovery/recovery.fstab
@@ -1,13 +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/aml_logo /aml_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