X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=target%2Flinux%2Foxnas%2Fimage%2FMakefile;h=a2312f246774d72076ecbdfdd1ef46ce8fe86eb3;hp=3a2a58d1e948879ae7e7f082c315ac7fbe3eabf0;hb=1cd0a4c688f02918cb96ff7f5f21cddc281d4f2c;hpb=72b58f2eb12ad4aa0c59481d0911dc5e39180eb5 diff --git a/target/linux/oxnas/image/Makefile b/target/linux/oxnas/image/Makefile index 3a2a58d1e9..a2312f2467 100644 --- a/target/linux/oxnas/image/Makefile +++ b/target/linux/oxnas/image/Makefile @@ -1,135 +1,107 @@ # -# Copyright (C) 2013 OpenWrt.org +# Copyright (C) 2013-2016 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # + include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -STG212_UBI_OPTS = -m 2048 -p 128KiB -s 512 -STG212_UBIFS_OPTS = -m 2048 -e 126KiB -c 4096 - -KD20_UBI_OPTS = -m 2048 -p 128KiB -s 512 -KD20_UBIFS_OPTS = -m 2048 -e 126KiB -c 4096 - -POGOPLUG_PRO_UBI_OPTS = -m 2048 -p 128KiB -s 512 -POGOPLUG_PRO_UBIFS_OPTS = -m 2048 -e 126KiB -c 4096 +UBIFS_OPTS = -m 2048 -e 126KiB -c 4096 -POGOPLUG_V3_UBI_OPTS = -m 2048 -p 128KiB -s 512 -POGOPLUG_V3_UBIFS_OPTS = -m 2048 -e 126KiB -c 4096 +DEVICE_VARS += DTS UBIFS_OPTS -KDIR_TMP:=$(KDIR)/tmp -VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux -UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage +KERNEL_LOADADDR := 0x60008000 -define sanitize_profile_name -$(shell echo $(PROFILE) | tr '[:upper:]' '[:lower:]' | sed 's/_/-/g') +define Build/ubootable + (dd if="$(KDIR)/u-boot.bin" bs=128k conv=sync; \ + dd if="$@" bs=128k conv=sync ) >> $@.new + @mv "$@.new" "$@" endef -define Image/BuildKernel/Template - $(CP) $(LINUX_DIR)/arch/arm/boot/dts/ox820-$(1).dtb $(BIN_DIR)/$(IMG_PREFIX)-$(1).dtb - - $(call Image/BuildKernel/MkFIT,$(1),$(KDIR)/zImage,$(BIN_DIR)/$(IMG_PREFIX)-$(1).dtb,none,0x60008000,0x60008000) - $(CP) $(KDIR)/fit-$(1).itb $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fit-uImage.bin - - ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) - $(call Image/BuildKernel/MkFIT,$(1),$(KDIR)/zImage-initramfs,$(BIN_DIR)/$(IMG_PREFIX)-$(1).dtb,none,0x60008000,0x60008000,-initramfs) - $(CP) $(KDIR)/fit-$(1)-initramfs.itb $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fit-uImage-initramfs.itb - if [ -e "$(BIN_DIR)/$(IMG_PREFIX)-ox820-u-boot.bin" ]; then \ - ( dd if=$(BIN_DIR)/$(IMG_PREFIX)-ox820-u-boot.bin bs=128k conv=sync ; dd if=$(KDIR)/fit-$(1)-initramfs.itb bs=128k conv=sync ) \ - > $(BIN_DIR)/$(IMG_PREFIX)-$(1)-u-boot-initramfs.itb; \ - fi - endif - - $(CP) $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage - $(call Image/BuildKernel/MkuImage, \ - none, 0x60008000, 0x60008000, \ - $(BIN_DIR)/$(IMG_PREFIX)-zImage, \ - $(BIN_DIR)/$(IMG_PREFIX)-uImage \ - ) - - ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) - $(CP) $(KDIR)/zImage-initramfs $(BIN_DIR)/$(IMG_PREFIX)-zImage-initramfs - $(call Image/BuildKernel/MkuImage, \ - none, 0x60008000, 0x60008000, \ - $(BIN_DIR)/$(IMG_PREFIX)-zImage-initramfs, \ - $(BIN_DIR)/$(IMG_PREFIX)-uImage-initramfs \ - ) - endif +define Device/Default + KERNEL_DEPENDS = $$(wildcard $$(DTS_DIR)/ox820-$$(DTS).dts) + KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/ox820-$$(DTS).dtb + KERNEL_NAME := zImage + KERNEL_SUFFIX := -uImage + KERNEL_INSTALL := 1 + KERNEL_INITRAMFS = kernel-bin | lzma | fit lzma $$(DTS_DIR)/ox820-$$(DTS).dtb | ubootable + KERNEL_INITRAMFS_PREFIX = $$(IMAGE_PREFIX)-u-boot-initramfs + KERNEL_INITRAMFS_SUFFIX := .bin + BLOCKSIZE := 128k + PAGESIZE := 2048 + SUBPAGESIZE := 512 + FILESYSTEMS := squashfs ubifs + PROFILES = Default $$(DTS) + IMAGES := ubinized.bin sysupgrade.tar + IMAGE/ubinized.bin := append-ubi + IMAGE/sysupgrade.tar := sysupgrade-tar + KERNEL_IN_UBI := 1 + UBOOTENV_IN_UBI := 1 endef -define Image/InstallKernel/Template - - ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_KERNEL),) - $(INSTALL_DIR) $(TARGET_DIR)/boot - ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_UIMAGE),) - $(CP) $(BIN_DIR)/$(IMG_PREFIX)-uImage $(TARGET_DIR)/boot/ - ln -sf $(IMG_PREFIX)-uImage $(TARGET_DIR)/boot/uImage - endif - ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_ZIMAGE),) - $(CP) $(BIN_DIR)/$(IMG_PREFIX)-zImage $(TARGET_DIR)/boot/ - ln -sf $(IMG_PREFIX)-zImage $(TARGET_DIR)/boot/zImage - endif - ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_FIT),) - $(CP) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fit-uImage.itb $(TARGET_DIR)/boot/ - ln -sf $(IMG_PREFIX)-$(1)-fit-uImage.itb $(TARGET_DIR)/boot/uImage.itb - endif - endif - - ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_DTB),) - $(INSTALL_DIR) $(TARGET_DIR)/boot - ifneq ($(1),) - $(CP) $(BIN_DIR)/$(IMG_PREFIX)-$(1).dtb $(TARGET_DIR)/boot/ - ln -sf $(IMG_PREFIX)-$(1).dtb $(TARGET_DIR)/boot/$(1).dtb - endif - endif +define Device/akitio + DTS := akitio + DEVICE_TITLE := Akitio MyCloud mini / Silverstone DC01 + DEVICE_PACKAGES := kmod-i2c-gpio kmod-rtc-ds1307 endef - -define Image/Build/squashfs - $(call Image/Build/SysupgradeNAND,$(call sanitize_profile_name),$(1),$(KDIR)/fit-$(call sanitize_profile_name).itb) - $(call Image/Build/UbinizeImage,$(call sanitize_profile_name),--uboot-env --kernel $(KDIR)/fit-$(call sanitize_profile_name).itb,$(1),$($(PROFILE)_UBI_OPTS)) +TARGET_DEVICES += akitio + +define Build/omninas-factory + rm -rf $@.tmp $@.dummy $@.dummy.gz + mkdir -p $@.tmp + $(CP) $@ $@.tmp/uImage + dd if=/dev/zero bs=64k count=4 of=$@.dummy + gzip $@.dummy + mkimage -A arm -T ramdisk -C gzip -n "dummy" \ + -d $@.dummy.gz \ + $@.tmp/rdimg.gz + echo 2.35.20140102 > $@.tmp/version ; echo >> $@.tmp/version + chmod 0744 $@.tmp/* + $(TAR) -C $@.tmp -czvf $@ \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") . endef -define Image/mkfs/targz - - $(TAR) -czpf $(BIN_DIR)/$(IMG_PREFIX)-$(call sanitize_profile_name)-rootfs.tar.gz --numeric-owner --owner=0 --group=0 -C $(TARGET_DIR)/ . +define Build/encrypt-3des + openssl enc -des3 -a -k $(1) -in $@ -out $@.new && mv $@.new $@ endef -define Image/Build/ubifs - - ifneq ($($(PROFILE)_UBIFS_OPTS),) - $(call Image/Build/SysupgradeNAND,$(call sanitize_profile_name),ubifs,$(KDIR)/fit-$(call sanitize_profile_name).itb) - $(call Image/Build/UbinizeImage,$(call sanitize_profile_name),--uboot-env --kernel $(KDIR)/fit-$(call sanitize_profile_name).itb,ubifs,$($(PROFILE)_UBI_OPTS)) - endif - +define Device/kd20 + DEVICE_DTS := ox820-kd20 + DEVICE_TITLE := Shuttle KD20 + KERNEL := kernel-bin | append-dtb | uImage none + KERNEL_INITRAMFS_PREFIX = $$(IMAGE_PREFIX)-factory + KERNEL_INITRAMFS_SUFFIX := .tar.gz + KERNEL_INITRAMFS = kernel-bin | append-dtb | uImage none | omninas-factory | encrypt-3des sohmuntitnlaes + KERNEL_IMAGE := zImage + DEVICE_PACKAGES := kmod-usb3 kmod-i2c-gpio kmod-rtc-pcf8563 kmod-gpio-beeper \ + kmod-hwmon-core kmod-hwmon-gpiofan \ + kmod-md-mod kmod-md-raid0 kmod-md-raid1 kmod-fs-ext4 kmod-fs-xfs + KERNEL_IN_UBI := + UBOOTENV_IN_UBI := endef +TARGET_DEVICES += kd20 -Image/BuildKernel/Template/POGOPLUG_PRO=$(call Image/BuildKernel/Template,pogoplug-pro) -Image/InstallKernel/Template/POGOPLUG_PRO=$(call Image/InstallKernel/Template,pogoplug-pro) - -Image/BuildKernel/Template/POGOPLUG_V3=$(call Image/BuildKernel/Template,pogoplug-v3) -Image/InstallKernel/Template/POGOPLUG_V3=$(call Image/InstallKernel/Template,pogoplug-v3) - -Image/BuildKernel/Template/STG212=$(call Image/BuildKernel/Template,stg212) -Image/InstallKernel/Template/STG212=$(call Image/InstallKernel/Template,stg212) - -Image/BuildKernel/Template/KD20=$(call Image/BuildKernel/Template,kd20) -Image/InstallKernel/Template/KD20=$(call Image/InstallKernel/Template,kd20) - -define Image/BuildKernel - $(call Image/BuildKernel/Template/$(PROFILE)) +define Device/pogoplug-pro + DTS := pogoplug-pro + DEVICE_TITLE := Cloud Engines Pogoplug Pro (with mPCIe) endef +TARGET_DEVICES += pogoplug-pro -define Image/InstallKernel - $(call Image/InstallKernel/Template/$(PROFILE)) +define Device/pogoplug-v3 + DTS := pogoplug-v3 + DEVICE_TITLE := Cloud Engines Pogoplug V3 (no mPCIe) endef +TARGET_DEVICES += pogoplug-v3 -define Image/Build - $(if $(Image/Build/$(1)), \ - $(call Image/Build/$(1),$(1)), \ - $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(call sanitize_profile_name)-$(1).img \ - ) +define Device/stg212 + DTS := stg212 + DEVICE_TITLE := MitraStar STG-212 endef +TARGET_DEVICES += stg212 + +VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux +UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage $(eval $(call BuildImage))