Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 5/5] A20-OLinuXino-Lime: new board (legacy)
Date: Thu, 18 Jun 2015 00:52:46 +0200	[thread overview]
Message-ID: <5581FA3E.5020005@mind.be> (raw)
In-Reply-To: <1434393964-20355-6-git-send-email-francois.perrad@gadz.org>

On 06/15/15 20:46, Francois Perrad wrote:
> config legacy / sunxi like Cubieboard2

 Instead of legacy, I'd call it 3d or accelerated or something, that makes the
difference a little clearer.

> 
> Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
> ---
>  board/olimex/a20_olinuxino_lime/boot-legacy.cmd   |  4 ++
>  board/olimex/a20_olinuxino_lime/mksunxicard.sh    |  1 +
>  board/olimex/a20_olinuxino_lime/post-build.sh     | 16 +++---
>  board/olimex/a20_olinuxino_lime/readme-legacy.txt | 60 +++++++++++++++++++++++
>  configs/olimex_a20_olinuxino_legacy_defconfig     | 43 ++++++++++++++++
>  5 files changed, 118 insertions(+), 6 deletions(-)
>  create mode 100644 board/olimex/a20_olinuxino_lime/boot-legacy.cmd
>  create mode 120000 board/olimex/a20_olinuxino_lime/mksunxicard.sh
>  create mode 100644 board/olimex/a20_olinuxino_lime/readme-legacy.txt
>  create mode 100644 configs/olimex_a20_olinuxino_legacy_defconfig
> 
> diff --git a/board/olimex/a20_olinuxino_lime/boot-legacy.cmd b/board/olimex/a20_olinuxino_lime/boot-legacy.cmd
> new file mode 100644
> index 0000000..849ed00
> --- /dev/null
> +++ b/board/olimex/a20_olinuxino_lime/boot-legacy.cmd
> @@ -0,0 +1,4 @@
> +setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 ${extra}
> +fatload mmc 0 0x43000000 script.bin
> +fatload mmc 0 0x48000000 uImage
> +bootm 0x48000000
> diff --git a/board/olimex/a20_olinuxino_lime/mksunxicard.sh b/board/olimex/a20_olinuxino_lime/mksunxicard.sh
> new file mode 120000
> index 0000000..8879400
> --- /dev/null
> +++ b/board/olimex/a20_olinuxino_lime/mksunxicard.sh
> @@ -0,0 +1 @@
> +../../cubietech/cubieboard/mksunxicard.sh

 Since this is anyway a symlink, there's no need to rename the script in patch
4/5, you can just link to mkcubiecard.sh.

> \ No newline at end of file
> diff --git a/board/olimex/a20_olinuxino_lime/post-build.sh b/board/olimex/a20_olinuxino_lime/post-build.sh
> index d8d8fa4..8343611 100755
> --- a/board/olimex/a20_olinuxino_lime/post-build.sh
> +++ b/board/olimex/a20_olinuxino_lime/post-build.sh
> @@ -4,9 +4,13 @@ BOARD_DIR="$(dirname $0)"
>  BOOT_DIR=$TARGET_DIR/boot
>  MKIMAGE=$HOST_DIR/usr/bin/mkimage
>  
> -rm -rf $BOOT_DIR
> -mkdir $BOOT_DIR
> -mkdir $BOOT_DIR/dtb
> -cp $BINARIES_DIR/sun7i-a20-olinuxino-lime.dtb $BOOT_DIR/dtb/sun7i-a20-olinuxino-lime.dtb
> -$MKIMAGE -A arm -O linux -T script -C none -d $BOARD_DIR/boot.cmd $BOOT_DIR/boot.scr
> -cp $BINARIES_DIR/zImage $BOOT_DIR/zImage
> +if [ -e $BINARIES_DIR/sun7i-a20-olinuxino-lime.dtb ]; then
> +	rm -rf $BOOT_DIR
> +	mkdir $BOOT_DIR
> +	mkdir $BOOT_DIR/dtb
> +	cp $BINARIES_DIR/sun7i-a20-olinuxino-lime.dtb $BOOT_DIR/dtb/sun7i-a20-olinuxino-lime.dtb
> +	$MKIMAGE -A arm -O linux -T script -C none -d $BOARD_DIR/boot.cmd $BOOT_DIR/boot.scr
> +	cp $BINARIES_DIR/zImage $BOOT_DIR/zImage
> +else
> +	$MKIMAGE -A arm -O linux -T script -C none -d $BOARD_DIR/boot-legacy.cmd $BINARIES_DIR/boot.scr

 If you follow the comments I made in patch 3/5, you can rewrite this to pass
the input .cmd and output directory as a parameter to the script. So

$MKIMAGE -A arm -O linux -T script -C none -d $2 $3/boot.scr

BR2_ROOTFS_POST_SCRIPT_ARGS="board/.../boot-legacy.cmd $(BINARIES_DIR)"

and for the mainline one:

BR2_ROOTFS_POST_SCRIPT_ARGS="board/.../boot.cmd $(TARGET_DIR)/boot"

> +fi
> diff --git a/board/olimex/a20_olinuxino_lime/readme-legacy.txt b/board/olimex/a20_olinuxino_lime/readme-legacy.txt
> new file mode 100644
> index 0000000..7a0b452
> --- /dev/null
> +++ b/board/olimex/a20_olinuxino_lime/readme-legacy.txt

 I would combine both versions in a single readme.txt.


> @@ -0,0 +1,60 @@
> +A20-OLinuXino-LIME
> +
> +Intro
> +=====
> +
> +This is a open hardware board,
> +see https://www.olimex.com/Products/OLinuXino/open-source-hardware
> +
> +See https://linux-sunxi.org/Linux_Kernel, for choosing between
> +the legacy linux-sunxi kernel and the device tree / mainline kernel.

 I think you should copy the TL;DR in this file:

The legacy linux-sunxi kernels are based on the vendor code drops. It is only
useful when accelerated 3D graphics and multimedia support is strictly necessary.

The Mainline Kernel is already a much better choice for a headless server. And
also the mainline kernel works fine even for a basic Linux desktop system
running on top of a simple framebuffer, which may be good enough for the users
who do not need fancy 3D graphics or video playback acceleration.



> +
> +
> +How to build it
> +===============
> +
> +    $ make olimex_a20_olinuxino_legacy_defconfig
> +
> +Compile all and build rootfs image:
> +
> +    $ make
> +
> +Result of the build
> +-------------------
> +
> +After building, you should get a tree like this:
> +
> +    output/images/
> +    +-- boot.scr
> +    +-- rootfs.tar
> +    +-- script.bin
> +    +-- u-boot-sunxi-with-spl.bin
> +    +-- u-boot.bin
> +    `-- uImage
> +
> +
> +How setting up the SD card
> +==========================
> +
> +Depending on the rootfs size, you might want to use a 2GB or larger SD-card.
> +The script `mksunxicard.sh` will take care of partitioning and formatting
> +the SD-card.
> +
> +BEWARE! This process will erase your SD card.
> +
> +Use `dmesg` to find out where the SD card is attached in the /dev tree
> +(<device>) and then:
> +
> +    # ./mksunxicard.sh <images_dir> <device>
> +
> +where:
> +    - <images_dir> is the directory containing the generated files (usually
> +    output/images)
> +    - <device> is the device file of the SD card (usually /dev/sdX)

 Of course, you could just as well use the same approach for the mainline
version, i.e. put the boot stuff in a fatfs and only the real rootfs in the ext2.

> +
> +
> +Finish
> +======
> +
> +Eject the SD card, insert it in the A20-OLinuXino-LIME board, and pwer it up.

pwer -> power

> +
> diff --git a/configs/olimex_a20_olinuxino_legacy_defconfig b/configs/olimex_a20_olinuxino_legacy_defconfig
> new file mode 100644
> index 0000000..d5987d4
> --- /dev/null
> +++ b/configs/olimex_a20_olinuxino_legacy_defconfig
> @@ -0,0 +1,43 @@
> +# Architecture
> +BR2_arm=y
> +BR2_cortex_a7=y
> +
> +# Kernel headers
> +BR2_KERNEL_HEADERS_3_4=y
> +
> +# System configuration
> +BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino"
> +BR2_TARGET_GENERIC_ISSUE="Welcome to use OLinuXino!"
> +BR2_TARGET_GENERIC_GETTY=y
> +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/olimex/a20_olinuxino_lime/post-build.sh"
> +
> +# Kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> +BR2_LINUX_KERNEL_VERSION="sunxi-3.4"
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux-sunxi/linux-sunxi.git"

 You can use a wget URL instead:
$(call github,linux-sunxi,linux-sunxi,9a1cd034181af628d4145202289e1993c1687db6)

> +# based on Linux version 3.4.103
> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="9a1cd034181af628d4145202289e1993c1687db6"
> +BR2_LINUX_KERNEL_USE_DEFCONFIG=y
> +BR2_LINUX_KERNEL_DEFCONFIG="sun7i"
> +
> +# sunxi packages
> +BR2_PACKAGE_SUNXI_TOOLS=y
> +BR2_PACKAGE_SUNXI_BOARDS=y
> +BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a20/a20-olinuxino_lime.fex"
> +
> +# Bootloaders
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BOARDNAME="A20-OLinuXino-Lime"
> +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> +BR2_TARGET_UBOOT_VERSION="sunxi"
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux-sunxi/u-boot-sunxi.git"

 Same here.


 Regards,
 Arnout

> +# based on U-Boot 2014.04
> +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="ea1ac32bf76eb60baef474c2516fc431b381d952"
> +BR2_TARGET_UBOOT_FORMAT_BIN=y
> +BR2_TARGET_UBOOT_SPL=y
> +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
> +
> +# Additional tools
> +BR2_PACKAGE_HOST_UBOOT_TOOLS=y
> 


-- 
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:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

      reply	other threads:[~2015-06-17 22:52 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-15 18:45 [Buildroot] [PATCH 0/5] A20-OLinuXino-Lime: new board Francois Perrad
2015-06-15 18:46 ` [Buildroot] [PATCH 1/5] sunxi-board: bump to version a6a4e94066f4ec6b26fc7060dc453a6bcf26a504 Francois Perrad
2015-06-15 18:46 ` [Buildroot] [PATCH 2/5] a10disp: bump to version v0.6.1 Francois Perrad
2015-06-15 18:46 ` [Buildroot] [PATCH 3/5] A20-OLinuXino-Lime: new board (mainline) Francois Perrad
2015-06-17 22:30   ` Arnout Vandecappelle
2015-06-15 18:46 ` [Buildroot] [PATCH 4/5] cubieboard: rename script to mksunxicard.sh Francois Perrad
2015-06-15 18:46 ` [Buildroot] [PATCH 5/5] A20-OLinuXino-Lime: new board (legacy) Francois Perrad
2015-06-17 22:52   ` Arnout Vandecappelle [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5581FA3E.5020005@mind.be \
    --to=arnout@mind.be \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox