diff mbox

[v7] Add defconfig for MIPS Creator ci40

Message ID 1491378735-6506-1-git-send-email-abhimanyu.v@gmail.com
State Changes Requested
Headers show

Commit Message

Abhimanyu Vishwakarma April 5, 2017, 7:52 a.m. UTC
From: Abhimanyu Vishwakarma <Abhimanyu.V@gmail.com>

Add post-image script to generate sdcard.img for
preparing sdcard/usb device.

Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.V@gmail.com>
---
 Changes v1->v2
  - No change
 Changes v2->v3 (Suggested by Arnout)
  - Remove uImage and add fitImage generation
  - Tidy readme.txt
  - Tidy ci40_defconfig, remove custom toolchain and add wifi helper packages
  Some changes are not done:
  - Using git-helper:
    - Custom kernel doesnt provide tar file, so it didnt work for me
 Changes v3->v4 (Suggested by Arnout)
  - Use github helper for getting kernel/u-boot
  - rename fitImage.its -> fitImage.its.in to reflect as template file,
    remove hardcoded dtb filename
  - Find dtb file in output/images directory and use first dtb in fitImage
  - Remove image size from genimage.cfg
  - Tidy readme.txt and add section to explain how to stop u-boot autoboot,
    how to make it persistent, and other grammar
 Changes v4->v5 (Suggested by Thomas)
  - Use fixed kernel entry addr
  - Generate vmlinux.bin.gz from generate vmlinux.bin
  - Remove generating uImage (not required for anything now)
 Changes v5->v6
  - Use kernel generate fitimage
  - bump up u-boot version
  - Change emailid from imgtec.com -> personal id
 Changes v6->v7 (Suggested by Thomas)
  - Use genimage.sh script
  - Improve and fix grammer in readme.txt

 board/ci40/genimage.cfg  | 12 +++++++++
 board/ci40/post-build.sh |  4 +++
 board/ci40/post-image.sh |  5 ++++
 board/ci40/readme.txt    | 64 ++++++++++++++++++++++++++++++++++++++++++++++++
 configs/ci40_defconfig   | 49 ++++++++++++++++++++++++++++++++++++
 5 files changed, 134 insertions(+)
 create mode 100644 board/ci40/genimage.cfg
 create mode 100755 board/ci40/post-build.sh
 create mode 100755 board/ci40/post-image.sh
 create mode 100644 board/ci40/readme.txt
 create mode 100644 configs/ci40_defconfig

Comments

Arnout Vandecappelle April 10, 2017, 3:28 p.m. UTC | #1
On 05-04-17 09:52, Abhimanyu Vishwakarma wrote:
> From: Abhimanyu Vishwakarma <Abhimanyu.V@gmail.com>
> 
> Add post-image script to generate sdcard.img for
> preparing sdcard/usb device.

 This won't be true anymore... See below.
[snip]
> diff --git a/board/ci40/post-image.sh b/board/ci40/post-image.sh
> new file mode 100755
> index 0000000..4b7d492
> --- /dev/null
> +++ b/board/ci40/post-image.sh
> @@ -0,0 +1,5 @@
> +#!/usr/bin/env bash
> +
> +BOARD_DIR="$(dirname $0)"
> +
> +support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg"

 The idea is to remove this script entirely and instead set
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ci40/genimage.cfg"

> diff --git a/board/ci40/readme.txt b/board/ci40/readme.txt

 Excellent readme!

[snip]
> diff --git a/configs/ci40_defconfig b/configs/ci40_defconfig
> new file mode 100644
> index 0000000..7d21f87
> --- /dev/null
> +++ b/configs/ci40_defconfig
> @@ -0,0 +1,49 @@
> +# architecture
> +BR2_mipsel=y
> +BR2_mips_32r2=y
> +
> +# linux header same as custom kernel ie 4.4.x
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
> +
> +# kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,CreatorDev,linux,openwrt-4.4.14/linux-openwrt-4.4.14.tar.gz)"

 Minor nit: this should be

BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call
github,CreatorDev,linux,openwrt-4.4.14)/linux-openwrt-4.4.14.tar.gz"

It expands to exactly the same thing, of course, but that way it looks more
familiar to people who are used to the github helper.


> +BR2_LINUX_KERNEL_DEFCONFIG="pistachio"
> +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="vmlinux.gz.itb"
> +BR2_LINUX_KERNEL_IMAGE_NAME="vmlinux.gz.itb"

 This can actually be left empty - if empty, it defaults to
BR2_LINUX_KERNEL_IMAGE_TARGET_NAME (cfr. help text).

> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="img/pistachio_marduk"

 There is something funny here... The dtb is not written to the SD card, and it
is not saved together with U-Boot. I suppose that it is linked into the
fitImage, but how does that work? Is any dtb that is built automatically linked
in, or does the kernel config specify which dtb to link in? In the latter case,
do we need to build the DTB from Buildroot?

 If the DTB is indeed built implicitly from vmlinux.gz.itb, then the DTS stuff
can be removed from the defconfig, but it's useful to keep a comment like this:

# .itb image includes img/pistachio_marduk device tree

> +
> +# bootloader flash support
> +BR2_PACKAGE_MTD=y
> +
> +# wireless firmware
> +BR2_PACKAGE_UCCP420WLAN=y
> +
> +# wireless package
> +BR2_PACKAGE_WIRELESS_TOOLS=y
> +BR2_PACKAGE_WPA_SUPPLICANT=y
> +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
> +
> +# bootloader
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BOARDNAME="pistachio_marduk"

 Shouldn't this be

BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="pistachio_marduk"

? The above works because U-Boot has this legacy handling, but we really prefer
to use the proper Kconfig-based approach if possible.

> +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
> +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,CreatorDev,u-boot,v1.0.5/u-boot-CreatorDev-v1.0.5.tar.gz)"

 Same here about github helper.

> +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
> +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-pistachio_marduk-2015.10-v1.0.5.img"
> +
> +# fitimage / image generation
> +BR2_PACKAGE_HOST_UBOOT_TOOLS=y

 Hm, we have a problem here... You need to enable this because it is used by the
linux build, but there is no dependency from linux on host-uboot-tools:

ifeq ($(BR2_LINUX_KERNEL_UBOOT_IMAGE),y)
LINUX_DEPENDENCIES += host-uboot-tools
endif

but since you use a custom image name, BR2_LINUX_KERNEL_UBOOT_IMAGE) isn't selected.

 That piece of code should probably be changed into

# If host-uboot-tools is selected by the user, assume it is needed to
# build a custom kernel image
ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS),y)
LINUX_DEPENDENCIES += host-uboot-tools
endif

and also in linux/Config.in replace all selects of BR2_LINUX_KERNEL_UBOOT_IMAGE
with BR2_PACKAGE_HOST_UBOOT_TOOLS.

 I'll send an RFC patch for that, can you test it and add your tested-by tag?


 Regards,
 Arnout

> +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
> +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/ci40/post-build.sh"
> +
> +# image generation
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/ci40/post-image.sh"
> +
>
Abhimanyu Vishwakarma April 10, 2017, 7:22 p.m. UTC | #2
Thankyou Arnout!

On Mon, Apr 10, 2017 at 8:58 PM, Arnout Vandecappelle <arnout@mind.be>
wrote:

>
>
> On 05-04-17 09:52, Abhimanyu Vishwakarma wrote:
> > From: Abhimanyu Vishwakarma <Abhimanyu.V@gmail.com>
> >
> > Add post-image script to generate sdcard.img for
> > preparing sdcard/usb device.
>
>  This won't be true anymore... See below.
> [snip]
> > diff --git a/board/ci40/post-image.sh b/board/ci40/post-image.sh
> > new file mode 100755
> > index 0000000..4b7d492
> > --- /dev/null
> > +++ b/board/ci40/post-image.sh
> > @@ -0,0 +1,5 @@
> > +#!/usr/bin/env bash
> > +
> > +BOARD_DIR="$(dirname $0)"
> > +
> > +support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg"
>
>  The idea is to remove this script entirely and instead set
> BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
> BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ci40/genimage.cfg"
>
> I remember i did try this (tried now too)  but it doesnt work, i end up
with following error:
BUILD_DIR=/home/abhi/code/buildroot/output/build
support/scripts/genimage.sh /home/abhi/code/buildroot/output/images -c
board/ci40/genimage.cfg
>>>   Executing post-image script support/scripts/genimage.sh
Error: Missing argument

This is due to mix of positional and optional argument. Anything wrong with
config or it is issue with genimage.sh script.

> diff --git a/board/ci40/readme.txt b/board/ci40/readme.txt
>
>  Excellent readme!
>
> All credit to you and Thomas ;)


> [snip]
> > diff --git a/configs/ci40_defconfig b/configs/ci40_defconfig
> > new file mode 100644
> > index 0000000..7d21f87
> > --- /dev/null
> > +++ b/configs/ci40_defconfig
> > @@ -0,0 +1,49 @@
> > +# architecture
> > +BR2_mipsel=y
> > +BR2_mips_32r2=y
> > +
> > +# linux header same as custom kernel ie 4.4.x
> > +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
> > +
> > +# kernel
> > +BR2_LINUX_KERNEL=y
> > +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
> > +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call
> github,CreatorDev,linux,openwrt-4.4.14/linux-openwrt-4.4.14.tar.gz)"
>
>  Minor nit: this should be
>
> BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call
> github,CreatorDev,linux,openwrt-4.4.14)/linux-openwrt-4.4.14.tar.gz"
>
> It expands to exactly the same thing, of course, but that way it looks more
> familiar to people who are used to the github helper.
>
> Thanks!


> > +BR2_LINUX_KERNEL_DEFCONFIG="pistachio"
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="vmlinux.gz.itb"
> > +BR2_LINUX_KERNEL_IMAGE_NAME="vmlinux.gz.itb"
>
>  This can actually be left empty - if empty, it defaults to
> BR2_LINUX_KERNEL_IMAGE_TARGET_NAME (cfr. help text).
>
> > +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> > +BR2_LINUX_KERNEL_INTREE_DTS_NAME="img/pistachio_marduk"
>
>  There is something funny here... The dtb is not written to the SD card,
> and it
> is not saved together with U-Boot. I suppose that it is linked into the
> fitImage, but how does that work? Is any dtb that is built automatically
> linked
> in, or does the kernel config specify which dtb to link in? In the latter
> case,
> do we need to build the DTB from Buildroot?
>
> The dtb is linked into fitImage so yes there is no more needed to be build
here.

 If the DTB is indeed built implicitly from vmlinux.gz.itb, then the DTS
> stuff
> can be removed from the defconfig, but it's useful to keep a comment like
> this:
>
> # .itb image includes img/pistachio_marduk device tree
>
> Will do.

> > +
> > +# bootloader flash support
> > +BR2_PACKAGE_MTD=y
> > +
> > +# wireless firmware
> > +BR2_PACKAGE_UCCP420WLAN=y
> > +
> > +# wireless package
> > +BR2_PACKAGE_WIRELESS_TOOLS=y
> > +BR2_PACKAGE_WPA_SUPPLICANT=y
> > +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
> > +
> > +# bootloader
> > +BR2_TARGET_UBOOT=y
> > +BR2_TARGET_UBOOT_BOARDNAME="pistachio_marduk"
>
>  Shouldn't this be
>
> BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
> BR2_TARGET_UBOOT_BOARD_DEFCONFIG="pistachio_marduk"
>
> ? The above works because U-Boot has this legacy handling, but we really
> prefer
> to use the proper Kconfig-based approach if possible.
>
> I was not aware of this, will test and update the patch.


> > +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
> > +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call
> github,CreatorDev,u-boot,v1.0.5/u-boot-CreatorDev-v1.0.5.tar.gz)"
>
>  Same here about github helper.
>
> > +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
> > +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-pistachio_mardu
> k-2015.10-v1.0.5.img"
> > +
> > +# fitimage / image generation
> > +BR2_PACKAGE_HOST_UBOOT_TOOLS=y
>
>  Hm, we have a problem here... You need to enable this because it is used
> by the
> linux build, but there is no dependency from linux on host-uboot-tools:
>
> ifeq ($(BR2_LINUX_KERNEL_UBOOT_IMAGE),y)
> LINUX_DEPENDENCIES += host-uboot-tools
> endif
>
> but since you use a custom image name, BR2_LINUX_KERNEL_UBOOT_IMAGE) isn't
> selected.
>
>  That piece of code should probably be changed into
>
> # If host-uboot-tools is selected by the user, assume it is needed to
> # build a custom kernel image
> ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS),y)
> LINUX_DEPENDENCIES += host-uboot-tools
> endif
>
> and also in linux/Config.in replace all selects of
> BR2_LINUX_KERNEL_UBOOT_IMAGE
> with BR2_PACKAGE_HOST_UBOOT_TOOLS.
>
>  I'll send an RFC patch for that, can you test it and add your tested-by
> tag?
>
> Yes, will do that tomorrow. Thanks

>
>  Regards,
>  Arnout
>
> > +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
> > +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
> > +BR2_ROOTFS_POST_BUILD_SCRIPT="board/ci40/post-build.sh"
> > +
> > +# image generation
> > +BR2_TARGET_ROOTFS_EXT2=y
> > +BR2_TARGET_ROOTFS_EXT2_4=y
> > +BR2_PACKAGE_HOST_GENIMAGE=y
> > +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/ci40/post-image.sh"
> > +
> >
>
> --
> Arnout Vandecappelle                          arnout at mind be
> Senior Embedded Software Architect            +32-16-286500
> Essensium/Mind                                http://www.mind.be
> G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
> LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
> GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
>

Regards
Abhimanyu
Arnout Vandecappelle April 10, 2017, 9 p.m. UTC | #3
[Grmbl, I hate it how GMail screws up quoting. Anybody got good contact with
Google?]

On 10-04-17 21:22, abhimanyu.v@gmail.com wrote:
> Thankyou Arnout!
> 
> On Mon, Apr 10, 2017 at 8:58 PM, Arnout Vandecappelle <arnout@mind.be
> <mailto:arnout@mind.be>> wrote:
> 
> 
> 
>     On 05-04-17 09:52, Abhimanyu Vishwakarma wrote:
[snip]
>     > +support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg"
> 
>      The idea is to remove this script entirely and instead set
>     BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
>     BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ci40/genimage.cfg"
> 
> I remember i did try this (tried now too)  but it doesnt work, i end up with
> following error:
> BUILD_DIR=/home/abhi/code/buildroot/output/build support/scripts/genimage.sh
> /home/abhi/code/buildroot/output/images -c board/ci40/genimage.cfg
>>>>   Executing post-image script support/scripts/genimage.sh
> Error: Missing argument
> 
> This is due to mix of positional and optional argument. Anything wrong with
> config or it is issue with genimage.sh script. 

 It's the genimage.sh script that's not right. It doesn't support BINARIES_DIR
as the first argument, which means it can't be used directly as a post-image script.

 Etienne, any chance of fixing that?

 Regards,
 Arnout

[snip]
Phelip Etienne April 18, 2017, 2:28 p.m. UTC | #4
Hello Arnout, all,

[added Gael in CC]

----- Le 10 Avr 17, à 17:00, Arnout Vandecappelle arnout@mind.be a écrit :

>> Error: Missing argument
>> 
>> This is due to mix of positional and optional argument. Anything wrong with
>> config or it is issue with genimage.sh script.
> 
> It's the genimage.sh script that's not right. It doesn't support BINARIES_DIR
> as the first argument, which means it can't be used directly as a post-image
> script.
> 
> Etienne, any chance of fixing that?

Sorry for the delay. I do agree with Gael's suggestions in V8.

I can submit a fix, what do you think?

Regards,
Etienne
diff mbox

Patch

diff --git a/board/ci40/genimage.cfg b/board/ci40/genimage.cfg
new file mode 100644
index 0000000..0ffc91c
--- /dev/null
+++ b/board/ci40/genimage.cfg
@@ -0,0 +1,12 @@ 
+# Minimal SD card image
+#
+
+image sdcard.img {
+  hdimage {
+  }
+
+  partition rootfs {
+    partition-type = 0x83
+    image = "rootfs.ext4"
+  }
+}
diff --git a/board/ci40/post-build.sh b/board/ci40/post-build.sh
new file mode 100755
index 0000000..978ced5
--- /dev/null
+++ b/board/ci40/post-build.sh
@@ -0,0 +1,4 @@ 
+#!/bin/bash
+
+# Copy to target
+cp ${BINARIES_DIR}/vmlinux.gz.itb ${TARGET_DIR}/fitImage
diff --git a/board/ci40/post-image.sh b/board/ci40/post-image.sh
new file mode 100755
index 0000000..4b7d492
--- /dev/null
+++ b/board/ci40/post-image.sh
@@ -0,0 +1,5 @@ 
+#!/usr/bin/env bash
+
+BOARD_DIR="$(dirname $0)"
+
+support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg"
diff --git a/board/ci40/readme.txt b/board/ci40/readme.txt
new file mode 100644
index 0000000..9d399c8
--- /dev/null
+++ b/board/ci40/readme.txt
@@ -0,0 +1,64 @@ 
+*********************
+* MIPS Creator CI40 *
+*********************
+
+This document details how to build and run a Buildroot system on the
+MIPS Creator CI40 platform. For more details about the CI40, see
+https://creatordev.io/ci40-iot-hub.html.
+
+How to build
+------------
+
+$ make ci40_defconfig
+$ make
+
+Prepare USB/MMC for boot
+------------------------
+
+On successful build, "sdcard.img" file will be created in 'output/images'
+folder.
+
+Use following command to write image to bootable device
+
+# dd if=./output/images/sdcard.img of=/dev/<your-microsd-or-usb-device>
+
+Booting from USB/MMC
+--------------------
+
+The boot loader is already present in NOR flash. To boot your newly generated
+Linux and root filesystem, you need to interrupt U-Boot autoboot. Current
+U-Boot is configured with 2 seconds of boot-delay, after expiry of this
+boot-delay timeout U-Boot starts booting the default image. To interrupt
+autoboot, press any key before the boot-delay time expires, U-Boot will
+stop the autoboot process and give a U-Boot prompt. You can now boot to
+your preferred boot method as describe below:
+
+From USB
+  pistachio # run usbboot
+
+From SD-Card
+  pistachio # run mmcboot
+
+Persistent boot command
+-----------------------
+
+To boot automatically to your preferred boot method, use following command to
+make it persistent, for example to automatically boot to usb:
+
+  pistachio # setenv bootcmd run usbboot
+  pistachio # saveenv
+
+Flash new bootloader
+--------------------
+
+Bootloader image will be available in 'output/images' folder.
+Use following command to flash new bootloader:
+
+# flashcp -v u-boot-pistachio_marduk-<version>.img /dev/mtd0
+
+Online docs
+-----------
+
+Mostly for OpenWRT but it is applicable to Buildroot
+https://docs.creatordev.io/ci40/guides/openwrt-platform/#overview
+
diff --git a/configs/ci40_defconfig b/configs/ci40_defconfig
new file mode 100644
index 0000000..7d21f87
--- /dev/null
+++ b/configs/ci40_defconfig
@@ -0,0 +1,49 @@ 
+# architecture
+BR2_mipsel=y
+BR2_mips_32r2=y
+
+# linux header same as custom kernel ie 4.4.x
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
+
+# kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,CreatorDev,linux,openwrt-4.4.14/linux-openwrt-4.4.14.tar.gz)"
+BR2_LINUX_KERNEL_DEFCONFIG="pistachio"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="vmlinux.gz.itb"
+BR2_LINUX_KERNEL_IMAGE_NAME="vmlinux.gz.itb"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="img/pistachio_marduk"
+
+# bootloader flash support
+BR2_PACKAGE_MTD=y
+
+# wireless firmware
+BR2_PACKAGE_UCCP420WLAN=y
+
+# wireless package
+BR2_PACKAGE_WIRELESS_TOOLS=y
+BR2_PACKAGE_WPA_SUPPLICANT=y
+BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
+
+# bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="pistachio_marduk"
+BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
+BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,CreatorDev,u-boot,v1.0.5/u-boot-CreatorDev-v1.0.5.tar.gz)"
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-pistachio_marduk-2015.10-v1.0.5.img"
+
+# fitimage / image generation
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/ci40/post-build.sh"
+
+# image generation
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/ci40/post-image.sh"
+