From patchwork Mon Apr 24 05:26:53 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abhimanyu Vishwakarma X-Patchwork-Id: 754106 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3wBFG5280Vz9sCX for ; Mon, 24 Apr 2017 15:27:09 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="dZ9s70IM"; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 0F46389641; Mon, 24 Apr 2017 05:27:06 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bjDIOfHNfe21; Mon, 24 Apr 2017 05:27:04 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id E16E3895DC; Mon, 24 Apr 2017 05:27:03 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 247541BFB44 for ; Mon, 24 Apr 2017 05:27:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 098C0895DC for ; Mon, 24 Apr 2017 05:27:03 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ot64cz7khE1t for ; Mon, 24 Apr 2017 05:27:02 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-io0-f196.google.com (mail-io0-f196.google.com [209.85.223.196]) by whitealder.osuosl.org (Postfix) with ESMTPS id 10D6D895CE for ; Mon, 24 Apr 2017 05:27:02 +0000 (UTC) Received: by mail-io0-f196.google.com with SMTP id h41so45592611ioi.1 for ; Sun, 23 Apr 2017 22:27:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=nIetFTODzr4FAX9l9+pxBNC/1Witg9KGuMpENWqBi2s=; b=dZ9s70IMjLu4X/46buvI5dJzDAd+L3x7pF/ViXGIlvnXyTcy3kDOr38dfzBofdcZ92 oLe1EwPpPrGVsN/rt0ORG2RIRvFt+bYApGNDR2gXBA5S9UFOrIKFIHWE0z5rl2dbfGt+ 3RsplIwu1f/5KX5XWau/tfxxWBm2CnIUQEcgdgIEVmcn8/w5h5hBh0K/ACGqR4ZJJ7it ej3GamhuiaJJkdv5Hxe8Cy4yInLwIP/xQElqZmlvBbJh01B3VSWX7lI6J960EPye9gmp zG9hA6LHiSPJ2Xe0FiQC+/MIEGrnOi1naEqI9HOsX51NczooXGztywDBlqFFtAu4hwOI E0WQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=nIetFTODzr4FAX9l9+pxBNC/1Witg9KGuMpENWqBi2s=; b=TJq+YNcp2C4VAxpnDSQQpXXo55/zyKL4AvOpLMiw1YIkwR5YmyFeUQRAmSpfUHelhO Bz5psIIRTvWBYqU0UKD7gvLlBRjCLK0FYIH10Ix/yCBl/ia5HLqRUbpi96Zrgako4wUt 1OhEgX5ru1FoPn98Y0p9OzIjtlgXqiHpglSlqpv3rdEQ1efw/dp4+YPkqlSspNZWVT3T k/S9rooj3aOJQuk7O9TjM9KV4Cl9bsVnvJqsQPxJuUsirHi7XiEYbLIAMazHRYaEyk1i W0ZgOB9es7xJW1d3OYTMUN+BdWGIxXufuDZYAXl7PFfzzEq4b9bVO18wPZb3atRKrH8W Sg7Q== X-Gm-Message-State: AN3rC/4hPJX1DUwAdYcOOjLya7u3sfDdY+wGrJU70p6yLps8oAh2lY28 qG+zbf4EW5TYjw== X-Received: by 10.98.11.205 with SMTP id 74mr22875363pfl.214.1493011620748; Sun, 23 Apr 2017 22:27:00 -0700 (PDT) Received: from localhost.localdomain ([117.247.62.66]) by smtp.gmail.com with ESMTPSA id f62sm28015008pfb.84.2017.04.23.22.26.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 23 Apr 2017 22:27:00 -0700 (PDT) From: Abhimanyu Vishwakarma To: buildroot@buildroot.org Date: Mon, 24 Apr 2017 10:56:53 +0530 Message-Id: <20170424052653.8264-1-abhimanyu.v@gmail.com> X-Mailer: git-send-email 2.11.0 Cc: thomas.petazzoni@free-electrons.com, etienne.phelip@savoirfairelinux.com, Abhimanyu Vishwakarma Subject: [Buildroot] [PATCH v10 2/2] Add defconfig for MIPS Creator ci40 X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From: Abhimanyu Vishwakarma Signed-off-by: Abhimanyu Vishwakarma Acked-by: Arnout Vandecappelle (Essensium/Mind) Tested-by: Rahul Bedarkar --- 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 Changes v7->v8 (Suggested by Arnout) - Use genimage.sh script from POST_IMAGE_SCRIPT - Use uboot kconfig base config - Remove dts config from defconfig - Some other small cleanup - rebase on master Changes v8->v9 (Suggested by Arnout) - Use sh instead of bash where bash feature is not needed - Use sudo for command run on user PC - Update bootloader flashing help text in readme.txt Changes v9->v10 - No changes board/ci40/genimage.cfg | 12 +++++++++ board/ci40/post-build.sh | 4 +++ board/ci40/readme.txt | 65 ++++++++++++++++++++++++++++++++++++++++++++++++ configs/ci40_defconfig | 48 +++++++++++++++++++++++++++++++++++ 4 files changed, 129 insertions(+) create mode 100644 board/ci40/genimage.cfg create mode 100755 board/ci40/post-build.sh create mode 100644 board/ci40/readme.txt create mode 100644 configs/ci40_defconfig diff --git a/board/ci40/genimage.cfg b/board/ci40/genimage.cfg new file mode 100644 index 000000000..0ffc91ce8 --- /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 000000000..9af74c7a7 --- /dev/null +++ b/board/ci40/post-build.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +# Copy to target +cp ${BINARIES_DIR}/vmlinux.gz.itb ${TARGET_DIR}/fitImage diff --git a/board/ci40/readme.txt b/board/ci40/readme.txt new file mode 100644 index 000000000..ba1eb9388 --- /dev/null +++ b/board/ci40/readme.txt @@ -0,0 +1,65 @@ +********************* +* 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 + +$ sudo dd if=./output/images/sdcard.img of=/dev/ + +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 +-------------------- + +The bootloader image will be available in the 'output/images' folder. To flash +the new bootloader, copy it to the device and use the following command on the +device: + +# flashcp -v u-boot-pistachio_marduk-.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 000000000..2ea3afe47 --- /dev/null +++ b/configs/ci40_defconfig @@ -0,0 +1,48 @@ +# 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 +# vmlinux.gz.itb image includes img/pistachio_marduk device tree +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="vmlinux.gz.itb" + +# 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_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="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="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ci40/genimage.cfg"