aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/image/chromium.mk
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ipq806x/image/chromium.mk')
-rw-r--r--target/linux/ipq806x/image/chromium.mk58
1 files changed, 58 insertions, 0 deletions
diff --git a/target/linux/ipq806x/image/chromium.mk b/target/linux/ipq806x/image/chromium.mk
new file mode 100644
index 0000000000..16af6b95ba
--- /dev/null
+++ b/target/linux/ipq806x/image/chromium.mk
@@ -0,0 +1,58 @@
+define Build/cros-gpt
+ cp $@ $@.tmp 2>/dev/null || true
+ ptgen -o $@.tmp -g \
+ -T cros_kernel -N kernel -p $(CONFIG_TARGET_KERNEL_PARTSIZE)m \
+ -N rootfs -p $(CONFIG_TARGET_ROOTFS_PARTSIZE)m \
+ -N rootfs_data -p \
+ $$((3687-$(CONFIG_TARGET_ROOTFS_PARTSIZE)-\
+ $(CONFIG_TARGET_KERNEL_PARTSIZE)))m
+ cat $@.tmp >> $@
+ rm $@.tmp
+endef
+
+define Build/append-kernel-part
+ dd if=$(IMAGE_KERNEL) bs=$(CONFIG_TARGET_KERNEL_PARTSIZE)M conv=sync >> $@
+endef
+
+# NB: Chrome OS bootloaders replace the '%U' in command lines with the UUID of
+# the kernel partition it chooses to boot from. This gives a flexible way to
+# consistently build and sign kernels that always use the subsequent
+# (PARTNROFF=1) partition as their rootfs.
+define Build/cros-vboot
+ $(STAGING_DIR_HOST)/bin/cros-vbutil \
+ -k $@ -c "root=PARTUUID=%U/PARTNROFF=1" -o $@.new
+ @mv $@.new $@
+endef
+
+define Device/OnhubImage
+ KERNEL_LOADADDR = 0x44208000
+ SOC := qcom-ipq8064
+ KERNEL_SUFFIX := -fit-zImage.itb.vboot
+ KERNEL_NAME := zImage
+ KERNEL = kernel-bin | fit none $$(KDIR)/image-$$(DEVICE_DTS).dtb | cros-vboot
+ IMAGES := factory.bin sysupgrade.bin
+ IMAGE/factory.bin := cros-gpt | append-kernel-part | append-rootfs
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+ DEVICE_PACKAGES := ath10k-firmware-qca988x-ct e2fsprogs kmod-fs-ext4 losetup \
+ partx-utils mkf2fs kmod-fs-f2fs \
+ ucode kmod-google-firmware kmod-tpm-i2c-infineon \
+ kmod-sound-soc-ipq8064-storm kmod-usb-storage
+endef
+
+define Device/asus_onhub
+ $(call Device/OnhubImage)
+ DEVICE_VENDOR := ASUS
+ DEVICE_MODEL := OnHub SRT-AC1900
+ DEVICE_DTS := $$(SOC)-asus-onhub
+ BOARD_NAME := asus-onhub
+endef
+TARGET_DEVICES += asus_onhub
+
+define Device/tplink_onhub
+ $(call Device/OnhubImage)
+ DEVICE_VENDOR := TP-Link
+ DEVICE_MODEL := OnHub AC1900 Cloud Router
+ DEVICE_DTS := $$(SOC)-tplink-onhub
+ BOARD_NAME := tplink-onhub
+endef
+TARGET_DEVICES += tplink_onhub