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
prev parent 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