* [Buildroot] [PATCH v2 1/2] configs/freescale_imx6dlsabresd: add defconfig for iMX6DL SabreSD
@ 2014-08-14 12:36 Luca Ceresoli
2014-08-14 12:36 ` [Buildroot] [PATCH v2 2/2] freescale/imx6-sabresd: document how to create a bootable SD Luca Ceresoli
2014-08-26 4:19 ` [Buildroot] [PATCH v2 1/2] configs/freescale_imx6dlsabresd: add defconfig for iMX6DL SabreSD Gary Bisson
0 siblings, 2 replies; 6+ messages in thread
From: Luca Ceresoli @ 2014-08-14 12:36 UTC (permalink / raw)
To: buildroot
This is very similar to freescale_imx6sabresd_defconfig, which supports the
i.MX6Q ("Quad", quad core CPU) version of the board, except it supports the
i.MX6DL (DualLite, dual core CPU) version.
The differences are in the U-boot configuration and the device tree file.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Gilles Talis <gilles.talis@gmail.com>
Cc: Gary Bisson <bisson.gary@gmail.com>
Cc: Vincent Stehl? <vincent.stehle@freescale.com>
---
Changes since v1: nothing.
---
configs/freescale_imx6dlsabresd_defconfig | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
create mode 100644 configs/freescale_imx6dlsabresd_defconfig
diff --git a/configs/freescale_imx6dlsabresd_defconfig b/configs/freescale_imx6dlsabresd_defconfig
new file mode 100644
index 0000000..4177e16
--- /dev/null
+++ b/configs/freescale_imx6dlsabresd_defconfig
@@ -0,0 +1,27 @@
+# architecture
+BR2_arm=y
+BR2_cortex_a9=y
+
+# system
+BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
+
+# kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-2.6-imx.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_3.10.17_1.0.0_ga"
+BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-sabresd"
+
+# filesystem
+BR2_TARGET_ROOTFS_EXT2=y
+
+# bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="mx6dlsabresd"
+BR2_TARGET_UBOOT_FORMAT_IMX=y
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://git.freescale.com/imx/uboot-imx.git"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_3.10.17_1.0.0_ga"
--
1.9.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [Buildroot] [PATCH v2 2/2] freescale/imx6-sabresd: document how to create a bootable SD
2014-08-14 12:36 [Buildroot] [PATCH v2 1/2] configs/freescale_imx6dlsabresd: add defconfig for iMX6DL SabreSD Luca Ceresoli
@ 2014-08-14 12:36 ` Luca Ceresoli
2014-08-14 14:43 ` Vincent Stehlé
2014-08-26 7:50 ` Luca Ceresoli
2014-08-26 4:19 ` [Buildroot] [PATCH v2 1/2] configs/freescale_imx6dlsabresd: add defconfig for iMX6DL SabreSD Gary Bisson
1 sibling, 2 replies; 6+ messages in thread
From: Luca Ceresoli @ 2014-08-14 12:36 UTC (permalink / raw)
To: buildroot
Document how to create a bootable SD card for the two supported SABRESD cards:
i.MX6Q and i.MX6DL.
The SD card creation relies on an ad-hoc script.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Gilles Talis <gilles.talis@gmail.com>
Cc: Gary Bisson <bisson.gary@gmail.com>
Cc: Vincent Stehl? <vincent.stehle@freescale.com>
---
Changes since v1:
- properly handle SD/MMC devices that don't need the "p" prefix before
the partition number (reported by Vincent Stehl?);
- mention serial terminal parameters in readme.txt (suggested by Vincent
Stehl?).
---
board/freescale/imx6sabresd/create-boot-sd.sh | 95 +++++++++++++++++++++++++++
board/freescale/imx6sabresd/readme.txt | 67 +++++++++++++++++++
2 files changed, 162 insertions(+)
create mode 100755 board/freescale/imx6sabresd/create-boot-sd.sh
create mode 100644 board/freescale/imx6sabresd/readme.txt
diff --git a/board/freescale/imx6sabresd/create-boot-sd.sh b/board/freescale/imx6sabresd/create-boot-sd.sh
new file mode 100755
index 0000000..f82f7b3
--- /dev/null
+++ b/board/freescale/imx6sabresd/create-boot-sd.sh
@@ -0,0 +1,95 @@
+#!/bin/sh
+
+set -u
+set -e
+
+PROGNAME=$(basename $0)
+
+usage()
+{
+ echo "Create an SD card that boots on an i.MX6DL SABRESD board."
+ echo "It is supposed to work also for the i.MX6Q SABRESD board, but"
+ echo "it this is not tested."
+ echo
+ echo "Note: all data on the the card will be completely deleted!"
+ echo "Use with care!"
+ echo "Superuser permissions may be required to write to the device."
+ echo
+ echo "Usage: ${PROGNAME} <sd_block_device>"
+ echo "Arguments:"
+ echo " <sd_block_device> The device to be written to"
+ echo
+ echo "Example: ${PROGNAME} /dev/mmcblk0"
+ echo
+}
+
+if [ $# -ne 1 ]; then
+ usage
+ exit 1
+fi
+
+if [ $(id -u) -ne 0 ]; then
+ echo "${PROGNAME} must be run as root"
+ exit 1
+fi
+
+DEV=${1}
+
+# The partition name prefix depends on the device name:
+# - /dev/sde -> /dev/sde1
+# - /dev/mmcblk0 -> /dev/mmcblk0p1
+if echo ${DEV}|grep -q mmcblk ; then
+ PART="p"
+else
+ PART=""
+fi
+
+PART1=${DEV}${PART}1
+PART2=${DEV}${PART}2
+
+# Unmount the partitions if mounted
+umount ${PART1} || true
+umount ${PART2} || true
+
+# First, clear the card
+dd if=/dev/zero of=${DEV} bs=1M count=2
+
+sync
+
+# Partition the card.
+# SD layout for i.MX6 boot:
+# - Bootloader at offset 1024
+# - FAT partition starting at 1MB offset, containing uImage and *.dtb
+# - ext2/3 partition formatted as ext2 or ext3, containing the root filesystem.
+sfdisk ${DEV} <<EOF
+32,480,b
+512,,L
+EOF
+
+sync
+
+# Copy the bootloader@offset 1024
+dd if=output/images/u-boot.imx of=${DEV} obs=512 seek=2
+
+# Prepare a temp dir for mounting partitions
+TMPDIR=$(mktemp -d)
+
+# FAT partition: kernel and DTBs
+mkfs.vfat ${PART1}
+mount ${PART1} ${TMPDIR}
+cp output/images/uImage ${TMPDIR}/
+cp output/images/*.dtb ${TMPDIR}/
+sync
+umount ${TMPDIR}
+
+# ext2 partition: root filesystem
+mkfs.ext2 ${PART2}
+mount ${PART2} ${TMPDIR}
+tar -C ${TMPDIR}/ -xf output/images/rootfs.tar
+sync
+umount ${TMPDIR}
+
+# Cleanup
+rmdir ${TMPDIR}
+sync
+echo Done
diff --git a/board/freescale/imx6sabresd/readme.txt b/board/freescale/imx6sabresd/readme.txt
new file mode 100644
index 0000000..3eff48a
--- /dev/null
+++ b/board/freescale/imx6sabresd/readme.txt
@@ -0,0 +1,67 @@
+*******************************************************
+Freescale i.MX6Q and i.MX6DL SABRESD development boards
+*******************************************************
+
+This file documents the Buildroot support for the Freescale SABRE Board for
+Smart Devices Based on the i.MX 6 Series (SABRESD).
+
+Read the SABRESD Quick Start Guide for an introduction to the board:
+http://cache.freescale.com/files/32bit/doc/quick_start_guide/SABRESDB_IMX6_QSG.pdf
+
+Build
+=====
+
+First, configure Buildroot for your SABRESD board.
+For i.MX6Q:
+
+ make freescale_imx6sabresd_defconfig
+
+For i.MX6DL:
+
+ make freescale_imx6dlsabresd_defconfig
+
+Build all components:
+
+ make
+
+You will find in ./output/images/ the following files:
+ - imx6dl-sabresd.dtb or imx6q-sabresd.dtb
+ - rootfs.ext2
+ - rootfs.tar
+ - u-boot.imx
+ - uImage
+
+Create a bootable SD card
+=========================
+
+To determine the device associated to the SD card have a look in the
+/proc/partitions file:
+
+ cat /proc/partitions
+
+Run the following script as root on your SD card. This will partition the card
+and copy the bootloader, kernel, DTBs and root filesystem as needed.
+
+*** WARNING! The script will destroy all the card content. Use with care! ***
+
+ ./board/freescale/imx6sabresd/create-boot-sd.sh <your-sd-device>
+
+Boot the SABRESD board
+======================
+
+To boot your newly created system (refer to the SABRESD Quick Start Guide for
+guidance):
+- insert the SD card in the SD3 slot of the board;
+- locate the BOOT dip switches (SW6), set dips 2 and 7 to ON, all others to OFF;
+- connect a Micro USB cable to Debug Port and connect using a terminal emulator
+ at 115200 bps, 8n1;
+- power on the board.
+
+Enjoy!
+
+References
+==========
+
+https://community.freescale.com/docs/DOC-95015
+https://community.freescale.com/docs/DOC-95017
+https://community.freescale.com/docs/DOC-99218
--
1.9.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [Buildroot] [PATCH v2 2/2] freescale/imx6-sabresd: document how to create a bootable SD
2014-08-14 12:36 ` [Buildroot] [PATCH v2 2/2] freescale/imx6-sabresd: document how to create a bootable SD Luca Ceresoli
@ 2014-08-14 14:43 ` Vincent Stehlé
2014-08-26 7:50 ` Luca Ceresoli
1 sibling, 0 replies; 6+ messages in thread
From: Vincent Stehlé @ 2014-08-14 14:43 UTC (permalink / raw)
To: buildroot
On 08/14/2014 02:36 PM, Luca Ceresoli wrote:
> Document how to create a bootable SD card for the two supported SABRESD cards:
> i.MX6Q and i.MX6DL.
Hi,
Thanks for such a fast update.
It works for me on i.MX6Q Sabre SD, thanks.
Best regards,
V.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 2/2] freescale/imx6-sabresd: document how to create a bootable SD
2014-08-14 12:36 ` [Buildroot] [PATCH v2 2/2] freescale/imx6-sabresd: document how to create a bootable SD Luca Ceresoli
2014-08-14 14:43 ` Vincent Stehlé
@ 2014-08-26 7:50 ` Luca Ceresoli
1 sibling, 0 replies; 6+ messages in thread
From: Luca Ceresoli @ 2014-08-26 7:50 UTC (permalink / raw)
To: buildroot
Hi,
I noticed a little annoyance with this version of the script when it
processes an SD that it had already processed before. This may happen
for example after the user has activated more target packages, rebuilt
and wants to recreate SD with the new root filesystem.
See below for a description of what happens.
Luca Ceresoli wrote:
> diff --git a/board/freescale/imx6sabresd/create-boot-sd.sh b/board/freescale/imx6sabresd/create-boot-sd.sh
> new file mode 100755
> index 0000000..f82f7b3
> --- /dev/null
> +++ b/board/freescale/imx6sabresd/create-boot-sd.sh
[...]
> +# Unmount the partitions if mounted
> +umount ${PART1} || true
> +umount ${PART2} || true
> +
> +# First, clear the card
> +dd if=/dev/zero of=${DEV} bs=1M count=2
This erases the first 2 MB of the SD, which include the partition table,
the bootloader and the beginning of the FAT partition. It does not
touch the ext2 partition.
> +
> +sync
> +
> +# Partition the card.
> +# SD layout for i.MX6 boot:
> +# - Bootloader at offset 1024
> +# - FAT partition starting at 1MB offset, containing uImage and *.dtb
> +# - ext2/3 partition formatted as ext2 or ext3, containing the root filesystem.
> +sfdisk ${DEV} <<EOF
> +32,480,b
> +512,,L
> +EOF
Here the host system detects the newly created partitions. Since the
ext2 has not been touched it contains valid data, and a
desktop-oriented automounter "might" want to mount it right away (mine
does of course).
Waiting some time and then umounting it just-in-case is an option, but I
preferred to just change the 'dd' command above to erase 20 MB, not 2,
so it also invalidates the ext2 partition.
I'll resubmit with this change.
--
Luca
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v2 1/2] configs/freescale_imx6dlsabresd: add defconfig for iMX6DL SabreSD
2014-08-14 12:36 [Buildroot] [PATCH v2 1/2] configs/freescale_imx6dlsabresd: add defconfig for iMX6DL SabreSD Luca Ceresoli
2014-08-14 12:36 ` [Buildroot] [PATCH v2 2/2] freescale/imx6-sabresd: document how to create a bootable SD Luca Ceresoli
@ 2014-08-26 4:19 ` Gary Bisson
2014-08-26 7:36 ` Luca Ceresoli
1 sibling, 1 reply; 6+ messages in thread
From: Gary Bisson @ 2014-08-26 4:19 UTC (permalink / raw)
To: buildroot
Hi Luca,
On Thu, Aug 14, 2014 at 5:36 AM, Luca Ceresoli <luca@lucaceresoli.net>
wrote:
> This is very similar to freescale_imx6sabresd_defconfig, which supports the
> i.MX6Q ("Quad", quad core CPU) version of the board, except it supports the
> i.MX6DL (DualLite, dual core CPU) version.
>
> The differences are in the U-boot configuration and the device tree file.
>
Looks good to me, however I would then rename the previous
freescale_imx6sabresd_defconfig to freescale_imx6qsabresd_defconfig in
order for it to be clear.
Thanks,
Gary
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140825/174bc795/attachment.html>
^ permalink raw reply [flat|nested] 6+ messages in thread* [Buildroot] [PATCH v2 1/2] configs/freescale_imx6dlsabresd: add defconfig for iMX6DL SabreSD
2014-08-26 4:19 ` [Buildroot] [PATCH v2 1/2] configs/freescale_imx6dlsabresd: add defconfig for iMX6DL SabreSD Gary Bisson
@ 2014-08-26 7:36 ` Luca Ceresoli
0 siblings, 0 replies; 6+ messages in thread
From: Luca Ceresoli @ 2014-08-26 7:36 UTC (permalink / raw)
To: buildroot
Dear Gary,
Gary Bisson wrote:
> Hi Luca,
>
> On Thu, Aug 14, 2014 at 5:36 AM, Luca Ceresoli <luca@lucaceresoli.net
> <mailto:luca@lucaceresoli.net>> wrote:
>
> This is very similar to freescale_imx6sabresd_defconfig, which
> supports the
> i.MX6Q ("Quad", quad core CPU) version of the board, except it
> supports the
> i.MX6DL (DualLite, dual core CPU) version.
>
> The differences are in the U-boot configuration and the device tree
> file.
>
>
> Looks good to me, however I would then rename the previous
> freescale_imx6sabresd_defconfig to freescale_imx6qsabresd_defconfig in
> order for it to be clear.
I was not sure it's a good idea to rename a defconfig, but I see we've
done it before at least once:
commit 094d8ec896ef0c447a4bfb884753bf8984d67dbc
Author: mathieu benoit <mathieu.benoit@savoirfairelinux.com>
Date: Sun Nov 10 13:16:22 2013 +0100
configs: rename rpi_defconfig for consistency
[...]
board/raspberrypi/readme.txt | 8 ++++----
configs/raspberrypi_defconfig | 23 +++++++++++++++++++++++
configs/rpi_defconfig | 23 -----------------------
3 files changed, 27 insertions(+), 27 deletions(-)
So I'll resubmit my patchset with this added.
Thanks,
--
Luca
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-08-26 7:50 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-14 12:36 [Buildroot] [PATCH v2 1/2] configs/freescale_imx6dlsabresd: add defconfig for iMX6DL SabreSD Luca Ceresoli
2014-08-14 12:36 ` [Buildroot] [PATCH v2 2/2] freescale/imx6-sabresd: document how to create a bootable SD Luca Ceresoli
2014-08-14 14:43 ` Vincent Stehlé
2014-08-26 7:50 ` Luca Ceresoli
2014-08-26 4:19 ` [Buildroot] [PATCH v2 1/2] configs/freescale_imx6dlsabresd: add defconfig for iMX6DL SabreSD Gary Bisson
2014-08-26 7:36 ` Luca Ceresoli
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox