* [Buildroot] [V3 1/2] A20-OLinuXino-Lime: new board (mainline)
2015-06-22 14:39 [Buildroot] [V3 0/2] Subject: [V3 0/2] A20-OLinuXino-Lime: new board Francois Perrad
@ 2015-06-22 14:39 ` Francois Perrad
2015-06-22 16:10 ` Luca Ceresoli
2015-06-22 14:39 ` [Buildroot] [V3 2/2] A20-OLinuXino-Lime: new board (mali) Francois Perrad
1 sibling, 1 reply; 5+ messages in thread
From: Francois Perrad @ 2015-06-22 14:39 UTC (permalink / raw)
To: buildroot
config device tree / mainline (4.0.5)
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
board/olimex/a20_olinuxino_lime/boot.cmd | 5 ++
board/olimex/a20_olinuxino_lime/post-build.sh | 8 +++
board/olimex/a20_olinuxino_lime/readme.txt | 86 +++++++++++++++++++++++++++
configs/olimex_a20_olinuxino_lime_defconfig | 42 +++++++++++++
4 files changed, 141 insertions(+)
create mode 100644 board/olimex/a20_olinuxino_lime/boot.cmd
create mode 100755 board/olimex/a20_olinuxino_lime/post-build.sh
create mode 100644 board/olimex/a20_olinuxino_lime/readme.txt
create mode 100644 configs/olimex_a20_olinuxino_lime_defconfig
diff --git a/board/olimex/a20_olinuxino_lime/boot.cmd b/board/olimex/a20_olinuxino_lime/boot.cmd
new file mode 100644
index 0000000..1714f20
--- /dev/null
+++ b/board/olimex/a20_olinuxino_lime/boot.cmd
@@ -0,0 +1,5 @@
+setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra}
+ext4load mmc 0 0x49000000 /boot/sun7i-a20-olinuxino-lime.dtb
+ext4load mmc 0 0x46000000 /boot/zImage
+env set fdt_high ffffffff
+bootz 0x46000000 - 0x49000000
diff --git a/board/olimex/a20_olinuxino_lime/post-build.sh b/board/olimex/a20_olinuxino_lime/post-build.sh
new file mode 100755
index 0000000..4e6fbec
--- /dev/null
+++ b/board/olimex/a20_olinuxino_lime/post-build.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+# args from BR2_ROOTFS_POST_SCRIPT_ARGS
+# $2 path of boot.cmd
+# $3 output directory for boot.scr
+
+MKIMAGE=$HOST_DIR/usr/bin/mkimage
+
+$MKIMAGE -A arm -O linux -T script -C none -d $2 $3/boot.scr
diff --git a/board/olimex/a20_olinuxino_lime/readme.txt b/board/olimex/a20_olinuxino_lime/readme.txt
new file mode 100644
index 0000000..3fc9c02
--- /dev/null
+++ b/board/olimex/a20_olinuxino_lime/readme.txt
@@ -0,0 +1,86 @@
+A20-OLinuXino-LIME
+
+Intro
+=====
+
+This is a open hardware board,
+see https://www.olimex.com/Products/OLinuXino/open-source-hardware
+
+How to build it
+===============
+
+ $ make olimex_a20_olinuxino_lime_defconfig
+
+Compile everything and build the rootfs image:
+
+ $ make
+
+Result of the build
+-------------------
+
+After building, you should get a tree like this:
+
+ output/images/
+ +-- rootfs.ext2
+ +-- rootfs.ext4 -> rootfs.ext2
+ +-- sun7i-a20-olinuxino-lime.dtb
+ +-- u-boot.bin
+ +-- u-boot-sunxi-with-spl.bin
+ `-- zImage
+
+
+How to write the SD card
+========================
+
+
+Prepare the SD card
+-------------------
+
+Erase existing stuff, and create an unique Linux partition with `fdisk`.
+
+ # fdisk /dev/sdX
+ Command (m for help): o
+ Building a new DOS disklabel with disk identifier 0xf9e1616a.
+ Changes will remain in memory only, until you decide to write them.
+ After that, of course, the previous content won't be recoverable.
+
+ Command (m for help): n
+ Partition type:
+ p primary (0 primary, 0 extended, 4 free)
+ e extended
+ Select (default p): p
+ Partition number (1-4, default 1): 1
+ First sector (2048-7626751, default 2048): 2048
+ Last sector, +sectors or +size{K,M,G} (2048-7626751, default 7626751):
+ Using default value 7626751
+
+ Command (m for help): p
+
+ Disk /dev/sdX: 3904 MB, 3904897024 bytes
+ 4 heads, 16 sectors/track, 119168 cylinders, total 7626752 sectors
+ Units = sectors of 1 * 512 = 512 bytes
+ Sector size (logical/physical): 512 bytes / 512 bytes
+ I/O size (minimum/optimal): 512 bytes / 512 bytes
+ Disk identifier: 0xf9e1616a
+
+ Device Boot Start End Blocks Id System
+ /dev/sdX1 2048 7626751 3812352 83 Linux
+
+ Command (m for help): w
+ The partition table has been altered!
+
+ Calling ioctl() to re-read partition table.
+ Syncing disks.
+
+Copy images on the SD card
+--------------------------
+
+ # dd if=output/images/rootfs.ext2 of=/dev/sdX1
+ # dd if=output/images/u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8
+
+
+Finish
+======
+
+Eject the SD card, insert it in the A20-OLinuXino-LIME board, and power it up.
+
diff --git a/configs/olimex_a20_olinuxino_lime_defconfig b/configs/olimex_a20_olinuxino_lime_defconfig
new file mode 100644
index 0000000..0d4091d
--- /dev/null
+++ b/configs/olimex_a20_olinuxino_lime_defconfig
@@ -0,0 +1,42 @@
+# Architecture
+BR2_arm=y
+BR2_cortex_a7=y
+
+# Kernel headers
+BR2_KERNEL_HEADERS_4_0=y
+
+# System configuration
+BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino"
+BR2_TARGET_GENERIC_ISSUE="Welcome to 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"
+BR2_ROOTFS_POST_SCRIPT_ARGS="board/olimex/a20_olinuxino_lime/boot.cmd $(TARGET_DIR)/boot"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.0.5"
+BR2_LINUX_KERNEL_USE_DEFCONFIG=y
+BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
+BR2_LINUX_KERNEL_ZIMAGE=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-olinuxino-lime"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+
+# Filesystem
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+# BR2_TARGET_ROOTFS_TAR is not set
+
+# Bootloaders
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="A20-OLinuXino-Lime"
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.04"
+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
--
2.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread* [Buildroot] [V3 2/2] A20-OLinuXino-Lime: new board (mali)
2015-06-22 14:39 [Buildroot] [V3 0/2] Subject: [V3 0/2] A20-OLinuXino-Lime: new board Francois Perrad
2015-06-22 14:39 ` [Buildroot] [V3 1/2] A20-OLinuXino-Lime: new board (mainline) Francois Perrad
@ 2015-06-22 14:39 ` Francois Perrad
2015-06-25 23:29 ` Arnout Vandecappelle
1 sibling, 1 reply; 5+ messages in thread
From: Francois Perrad @ 2015-06-22 14:39 UTC (permalink / raw)
To: buildroot
config mali / sunxi
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
board/olimex/a20_olinuxino_lime/boot-mali.cmd | 5 +++
board/olimex/a20_olinuxino_lime/post-build.sh | 4 ++
board/olimex/a20_olinuxino_lime/readme.txt | 16 +++++++-
configs/olimex_a20_olinuxino_lime_mali_defconfig | 47 ++++++++++++++++++++++++
4 files changed, 71 insertions(+), 1 deletion(-)
create mode 100644 board/olimex/a20_olinuxino_lime/boot-mali.cmd
create mode 100644 configs/olimex_a20_olinuxino_lime_mali_defconfig
diff --git a/board/olimex/a20_olinuxino_lime/boot-mali.cmd b/board/olimex/a20_olinuxino_lime/boot-mali.cmd
new file mode 100644
index 0000000..4e3cdc7
--- /dev/null
+++ b/board/olimex/a20_olinuxino_lime/boot-mali.cmd
@@ -0,0 +1,5 @@
+setenv bootm_boot_mode sec
+setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra}
+ext4load mmc 0 0x43000000 /boot/script.bin
+ext4load mmc 0 0x48000000 /boot/zImage
+bootz 0x48000000
diff --git a/board/olimex/a20_olinuxino_lime/post-build.sh b/board/olimex/a20_olinuxino_lime/post-build.sh
index 4e6fbec..ac8d4df 100755
--- a/board/olimex/a20_olinuxino_lime/post-build.sh
+++ b/board/olimex/a20_olinuxino_lime/post-build.sh
@@ -6,3 +6,7 @@
MKIMAGE=$HOST_DIR/usr/bin/mkimage
$MKIMAGE -A arm -O linux -T script -C none -d $2 $3/boot.scr
+
+if [ -e $BINARIES_DIR/script.bin ]; then
+ cp $BINARIES_DIR/script.bin $3/script.bin
+fi
diff --git a/board/olimex/a20_olinuxino_lime/readme.txt b/board/olimex/a20_olinuxino_lime/readme.txt
index 3fc9c02..92ee24a 100644
--- a/board/olimex/a20_olinuxino_lime/readme.txt
+++ b/board/olimex/a20_olinuxino_lime/readme.txt
@@ -6,11 +6,24 @@ Intro
This is a open hardware board,
see https://www.olimex.com/Products/OLinuXino/open-source-hardware
+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_lime_defconfig
+or
+
+ $ make olimex_a20_olinuxino_lime_mali_defconfig
+
Compile everything and build the rootfs image:
$ make
@@ -23,7 +36,8 @@ After building, you should get a tree like this:
output/images/
+-- rootfs.ext2
+-- rootfs.ext4 -> rootfs.ext2
- +-- sun7i-a20-olinuxino-lime.dtb
+ +-- script.bin (mali)
+ +-- sun7i-a20-olinuxino-lime.dtb (mainline)
+-- u-boot.bin
+-- u-boot-sunxi-with-spl.bin
`-- zImage
diff --git a/configs/olimex_a20_olinuxino_lime_mali_defconfig b/configs/olimex_a20_olinuxino_lime_mali_defconfig
new file mode 100644
index 0000000..a515ded
--- /dev/null
+++ b/configs/olimex_a20_olinuxino_lime_mali_defconfig
@@ -0,0 +1,47 @@
+# 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 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"
+BR2_ROOTFS_POST_SCRIPT_ARGS="board/olimex/a20_olinuxino_lime/boot-mali.cmd $(TARGET_DIR)/boot"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_VERSION="sunxi-3.4"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux-sunxi,linux-sunxi,sunxi-v3.4.103-r1)/sunxi-v3.4.103-r1.tar.gz"
+BR2_LINUX_KERNEL_USE_DEFCONFIG=y
+BR2_LINUX_KERNEL_DEFCONFIG="sun7i"
+BR2_LINUX_KERNEL_ZIMAGE=y
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+
+# sunxi packages
+BR2_PACKAGE_SUNXI_TOOLS=y
+BR2_PACKAGE_SUNXI_BOARDS=y
+BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a20/a20-olinuxino_lime.fex"
+
+# Filesystem
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+# BR2_TARGET_ROOTFS_TAR is not set
+
+# Bootloaders
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="A20-OLinuXino-Lime"
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.01"
+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
--
2.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread