oxnas: kd20: generate image compatible with stock firmware
authorDaniel Golle <daniel@makrotopia.org>
Sun, 4 Sep 2016 01:11:45 +0000 (03:11 +0200)
committerDaniel Golle <daniel@makrotopia.org>
Sun, 4 Sep 2016 02:58:36 +0000 (04:58 +0200)
 * adjust MTD partitions to match vendor's scheme
 * generate *factory.tar.gz image compatible with stock web-if
   firmware upgrade interface

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
target/linux/oxnas/files/arch/arm/boot/dts/ox820-kd20.dts
target/linux/oxnas/image/Makefile

index 217d812b96371d69f740b2ee07c58f1c5715f47b..b5c79dede386d8cb51844ea708667b131d216792 100644 (file)
@@ -13,7 +13,7 @@
        model = "Shuttle KD20";
 
        chosen {
-               bootargs = "console=ttyS0,115200n8 earlyprintk=serial";
+               bootargs = "console=ttyS0,115200n8 earlyprintk=serial mem=256M";
        };
 
        pcie-controller@47C00000 {
                status = "okay";
 
                partition@0 {
-                       label = "boot";
-                       reg = <0x00000000 0x00e00000>;
-                       /*read-only;*/
+                       label = "stage1";
+                       reg = <0x00000000 0x00040000>;
+                       read-only;
+               };
+
+               partition@40000 {
+                       label = "u-boot";
+                       reg = <0x00040000 0x00200000>;
+                       read-only;
+               };
+
+               partition@240000 {
+                       label = "initrd";
+                       reg = <0x00240000 0x00600000>;
+               };
+
+               partition@840000 {
+                       label = "kernel";
+                       reg = <0x00840000 0x007C0000>;
                };
 
                partition@e00000 {
                        label = "ubi";
-                       reg = <0x00e00000 0x07200000>;
+                       reg = <0x01000000 0x07000000>;
                };
        };
 
index 097d894d50c6a70fb9d9da98edca747dd11ad62f..a9fb139ca451f1f4b402f7e0b48baab27b00d115 100644 (file)
@@ -48,11 +48,36 @@ define Device/akitio
 endef
 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 $@ .
+endef
+
+define Build/encrypt-3des
+       openssl enc -des3 -a -k $(1) -in $@ -out $@.new && mv $@.new $@
+endef
+
 define Device/kd20
-  DTS := 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
+  KERNEL_IN_UBI := 
+  UBOOTENV_IN_UBI := 
 endef
 TARGET_DEVICES += kd20