aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/image
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/image')
-rw-r--r--target/linux/layerscape/image/Makefile28
-rw-r--r--target/linux/layerscape/image/armv7.mk42
-rw-r--r--target/linux/layerscape/image/armv8_64b.mk84
-rwxr-xr-xtarget/linux/layerscape/image/gen_sdcard_head_img.sh14
4 files changed, 82 insertions, 86 deletions
diff --git a/target/linux/layerscape/image/Makefile b/target/linux/layerscape/image/Makefile
index 08864b1316..bfc4af4ca4 100644
--- a/target/linux/layerscape/image/Makefile
+++ b/target/linux/layerscape/image/Makefile
@@ -7,13 +7,22 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
+LS_SD_KERNELPART_SIZE = 40
+LS_SD_KERNELPART_OFFSET = 16
LS_SD_ROOTFSPART_OFFSET = 64
LS_SD_IMAGE_SIZE = $(shell echo $$((($(LS_SD_ROOTFSPART_OFFSET) + \
- $(CONFIG_TARGET_ROOTFS_PARTSIZE)) * 1024 * 1024)))
+ $(CONFIG_TARGET_ROOTFS_PARTSIZE)))))
# The limitation of flash sysupgrade.bin is 1MB dtb + 16MB kernel + 32MB rootfs
LS_SYSUPGRADE_IMAGE_SIZE = 49m
+define Image/Prepare
+ # Build .dtb for all boards we may run on
+ $(foreach dts,$(DEVICE_DTS_LIST),
+ $(call Image/BuildDTB,$(DTS_DIR)/$(dts).dts,$(DTS_DIR)/$(dts).dtb)
+ )
+endef
+
define Build/ls-clean
rm -f $@
endef
@@ -23,12 +32,21 @@ define Build/ls-append
endef
define Build/ls-append-dtb
- $(call Image/BuildDTB,$(DTS_DIR)/$(1).dts,$(DTS_DIR)/$(1).dtb)
dd if=$(DTS_DIR)/$(1).dtb >> $@
endef
+define Build/ls-append-kernel
+ mkdir -p $@.tmp && \
+ cp $(IMAGE_KERNEL) $@.tmp/fitImage && \
+ make_ext4fs -J -L kernel -l "$(LS_SD_KERNELPART_SIZE)M" "$@.kernel.part" "$@.tmp" && \
+ dd if=$@.kernel.part >> $@ && \
+ rm -rf $@.tmp && \
+ rm -f $@.kernel.part
+endef
+
define Build/ls-append-sdhead
./gen_sdcard_head_img.sh $(STAGING_DIR_IMAGE)/$(1)-sdcard-head.img \
+ $(LS_SD_KERNELPART_OFFSET) $(LS_SD_KERNELPART_SIZE) \
$(LS_SD_ROOTFSPART_OFFSET) $(CONFIG_TARGET_ROOTFS_PARTSIZE)
dd if=$(STAGING_DIR_IMAGE)/$(1)-sdcard-head.img >> $@
endef
@@ -53,6 +71,12 @@ define Device/fix-sysupgrade
After that, You can use "sysupgrade -F".
endef
+define Device/rework-sdcard-images
+ DEVICE_COMPAT_VERSION := 2.0
+ DEVICE_COMPAT_MESSAGE := SD-card images were changed to squashfs + ext4 overlay combined images. \
+ It is required to flash the entire sd-card again and manually copy config.
+endef
+
include $(SUBTARGET).mk
$(eval $(call BuildImage))
diff --git a/target/linux/layerscape/image/armv7.mk b/target/linux/layerscape/image/armv7.mk
index 23bd3e8d82..46e5cf9395 100644
--- a/target/linux/layerscape/image/armv7.mk
+++ b/target/linux/layerscape/image/armv7.mk
@@ -40,50 +40,40 @@ endef
TARGET_DEVICES += fsl_ls1021a-twr
define Device/fsl_ls1021a-twr-sdboot
+ $(Device/rework-sdcard-images)
DEVICE_VENDOR := NXP
DEVICE_MODEL := TWR-LS1021A
DEVICE_VARIANT := SD Card Boot
DEVICE_DTS := ls1021a-twr
- FILESYSTEMS := ext4
- IMAGES := sdcard.img sysupgrade.bin
- IMAGE/sdcard.img := \
+ KERNEL := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
+ IMAGES := sdcard.img.gz sysupgrade.bin
+ IMAGE/sdcard.img.gz := \
ls-clean | \
ls-append-sdhead $(1) | pad-to 4K | \
ls-append $(1)-uboot.bin | pad-to 3M | \
- ls-append $(1)-uboot-env.bin | pad-to 15M | \
- ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
- append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
- append-rootfs | check-size $(LS_SD_IMAGE_SIZE)
- IMAGE/sysupgrade.bin := \
- ls-clean | \
- ls-append-sdhead $(1) | pad-to 15M | \
- ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
- append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
- append-rootfs | check-size $(LS_SD_IMAGE_SIZE) | append-metadata
+ ls-append $(1)-uboot-env.bin | pad-to 16M | \
+ ls-append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
+ append-rootfs | pad-to $(LS_SD_IMAGE_SIZE)M | gzip
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef
TARGET_DEVICES += fsl_ls1021a-twr-sdboot
define Device/fsl_ls1021a-iot-sdboot
+ $(Device/rework-sdcard-images)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS1021A-IoT
DEVICE_VARIANT := SD Card Boot
DEVICE_DTS := ls1021a-iot
- FILESYSTEMS := ext4
SUPPORTED_DEVICES :=
- IMAGES := sdcard.img sysupgrade.bin
- IMAGE/sdcard.img := \
+ KERNEL := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
+ IMAGES := sdcard.img.gz sysupgrade.bin
+ IMAGE/sdcard.img.gz := \
ls-clean | \
ls-append-sdhead $(1) | pad-to 4K | \
ls-append $(1)-uboot.bin | pad-to 1M | \
- ls-append $(1)-uboot-env.bin | pad-to 15M | \
- ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
- append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
- append-rootfs | check-size $(LS_SD_IMAGE_SIZE)
- IMAGE/sysupgrade.bin := \
- ls-clean | \
- ls-append-sdhead $(1) | pad-to 15M | \
- ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
- append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
- append-rootfs | check-size $(LS_SD_IMAGE_SIZE) | append-metadata
+ ls-append $(1)-uboot-env.bin | pad-to 16M | \
+ ls-append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
+ append-rootfs | pad-to $(LS_SD_IMAGE_SIZE)M | gzip
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef
TARGET_DEVICES += fsl_ls1021a-iot-sdboot
diff --git a/target/linux/layerscape/image/armv8_64b.mk b/target/linux/layerscape/image/armv8_64b.mk
index 35bab47124..ff480c287b 100644
--- a/target/linux/layerscape/image/armv8_64b.mk
+++ b/target/linux/layerscape/image/armv8_64b.mk
@@ -67,6 +67,7 @@ endef
TARGET_DEVICES += fsl_ls1012a-rdb
define Device/fsl_ls1012a-frwy-sdboot
+ $(Device/rework-sdcard-images)
DEVICE_VENDOR := NXP
DEVICE_MODEL := FRWY-LS1012A
DEVICE_PACKAGES += \
@@ -74,8 +75,8 @@ define Device/fsl_ls1012a-frwy-sdboot
tfa-ls1012a-frwy-sdboot \
kmod-ppfe
DEVICE_DTS := freescale/fsl-ls1012a-frwy
- FILESYSTEMS := ext4
- IMAGES := firmware.bin sdcard.img sysupgrade.bin
+ KERNEL := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
+ IMAGES := firmware.bin sdcard.img.gz sysupgrade.bin
IMAGE/firmware.bin := \
ls-clean | \
ls-append $(1)-bl2.pbl | pad-to 128K | \
@@ -83,18 +84,12 @@ define Device/fsl_ls1012a-frwy-sdboot
ls-append $(1)-fip.bin | pad-to 1856K | \
ls-append $(1)-uboot-env.bin | pad-to 2048K | \
check-size 2097153
- IMAGE/sdcard.img := \
- ls-clean | \
- ls-append-sdhead $(1) | pad-to 15M | \
- ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
- append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
- append-rootfs | check-size $(LS_SD_IMAGE_SIZE)
- IMAGE/sysupgrade.bin := \
+ IMAGE/sdcard.img.gz := \
ls-clean | \
- ls-append-sdhead $(1) | pad-to 15M | \
- ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
- append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
- append-rootfs | check-size $(LS_SD_IMAGE_SIZE) | append-metadata
+ ls-append-sdhead $(1) | pad-to 16M | \
+ ls-append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
+ append-rootfs | pad-to $(LS_SD_IMAGE_SIZE)M | gzip
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef
TARGET_DEVICES += fsl_ls1012a-frwy-sdboot
@@ -124,6 +119,7 @@ endef
TARGET_DEVICES += fsl_ls1043a-rdb
define Device/fsl_ls1043a-rdb-sdboot
+ $(Device/rework-sdcard-images)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS1043A-RDB
DEVICE_VARIANT := SD Card Boot
@@ -135,24 +131,18 @@ define Device/fsl_ls1043a-rdb-sdboot
kmod-hwmon-ina2xx \
kmod-hwmon-lm90
DEVICE_DTS := freescale/fsl-ls1043a-rdb-sdk
- FILESYSTEMS := ext4
- IMAGES := sdcard.img sysupgrade.bin
- IMAGE/sdcard.img := \
+ KERNEL := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
+ IMAGES := sdcard.img.gz sysupgrade.bin
+ IMAGE/sdcard.img.gz := \
ls-clean | \
ls-append-sdhead $(1) | pad-to 4K | \
ls-append $(1)-bl2.pbl | pad-to 1M | \
ls-append $(1)-fip.bin | pad-to 5M | \
ls-append $(1)-uboot-env.bin | pad-to 9M | \
- ls-append fsl_ls1043a-rdb-fman.bin | pad-to 15M | \
- ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
- append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
- append-rootfs | check-size $(LS_SD_IMAGE_SIZE)
- IMAGE/sysupgrade.bin := \
- ls-clean | \
- ls-append-sdhead $(1) | pad-to 15M | \
- ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
- append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
- append-rootfs | check-size $(LS_SD_IMAGE_SIZE) | append-metadata
+ ls-append fsl_ls1043a-rdb-fman.bin | pad-to 16M | \
+ ls-append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
+ append-rootfs | pad-to $(LS_SD_IMAGE_SIZE)M | gzip
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef
TARGET_DEVICES += fsl_ls1043a-rdb-sdboot
@@ -182,6 +172,7 @@ endef
TARGET_DEVICES += fsl_ls1046a-rdb
define Device/fsl_ls1046a-rdb-sdboot
+ $(Device/rework-sdcard-images)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS1046A-RDB
DEVICE_VARIANT := SD Card Boot
@@ -193,24 +184,18 @@ define Device/fsl_ls1046a-rdb-sdboot
kmod-hwmon-ina2xx \
kmod-hwmon-lm90
DEVICE_DTS := freescale/fsl-ls1046a-rdb-sdk
- FILESYSTEMS := ext4
- IMAGES := sdcard.img sysupgrade.bin
- IMAGE/sdcard.img := \
+ KERNEL := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
+ IMAGES := sdcard.img.gz sysupgrade.bin
+ IMAGE/sdcard.img.gz := \
ls-clean | \
ls-append-sdhead $(1) | pad-to 4K | \
ls-append $(1)-bl2.pbl | pad-to 1M | \
ls-append $(1)-fip.bin | pad-to 5M | \
ls-append $(1)-uboot-env.bin | pad-to 9M | \
- ls-append fsl_ls1046a-rdb-fman.bin | pad-to 15M | \
- ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
- append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
- append-rootfs | check-size $(LS_SD_IMAGE_SIZE)
- IMAGE/sysupgrade.bin := \
- ls-clean | \
- ls-append-sdhead $(1) | pad-to 15M | \
- ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
- append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
- append-rootfs | check-size $(LS_SD_IMAGE_SIZE) | append-metadata
+ ls-append fsl_ls1046a-rdb-fman.bin | pad-to 16M | \
+ ls-append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
+ append-rootfs | pad-to $(LS_SD_IMAGE_SIZE)M | gzip
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef
TARGET_DEVICES += fsl_ls1046a-rdb-sdboot
@@ -242,6 +227,7 @@ endef
TARGET_DEVICES += fsl_ls1088a-rdb
define Device/fsl_ls1088a-rdb-sdboot
+ $(Device/rework-sdcard-images)
DEVICE_VENDOR := NXP
DEVICE_MODEL := LS1088A-RDB
DEVICE_VARIANT := SD Card Boot
@@ -254,9 +240,9 @@ define Device/fsl_ls1088a-rdb-sdboot
kmod-hwmon-ina2xx \
kmod-hwmon-lm90
DEVICE_DTS := freescale/fsl-ls1088a-rdb
- FILESYSTEMS := ext4
- IMAGES := sdcard.img sysupgrade.bin
- IMAGE/sdcard.img := \
+ KERNEL := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
+ IMAGES := sdcard.img.gz sysupgrade.bin
+ IMAGE/sdcard.img.gz := \
ls-clean | \
ls-append-sdhead $(1) | pad-to 4K | \
ls-append $(1)-bl2.pbl | pad-to 1M | \
@@ -264,16 +250,10 @@ define Device/fsl_ls1088a-rdb-sdboot
ls-append $(1)-uboot-env.bin | pad-to 10M | \
ls-append fsl_ls1088a-rdb-mc.itb | pad-to 13M | \
ls-append fsl_ls1088a-rdb-dpl.dtb | pad-to 14M | \
- ls-append fsl_ls1088a-rdb-dpc.dtb | pad-to 15M | \
- ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
- append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
- append-rootfs | check-size $(LS_SD_IMAGE_SIZE)
- IMAGE/sysupgrade.bin := \
- ls-clean | \
- ls-append-sdhead $(1) | pad-to 15M | \
- ls-append-dtb $$(DEVICE_DTS) | pad-to 16M | \
- append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
- append-rootfs | check-size $(LS_SD_IMAGE_SIZE) | append-metadata
+ ls-append fsl_ls1088a-rdb-dpc.dtb | pad-to 16M | \
+ ls-append-kernel | pad-to $(LS_SD_ROOTFSPART_OFFSET)M | \
+ append-rootfs | pad-to $(LS_SD_IMAGE_SIZE)M | gzip
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef
TARGET_DEVICES += fsl_ls1088a-rdb-sdboot
diff --git a/target/linux/layerscape/image/gen_sdcard_head_img.sh b/target/linux/layerscape/image/gen_sdcard_head_img.sh
index 08ab4497d5..d3a8fd2d12 100755
--- a/target/linux/layerscape/image/gen_sdcard_head_img.sh
+++ b/target/linux/layerscape/image/gen_sdcard_head_img.sh
@@ -7,16 +7,18 @@
#
set -x
-[ $# -eq 3 ] || {
- echo "SYNTAX: $0 <file> <rootfs part offset> <rootfs size>"
+[ $# -eq 5 ] || {
+ echo "SYNTAX: $0 <file> <kernel part offset> <kernel size> <rootfs part offset> <rootfs size>"
exit 1
}
OUTPUT="$1"
-ROOTFSOFFSET="$(($2 * 1024))"
-ROOTFSSIZE="$3"
+KERNELOFFSET="$(($2 * 1024))"
+KERNELSIZE="$3"
+ROOTFSOFFSET="$(($4 * 1024))"
+ROOTFSSIZE="$5"
head=4
-sect=16
+sect=63
-set $(ptgen -o $OUTPUT -h $head -s $sect -l $ROOTFSOFFSET -t 83 -p ${ROOTFSSIZE}M)
+set $(ptgen -o $OUTPUT -h $head -s $sect -t 83 -p ${KERNELSIZE}M@${KERNELOFFSET} -p ${ROOTFSSIZE}M@${ROOTFSOFFSET})