Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 1/1] board: add support for RIoTboard
@ 2015-03-05 16:57 Nikolay Dimitrov
  2015-03-05 20:23 ` Thomas Petazzoni
  0 siblings, 1 reply; 3+ messages in thread
From: Nikolay Dimitrov @ 2015-03-05 16:57 UTC (permalink / raw)
  To: buildroot

This is a small development board, based on Freescale IMX6 Solo SoC
(single core ARM Cortex-A9). The board has excellent support in mainline
U-Boot and Linux.

Signed-off-by: Nikolay Dimitrov <picmaster@mail.bg>
---
Changed v2 -> v3:
  - uImage, dtb and extlinux.conf are now automatically copied to /boot during
    build
  - updated instructions in readme.txt

Changes v1 -> v2:
  - added support for extlinux, as required by U-Boot 2015.01
  - fixed some typos

 board/embest/riotboard/readme.txt                  |   44 ++++++++++++++++++++
 .../rootfs_overlay/boot/extlinux/extlinux.conf     |    6 +++
 configs/riotboard_defconfig                        |   32 ++++++++++++++
 3 files changed, 82 insertions(+)
 create mode 100644 board/embest/riotboard/readme.txt
 create mode 100644 board/embest/riotboard/rootfs_overlay/boot/extlinux/extlinux.conf
 create mode 100644 configs/riotboard_defconfig

diff --git a/board/embest/riotboard/readme.txt b/board/embest/riotboard/readme.txt
new file mode 100644
index 0000000..8ba328e
--- /dev/null
+++ b/board/embest/riotboard/readme.txt
@@ -0,0 +1,44 @@
+Buildroot for Embest RIoTboard
+==============================
+
+1. Compiling buildroot
+----------------------
+make distclean
+make riotboard_defconfig
+make
+
+2. Installing buildroot
+-----------------------
+Prepare an SD-card and plug it into your card reader. Write the bootloader to
+your SD-card:
+
+sudo dd if=output/images/u-boot.imx of=/dev/sdX bs=1k seek=1
+
+Create 1 partition on the SD-card using your favourite tool. The partition
+should be big enough to hold your rootfs, for example 128MiB. Here's how an
+example of such partition layout:
+
+   Device Boot      Start         End      Blocks   Id  System
+/dev/sdX1            2048      264191      131072   83  Linux
+
+Format the SD-card partition with your favourite filesystem:
+
+sudo mkfs.ext2 /dev/sdX1
+
+Deploy your rootfs to the SD-card:
+
+sudo mkdir /mnt/sdcard/
+sudo mount /dev/sdX1 /mnt/sdcard/
+sudo tar xf rootfs.tar -C /mnt/sdcard/
+sudo umount /dev/sdX1
+
+3. Running buildroot
+--------------------
+Position the board so you can read the label "RIoTboard" on the right side of
+SW1 DIP switches. Configure the SW1 swiches like this:
+
+10100101 (1 means ON position, 0 means OFF position)
+
+Now plug your prepared SD-card in slot J6. Connect a serial console (115200, 8,
+N, 1) to header J18. Connect a 5V/1A power supply to the board and enjoy your
+new toy.
diff --git a/board/embest/riotboard/rootfs_overlay/boot/extlinux/extlinux.conf b/board/embest/riotboard/rootfs_overlay/boot/extlinux/extlinux.conf
new file mode 100644
index 0000000..c7d32e0
--- /dev/null
+++ b/board/embest/riotboard/rootfs_overlay/boot/extlinux/extlinux.conf
@@ -0,0 +1,6 @@
+default buildroot
+
+label buildroot
+kernel /boot/uImage
+devicetree /boot/imx6dl-riotboard.dtb
+append console=ttymxc1,115200 root=/dev/mmcblk0p1 rw
diff --git a/configs/riotboard_defconfig b/configs/riotboard_defconfig
new file mode 100644
index 0000000..d5b50e9
--- /dev/null
+++ b/configs/riotboard_defconfig
@@ -0,0 +1,32 @@
+# architecture
+BR2_arm=y
+BR2_cortex_a9=y
+
+# system
+BR2_TARGET_GENERIC_GETTY=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
+
+# toolchain
+BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y
+
+# rootfs
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_2r1=y
+BR2_ROOTFS_OVERLAY="board/embest/riotboard/rootfs_overlay"
+
+# bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_VERSION="2015.01"
+BR2_TARGET_UBOOT_BOARDNAME="riotboard"
+BR2_TARGET_UBOOT_FORMAT_IMX=y
+
+# kernel headers
+BR2_KERNEL_HEADERS_3_18=y
+
+# kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7"
+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-riotboard"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH v3 1/1] board: add support for RIoTboard
  2015-03-05 16:57 [Buildroot] [PATCH v3 1/1] board: add support for RIoTboard Nikolay Dimitrov
@ 2015-03-05 20:23 ` Thomas Petazzoni
  2015-03-06  4:06   ` Nikolay Dimitrov
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2015-03-05 20:23 UTC (permalink / raw)
  To: buildroot

Dear Nikolay Dimitrov,

On Thu,  5 Mar 2015 18:57:21 +0200, Nikolay Dimitrov wrote:
> This is a small development board, based on Freescale IMX6 Solo SoC
> (single core ARM Cortex-A9). The board has excellent support in mainline
> U-Boot and Linux.
> 
> Signed-off-by: Nikolay Dimitrov <picmaster@mail.bg>

This looks much simpler and nicer! Some remaining comments I forgot to
make on earlier versions.

> +1. Compiling buildroot
> +----------------------

An empty line between the title and the contents of the section would
be nice.

> +make distclean

We generally don't indicate to use 'make distclean' in the other
instructions related to board specific details.

> +make riotboard_defconfig
> +make
> +
> +2. Installing buildroot
> +-----------------------

Same: an empty new line here.

> +Prepare an SD-card and plug it into your card reader. Write the bootloader to
> +your SD-card:
> +
> +sudo dd if=output/images/u-boot.imx of=/dev/sdX bs=1k seek=1
> +
> +Create 1 partition on the SD-card using your favourite tool. The partition
> +should be big enough to hold your rootfs, for example 128MiB. Here's how an
> +example of such partition layout:
> +
> +   Device Boot      Start         End      Blocks   Id  System
> +/dev/sdX1            2048      264191      131072   83  Linux
> +
> +Format the SD-card partition with your favourite filesystem:
> +
> +sudo mkfs.ext2 /dev/sdX1
> +
> +Deploy your rootfs to the SD-card:
> +
> +sudo mkdir /mnt/sdcard/
> +sudo mount /dev/sdX1 /mnt/sdcard/
> +sudo tar xf rootfs.tar -C /mnt/sdcard/
> +sudo umount /dev/sdX1
> +
> +3. Running buildroot
> +--------------------

Same.

> diff --git a/configs/riotboard_defconfig b/configs/riotboard_defconfig
> new file mode 100644
> index 0000000..d5b50e9
> --- /dev/null
> +++ b/configs/riotboard_defconfig
> @@ -0,0 +1,32 @@
> +# architecture
> +BR2_arm=y
> +BR2_cortex_a9=y

I believe you should try to enable BR2_ARM_EABIHF=y. It should really
be the default for ARMv7 platforms nowadays, unless you have old
non-EABIhf pre-built binaries.

> +# system
> +BR2_TARGET_GENERIC_GETTY=y
> +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
> +
> +# toolchain
> +BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y

No, please don't include largefile support by default. We try to keep
the defconfigs minimal.

> +# rootfs
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_2r1=y
> +BR2_ROOTFS_OVERLAY="board/embest/riotboard/rootfs_overlay"
> +
> +# bootloader
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_VERSION="2015.01"
> +BR2_TARGET_UBOOT_BOARDNAME="riotboard"
> +BR2_TARGET_UBOOT_FORMAT_IMX=y
> +
> +# kernel headers
> +BR2_KERNEL_HEADERS_3_18=y

For the kernel headers, please use:

BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="3.18"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y

That's because the BR2_KERNEL_HEADERS_3_18 option may become
deprecated/removed in the future.

> +# kernel
> +BR2_LINUX_KERNEL=y

Please specify:

BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.18"

Even if the current default version is fine for you, this default
version will change over time, and we want to be sure to rebuild the
same kernel version.

> +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7"
> +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-riotboard"
> +BR2_LINUX_KERNEL_INSTALL_TARGET=y

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH v3 1/1] board: add support for RIoTboard
  2015-03-05 20:23 ` Thomas Petazzoni
@ 2015-03-06  4:06   ` Nikolay Dimitrov
  0 siblings, 0 replies; 3+ messages in thread
From: Nikolay Dimitrov @ 2015-03-06  4:06 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On 03/05/2015 10:23 PM, Thomas Petazzoni wrote:
> Dear Nikolay Dimitrov,
>
> On Thu,  5 Mar 2015 18:57:21 +0200, Nikolay Dimitrov wrote:
>> This is a small development board, based on Freescale IMX6 Solo SoC
>> (single core ARM Cortex-A9). The board has excellent support in mainline
>> U-Boot and Linux.
>>
>> Signed-off-by: Nikolay Dimitrov <picmaster@mail.bg>
>
> This looks much simpler and nicer! Some remaining comments I forgot to
> make on earlier versions.
>
>> +1. Compiling buildroot
>> +----------------------
>
> An empty line between the title and the contents of the section would
> be nice.

Fixed.

>> +make distclean
>
> We generally don't indicate to use 'make distclean' in the other
> instructions related to board specific details.

Fixed.

>> +make riotboard_defconfig
>> +make
>> +
>> +2. Installing buildroot
>> +-----------------------
>
> Same: an empty new line here.

Fixed.

>> +Prepare an SD-card and plug it into your card reader. Write the bootloader to
>> +your SD-card:
>> +
>> +sudo dd if=output/images/u-boot.imx of=/dev/sdX bs=1k seek=1
>> +
>> +Create 1 partition on the SD-card using your favourite tool. The partition
>> +should be big enough to hold your rootfs, for example 128MiB. Here's how an
>> +example of such partition layout:
>> +
>> +   Device Boot      Start         End      Blocks   Id  System
>> +/dev/sdX1            2048      264191      131072   83  Linux
>> +
>> +Format the SD-card partition with your favourite filesystem:
>> +
>> +sudo mkfs.ext2 /dev/sdX1
>> +
>> +Deploy your rootfs to the SD-card:
>> +
>> +sudo mkdir /mnt/sdcard/
>> +sudo mount /dev/sdX1 /mnt/sdcard/
>> +sudo tar xf rootfs.tar -C /mnt/sdcard/
>> +sudo umount /dev/sdX1
>> +
>> +3. Running buildroot
>> +--------------------
>
> Same.

Fixed.

>> diff --git a/configs/riotboard_defconfig b/configs/riotboard_defconfig
>> new file mode 100644
>> index 0000000..d5b50e9
>> --- /dev/null
>> +++ b/configs/riotboard_defconfig
>> @@ -0,0 +1,32 @@
>> +# architecture
>> +BR2_arm=y
>> +BR2_cortex_a9=y
>
> I believe you should try to enable BR2_ARM_EABIHF=y. It should really
> be the default for ARMv7 platforms nowadays, unless you have old
> non-EABIhf pre-built binaries.

Fixed.

>> +# system
>> +BR2_TARGET_GENERIC_GETTY=y
>> +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
>> +
>> +# toolchain
>> +BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y
>
> No, please don't include largefile support by default. We try to keep
> the defconfigs minimal.

Fixed.

>> +# rootfs
>> +BR2_TARGET_ROOTFS_EXT2=y
>> +BR2_TARGET_ROOTFS_EXT2_2r1=y
>> +BR2_ROOTFS_OVERLAY="board/embest/riotboard/rootfs_overlay"
>> +
>> +# bootloader
>> +BR2_TARGET_UBOOT=y
>> +BR2_TARGET_UBOOT_VERSION="2015.01"
>> +BR2_TARGET_UBOOT_BOARDNAME="riotboard"
>> +BR2_TARGET_UBOOT_FORMAT_IMX=y
>> +
>> +# kernel headers
>> +BR2_KERNEL_HEADERS_3_18=y
>
> For the kernel headers, please use:
>
> BR2_KERNEL_HEADERS_VERSION=y
> BR2_DEFAULT_KERNEL_VERSION="3.18"
> BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
>
> That's because the BR2_KERNEL_HEADERS_3_18 option may become
> deprecated/removed in the future.

Fixed.

>> +# kernel
>> +BR2_LINUX_KERNEL=y
>
> Please specify:
>
> BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.18"
>
> Even if the current default version is fine for you, this default
> version will change over time, and we want to be sure to rebuild the
> same kernel version.

Fixed.

v4 is on the way.

Regards.
Nikolay

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-03-06  4:06 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-05 16:57 [Buildroot] [PATCH v3 1/1] board: add support for RIoTboard Nikolay Dimitrov
2015-03-05 20:23 ` Thomas Petazzoni
2015-03-06  4:06   ` Nikolay Dimitrov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox