initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
@@ -0,0 +1,41 @@
# Minimal SD card image for the Freescale boards Template
#
# We mimic the .sdcard Freescale's image format:
# * the SD card must have 1 kB free space at the beginning,
# * U-Boot is dumped as is,
# * a FAT partition at offset 8 MB is containing zImage/uImage and DTB files
# * a single root filesystem partition is required (ext2, ext3 or ext4)
#
image boot.vfat {
vfat {
label = "boot"
files = {
%FILES%
}
}
size = 16M
}
image sdcard.img {
hdimage {
}
partition u-boot {
in-partition-table = "no"
image = "%UBOOTBIN%"
offset = 1024
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
offset = 8M
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext2"
}
}
@@ -0,0 +1,41 @@
# Minimal SD card image for the Freescale iMX8 boards
#
# We mimic the .sdcard Freescale's image format:
# * the SD card must have 33 kB free space at the beginning,
# * U-Boot is integrated into imx8-boot-sd.bin and is dumped as is,
# * a FAT partition at offset 8MB is containing Image and DTB files
# * a single root filesystem partition is required (ext2, ext3 or ext4)
#
image boot.vfat {
vfat {
label = "boot"
files = {
%FILES%
}
}
size = 64M
}
image sdcard.img {
hdimage {
}
partition imx-boot {
in-partition-table = "no"
image = "imx8-boot-sd.bin"
offset = %IMXOFFSET%
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
offset = 8M
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext2"
}
}
@@ -0,0 +1,16 @@
image sdcard.img {
hdimage {
}
partition u-boot {
in-partition-table = "no"
image = "%UBOOTBIN%"
offset = 1024
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext2"
offset = 8M
}
}
@@ -0,0 +1,31 @@
# Minimal SD card image for the Freescale boards Template for SPL Boot
#
# We mimic the .sdcard Freescale's image format:
# * the SD card must have 1 kB free space at the beginning,
# * SPL is at the offset expected by ROM,
# * U-Boot is at the offset expected by SPL,
# * The first partition is expected to be an ext2 and have a /boot directory.
#
image sdcard.img {
hdimage {
}
partition spl {
in-partition-table = "no"
image = "SPL"
offset = 1024
}
partition u-boot {
in-partition-table = "no"
image = "%UBOOTBIN%"
offset = 69K
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext2"
offset = 8M
}
}
@@ -0,0 +1,47 @@
# Minimal SD card image for the Freescale boards Template for SPL Boot
#
# We mimic the .sdcard Freescale's image format:
# * the SD card must have 1 kB free space at the beginning,
# * U-Boot is dumped as is,
# * a FAT partition at offset 8MB is containing zImage/uImage and DTB files
# * a single root filesystem partition is required (ext2, ext3 or ext4)
#
image boot.vfat {
vfat {
label = "boot"
files = {
%FILES%
}
}
size = 16M
}
image sdcard.img {
hdimage {
}
partition spl {
in-partition-table = "no"
image = "SPL"
offset = 1024
}
partition u-boot {
in-partition-table = "no"
image = "%UBOOTBIN%"
offset = 69K
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
offset = 8M
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext2"
}
}
+54
View File
@@ -0,0 +1,54 @@
#!/usr/bin/env bash
main ()
{
UBOOT_DTB=$2
if [ ! -e "$UBOOT_DTB" ]; then
echo "ERROR: couldn't find dtb: $UBOOT_DTB"
exit 1
fi
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00910000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its
${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb
rm -f ${BINARIES_DIR}/u-boot.its
${HOST_DIR}/bin/mkimage_imx8 -fit -signed_hdmi ${BINARIES_DIR}/signed_hdmi_imx8m.bin -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then
cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00920000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its
${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb
rm -f ${BINARIES_DIR}/u-boot.its
${HOST_DIR}/bin/mkimage_imx8 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" ${BR2_CONFIG}; then
cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00960000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its
${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb
rm -f ${BINARIES_DIR}/u-boot.its
${HOST_DIR}/bin/mkimage_imx8 -v v2 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x912000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y$" ${BR2_CONFIG}; then
cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00970000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its
${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb
rm -f ${BINARIES_DIR}/u-boot.its
${HOST_DIR}/bin/mkimage_imx8 -v v2 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x920000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
else
${HOST_DIR}/bin/mkimage_imx8 -commit > ${BINARIES_DIR}/mkimg.commit
cat ${BINARIES_DIR}/u-boot.bin ${BINARIES_DIR}/mkimg.commit > ${BINARIES_DIR}/u-boot-hash.bin
cp ${BINARIES_DIR}/bl31.bin ${BINARIES_DIR}/u-boot-atf.bin
dd if=${BINARIES_DIR}/u-boot-hash.bin of=${BINARIES_DIR}/u-boot-atf.bin bs=1K seek=128
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y$" ${BR2_CONFIG}; then
${HOST_DIR}/bin/mkimage_imx8 -soc QM -rev B0 -append ${BINARIES_DIR}/ahab-container.img -c -scfw ${BINARIES_DIR}/mx8qm-mek-scfw-tcm.bin -ap ${BINARIES_DIR}/u-boot-atf.bin a53 0x80000000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
else
${HOST_DIR}/bin/mkimage_imx8 -soc QX -rev B0 -append ${BINARIES_DIR}/ahab-container.img -c -scfw ${BINARIES_DIR}/mx8qx-mek-scfw-tcm.bin -ap ${BINARIES_DIR}/u-boot-atf.bin a35 0x80000000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
fi
fi
exit $?
}
main $@
+113
View File
@@ -0,0 +1,113 @@
#!/usr/bin/env bash
#
# dtb_list extracts the list of DTB files from BR2_LINUX_KERNEL_INTREE_DTS_NAME
# in ${BR_CONFIG}, then prints the corresponding list of file names for the
# genimage configuration file
#
dtb_list()
{
local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})"
for dt in $DTB_LIST; do
echo -n "\"`basename $dt`.dtb\", "
done
}
#
# linux_image extracts the Linux image format from BR2_LINUX_KERNEL_UIMAGE in
# ${BR_CONFIG}, then prints the corresponding file name for the genimage
# configuration file
#
linux_image()
{
if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
echo "\"uImage\""
elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then
echo "\"Image\""
elif grep -Eq "^BR2_LINUX_KERNEL_IMAGEGZ=y$" ${BR2_CONFIG}; then
echo "\"Image.gz\""
else
echo "\"zImage\""
fi
}
genimage_type()
{
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y$" ${BR2_CONFIG}; then
echo "genimage.cfg.template_imx8"
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
echo "genimage.cfg.template_imx8"
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then
echo "genimage.cfg.template_imx8"
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" ${BR2_CONFIG}; then
echo "genimage.cfg.template_imx8"
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y$" ${BR2_CONFIG}; then
echo "genimage.cfg.template_imx8"
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X=y$" ${BR2_CONFIG}; then
echo "genimage.cfg.template_imx8"
elif grep -Eq "^BR2_LINUX_KERNEL_INSTALL_TARGET=y$" ${BR2_CONFIG}; then
if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then
echo "genimage.cfg.template_no_boot_part_spl"
else
echo "genimage.cfg.template_no_boot_part"
fi
elif grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then
echo "genimage.cfg.template_spl"
else
echo "genimage.cfg.template"
fi
}
imx_offset()
{
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
echo "33K"
elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then
echo "33K"
else
echo "32K"
fi
}
uboot_image()
{
if grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y$" ${BR2_CONFIG}; then
echo "u-boot-dtb.imx"
elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMX=y$" ${BR2_CONFIG}; then
echo "u-boot.imx"
elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y$" ${BR2_CONFIG}; then
echo "u-boot-dtb.img"
elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMG=y$" ${BR2_CONFIG}; then
echo "u-boot.img"
fi
}
main()
{
local FILES="$(dtb_list) $(linux_image)"
local IMXOFFSET="$(imx_offset)"
local UBOOTBIN="$(uboot_image)"
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
sed -e "s/%FILES%/${FILES}/" \
-e "s/%IMXOFFSET%/${IMXOFFSET}/" \
-e "s/%UBOOTBIN%/${UBOOTBIN}/" \
board/freescale/common/imx/$(genimage_type) > ${GENIMAGE_CFG}
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"
rm -f ${GENIMAGE_CFG}
exit $?
}
main $@
@@ -0,0 +1,40 @@
# Minimal SD card image for the Freescale MX23/MX28 Template
#
# We mimic the .sdcard Freescale's MX23/MX28 image format:
# * u-boot.sb is placed at offset 1M,
# * a FAT partition at offset 16 MB is containing zImage/uImage and DTB files
# * a single root filesystem partition is required (ext2, ext3 or ext4)
#
image boot.vfat {
vfat {
label = "boot"
files = {
%FILES%
}
}
size = 16M
}
image sdcard.img {
hdimage {
}
partition u-boot {
partition-type = 0x53
image = "u-boot.sd"
offset = 1M
size = 16M
}
partition kernel {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext2"
}
}
+54
View File
@@ -0,0 +1,54 @@
#!/usr/bin/env bash
#
# dtb_list extracts the list of DTB files from BR2_LINUX_KERNEL_INTREE_DTS_NAME
# in ${BR_CONFIG}, then prints the corresponding list of file names for the
# genimage configuration file
#
dtb_list()
{
local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})"
for dt in $DTB_LIST; do
echo -n "\"$dt.dtb\", "
done
}
#
# linux_image extracts the Linux image format from BR2_LINUX_KERNEL_UIMAGE in
# ${BR_CONFIG}, then prints the corresponding file name for the genimage
# configuration file
#
linux_image()
{
if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
echo "\"uImage\""
else
echo "\"zImage\""
fi
}
main()
{
local FILES="$(dtb_list) $(linux_image)"
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
sed -e "s/%FILES%/${FILES}/" \
board/freescale/common/mxs/genimage.cfg.template > ${GENIMAGE_CFG}
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"
rm -f ${GENIMAGE_CFG}
exit $?
}
main $@
+48
View File
@@ -0,0 +1,48 @@
**************************
Freescale i.MX23 EVK board
**************************
This file documents the Buildroot support for the Freescale i.MX23 EVK board.
Build
=====
First, configure Buildroot for your i.MX23 EVK board:
make imx23evk_defconfig
Build all components:
make
You will find in output/images/ directory the following files:
- imx23-evk.dtb
- rootfs.tar
- u-boot.sd
- zImage
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
Then, run the following command:
*** WARNING! The command will destroy all the card content. Use with care! ***
sudo dd if=output/images/sdcard.img of=/dev/<your-microsd-device>
Boot the i.MX23 EVK board
=========================
- Put the Boot Mode Select jumper as 1 0 0 1 so that it can boot
from the SD card
- Insert the SD card in the SD Card slot of the board;
- Connect an RS232 UART cable to the Debug UART Port and connect using a
terminal emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!
+54
View File
@@ -0,0 +1,54 @@
**************************
Freescale i.MX25 PDK board
**************************
This file documents the Buildroot support for the Freescale i.MX25 PDK board.
Build
=====
First, configure Buildroot for the i.MX25 PDK board:
make mx25pdk_defconfig
Build all components:
make
You will find in output/images/ the following files:
- imx25-pdk.dtb
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.imx
- zImage
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
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template.
Boot the i.MX25 PDK board
=========================
To boot your newly created system:
- insert the SD card in the SD slot of the board;
- put a USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!
+57
View File
@@ -0,0 +1,57 @@
**************************
Freescale i.MX28 EVK board
**************************
This file documents the Buildroot support for the Freescale i.MX28 EVK board.
Read the i.MX28 Evaluation Kit Quick Start Guide [1] for an introduction to the
board.
Build
=====
First, configure Buildroot for your i.MX28 EVK board:
make freescale_imx28evk_defconfig
Build all components:
make
You will find in ./output/images/ the following files:
- imx28-evk.dtb
- rootfs.tar
- u-boot.sd
- zImage
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
Then, run the following command as root:
*** WARNING! The command will destroy all the card content. Use with care! ***
sudo dd if=output/images/sdcard.img of=/dev/<your-microsd-device>
Boot the i.MX28 EVK board
=========================
To boot your newly created system (refer to the i.MX28 EVK Quick Start Guide
[1] for guidance):
- insert the SD card in the SD Card Socket 0 of the board;
- verify that your i.MX28 EVK board jumpers and switches are set as mentioned
in the i.MX28 EVK Quick Start Guide [1];
- connect an RS232 UART cable to the Debug UART Port and connect using a
terminal emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!
References
==========
[1] http://cache.freescale.com/files/32bit/doc/user_guide/EVK_imx28_QuickStart.pdf
+54
View File
@@ -0,0 +1,54 @@
**************************
Freescale i.MX51 EVK board
**************************
This file documents the Buildroot support for the Freescale i.MX51 EVK board.
Build
=====
First, configure Buildroot for the i.MX51 EVK board:
make mx51evk_defconfig
Build all components:
make
You will find in output/images/ the following files:
- imx51-babbage.dtb
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.imx
- zImage
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
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template.
Boot the i.MX51 EVK board
=========================
To boot your newly created system:
- insert the SD card in the SD slot of the board;
- put a micro USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!
@@ -0,0 +1,4 @@
# Currently mx6sabresd exhibits touchscreen issues when running cpufreq as
# ondemand governor with a mainline kernel.
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+111
View File
@@ -0,0 +1,111 @@
*******************************
Freescale i.MX6 Sabre SD boards
*******************************
This file documents the Buildroot support for the Freescale i.MX6 Sabre SD
boards based on i.MX6Q, i.MX6DL and iMX6QP.
Thanks to the SPL support in U-Boot it is possible to run a single
sdcard.img in all i.MX6 Sabre SD board variants.
This configuration uses U-Boot mainline and kernel mainline.
Build
=====
First, configure Buildroot for the i.MX6 Sabre SD board:
make imx6-sabresd_defconfig
Build all components:
make
You will find the following files in output/images/ :
- imx6q-sabresd.dtb
- imx6dl-sabresd.dtb
- imx6qp-sabresd.dtb
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.imx
- zImage
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
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template.
Boot the i.MX6 Sabre SD board
=============================
To boot your newly created system:
- insert the SD card in the SD3 slot of the board (close to the HDMI connector);
- put a micro USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Testing graphics on the i.MX6 Sabre SD board
============================================
The imx6-sabresd_qt5_defconfig allows to quickly test the graphics
capabilities of i.MX6 using the opensource Etnaviv graphics stack
and kernel mainline.
In order to build it:
make imx6-sabresd_qt5_defconfig
make
Then flash the SD card as explained above.
Running kmscube application:
# kmscube
Running Qt5 Cinematic Demo:
# export QT_QPA_EGLFS_KMS_CONFIG=/root/sabresd.json
# export QT_QPA_EGLFS_ALWAYS_SET_MODE=1
# /usr/share/Qt5/CinematicExperience/Qt5_CinematicExperience
Running gl2mark benchmark:
# glmark2-es2-drm
Testing video playback on the i.MX6 Sabre SD board
==================================================
As the mx6sabresd has two display outputs (LVDS and HDMI), it is necessary to
know what is the connector that corresponds to the HDMI output.
This information can be found by running:
# modetest
And search for the HDMI connector number. In our case it shows up as 37.
In the mx6sabresd prompt run the following Gstreamer pipeline:
# gst-launch-1.0 filesrc location=/root/trailer_1080p_h264_mp3.avi ! avidemux ! \
h264parse ! v4l2video1dec capture-io-mode=dmabuf ! kmssink connector-id=37 \
name=imx-drm sync=0
(The video used on this example was retrieved from:
http://linode.boundarydevices.com/videos/trailer_1080p_h264_mp3.avi)
Enjoy!
@@ -0,0 +1,15 @@
{
"device": "/dev/dri/card0",
"hwcursor": false,
"pbuffers": true,
"outputs": [
{
"name": "HDMI1",
"mode": "off"
},
{
"name": "LVDS1",
"mode": "1024x768"
}
]
}
@@ -0,0 +1,37 @@
From e9a88fddc149fc52cdc5a8997f9fd3a29416c643 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= <vincent.stehle@freescale.com>
Date: Tue, 12 Aug 2014 10:17:31 +0200
Subject: [PATCH] mx6qsabre_common: boot Linux to /init in mfgtools mode
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Buildroot supplies a nice /init wrapper script to use when booting from a
ramdisk.
This patch tells u-boot to tell the kernel to boot into /init (instead of
/linuxrc) on i.MX6, when booting in mfgtools mode. This way we can boot a
buildroot system entirely through USB.
Signed-off-by: Vincent Stehlé <vincent.stehle@freescale.com>
Signed-off-by: Julien Olivain <julien.olivain@oss.nxp.com>
---
include/configs/imx_env.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/imx_env.h b/include/configs/imx_env.h
index c03748d93f..aa1a8bf488 100644
--- a/include/configs/imx_env.h
+++ b/include/configs/imx_env.h
@@ -29,7 +29,7 @@
#define CONFIG_MFG_ENV_SETTINGS_DEFAULT \
"mfgtool_args=setenv bootargs console=${console},${baudrate} " \
- "rdinit=/linuxrc " \
+ "rdinit=/init " \
"clk_ignore_unused "\
"\0" \
"kboot="MFG_BOOT_CMD"\0"\
--
2.26.2
+171
View File
@@ -0,0 +1,171 @@
********************************************************
Freescale i.MX6 Q, DL and SoloX SABRE development boards
********************************************************
This file documents the Buildroot support for the Freescale SABRE Board
for Smart Devices Based on the i.MX 6 and i.MX 6SoloX Series (SABRESD),
as well as the Freescale SABRE Board for Automotive Infotainment.
Read the i.MX 6 SABRESD Quick Start Guide for an introduction to the
board:
http://cache.freescale.com/files/32bit/doc/quick_start_guide/SABRESDB_IMX6_QSG.pdf
Read the i.MX 6 SoloX SABRESD Quick Start Guide for an introduction to
the board:
http://cache.freescale.com/files/32bit/doc/user_guide/IMX6SOLOXQSG.pdf
Read the SABRE for Automotive Infotainment Quick Start Guide for an
introduction to the board:
http://cache.freescale.com/files/32bit/doc/user_guide/IMX6SABREINFOQSG.pdf
Building with NXP kernel and NXP U-Boot
=======================================
First, configure Buildroot for your SABRE board.
For i.MX6Q SABRE SD board:
make freescale_imx6qsabresd_defconfig
For i.MX6DL SABRE SD board:
make freescale_imx6dlsabresd_defconfig
For i.MX6 SoloX SABRE SD board:
make freescale_imx6sxsabresd_defconfig
For i.MX6Q SABRE Auto board:
make freescale_imx6qsabreauto_defconfig
For i.MX6DL SABRE Auto board:
make freescale_imx6dlsabreauto_defconfig
Build all components:
make
You will find in ./output/images/ the following files:
- imx6dl-sabresd.dtb or imx6q-sabresd.dtb or imx6sx-sdb.dtb or
imx6q-sabreauto.dtb or imx6dl-sabreauto.dtb
- rootfs.ext2
- rootfs.tar
- u-boot.imx
- uImage, or zImage for i.MX6 SoloX
Building with mainline kernel and mainline U-Boot
=================================================
Mainline U-Boot uses SPL and can support the three
variants of mx6sabreauto boards: mx6q, mx6dl and mx6qp.
First, configure Buildroot for your mx6sabreauto board
make imx6-sabreauto_defconfig
Build all components:
make
You will find in output/images/ the following files:
- imx6dl-sabresd.dtb, imx6q-sabresd.dtb, imx6q-sabresd.dtb
- rootfs.ext2
- SPL and u-boot.img
- u-boot.imx
- zImage
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
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a microSD card. Launch the following
command as root:
dd if=./output/images/sdcard.img of=/dev/<your-microsd-device>
*** WARNING! The script will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template.
Boot the SABRE board
====================
i.MX6 SABRE SD
--------------
To boot your newly created system on an i.MX6 SABRE SD Board (refer to
the i.MX6 SABRE SD 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.
i.MX6 SoloX SABRE SD
--------------------
To boot your newly created system on an i.MX6 SoloX SABRE SD Board
(refer to the i.MX6 SoloX SABRE SD Quick Start Guide for guidance):
- insert the SD card in the J4-SD4 socket at the bottom of the board;
- Set the SW10, SW11 and SW12 DIP switches at the top of the board in
their default position, to boot from SD card. Reference configuration:
SW10
1 2 3 4 5 6 7 8
off off off off off off off off
SW11
1 2 3 4 5 6 7 8
off off ON ON ON off off off
SW12
1 2 3 4 5 6 7 8
off ON off off off off off off
- connect a Micro USB cable to the J16 Debug Port at the bottom of the
board. This is a dual UART debug port; connect to the first tty using
a terminal emulator at 115200 bps, 8n1;
- power on the board with the SW1-PWR switch at the top of the board.
SABRE Auto
----------
To boot your newly created system on a SABRE Auto Board (refer to the SABRE for
Automotive Infotainment Quick Start Guide for guidance):
- insert the SD card in the CPU card SD card socket J14;
- Set the S1, S2 and S3 DIP switches and J3 jumper to boot from SD on CPU card.
Reference configuration:
S1
1 2 3 4 5 6 7 8 9 10
off ON off off ON off off off off off
S2
1 2 3 4
off off ON off
S3
1 2 3 4
off off ON ON
J3: 1-2
- connect an RS-232 UART cable to CPU card debug port J18 UART DB9 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
+14
View File
@@ -0,0 +1,14 @@
NXP i.MX6SL EVK board
---------------------
To build a minimal support for this board:
$ make imx6slevk_defconfig
$ make
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be flashed into the SD card:
$ sudo dd if=output/images/sdcard.img of=/dev/<sd-card-device>; sync
Then insert the SD card into the SD2 slot and boot the board.
+14
View File
@@ -0,0 +1,14 @@
NXP i.MX6SX SDB board
---------------------
To build a minimal support for this board:
$ make imx6sx-sdb_defconfig
$ make
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be flashed into the SD card:
$ sudo dd if=output/images/sdcard.img of=/dev/<sd-card-device>; sync
Then insert the SD card into the SD4 boot slot and boot the board.
+74
View File
@@ -0,0 +1,74 @@
***************************
Freescale i.MX6UL EVK board
***************************
This file documents the Buildroot support for the Freescale i.MX6UL EVK board.
Please read the i.MX6UL Evaluation Kit Quick Start Guide [1] for an
introduction to the board.
Build
=====
First, configure Buildroot for your i.MX6UL EVK board:
In order to to do so there are two supported options:
make freescale_imx6ulevk_defconfig
if you plan to use NXP provided U-Boot and kernel.
or
make imx6ulevk_defconfig
if you plan to use mainline U-Boot and mainline kernel.
Build all components:
make
You will find in ./output/images/ the following files:
- imx6ul-14x14-evk.dtb
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.imx
- zImage
Create a bootable microSD card
==============================
To determine the device associated to the microSD card have a look in the
/proc/partitions file:
cat /proc/partitions
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a microSD card. Launch the following
command as root:
dd if=./output/images/sdcard.img of=/dev/<your-microsd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template.
Boot the i.MX6UL EVK board
=========================
To boot your newly created system (refer to the i.MX6UL EVK Quick Start Guide
[1] for guidance):
- insert the microSD card in the microSD slot of the board;
- verify that your i.MX6UL EVK board jumpers and switches are set as mentioned
in the i.MX6UL EVK Quick Start Guide [1];
- put a micro USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!
References
==========
[1] http://cache.freescale.com/files/32bit/doc/quick_start_guide/IMX6ULTRALITEQSG.pdf
+71
View File
@@ -0,0 +1,71 @@
****************************
Freescale i.MX6ULL EVK board
****************************
This file documents the Buildroot support for the Freescale i.MX6ULL EVK board.
Build
=====
First, configure Buildroot for your i.MX6ULL EVK board:
In order to to do so there are two supported options:
make freescale_imx6ullevk_defconfig
if you plan to use NXP provided U-Boot and kernel.
or
make imx6ullevk_defconfig
if you plan to use mainline U-Boot and mainline kernel.
Build all components:
make
You will find in output/images/ the following files:
- boot.vfat
- imx6ull-14x14-evk.dtb
- rootfs.ext2
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.bin
- u-boot.imx
- zImage
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
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=./output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template.
Boot the i.MX6ULL EVK board
===========================
To boot your newly created system (refer to the i.MX 6ULL EVK Quick Start Guide [1] for guidance):
- insert the SD card in the micro SD slot of the board;
- put a micro USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!
References
==========
[1] https://www.nxp.com/files-static/32bit/doc/brochure/IMX6ULLQSG.pdf
+54
View File
@@ -0,0 +1,54 @@
***************************
Freescale i.MX7D SDB board
***************************
This file documents the Buildroot support for the Freescale i.MX7D SDB board.
Build
=====
First, configure Buildroot for your i.MX7D SDB board:
make freescale_imx7dsabresd_defconfig
Build all components:
make
You will find in output/images/ the following files:
- imx7d-sdb.dtb
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.imx
- zImage
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
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=./output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template.
Boot the i.MX7D SDB board
=========================
To boot your newly created system:
- insert the SD card in the SD slot of the board;
- put a micro USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!
@@ -0,0 +1,4 @@
Label imx7d-sabresd-buildroot
kernel /boot/zImage
devicetree /boot/imx7d-sdb.dtb
append root=PARTUUID=${uuid} rootwait rw console=${console},${baudrate}
+71
View File
@@ -0,0 +1,71 @@
***************************
Freescale i.MX8MM EVK board
***************************
This file documents the Buildroot support for the Freescale i.MX8MM
EVK board.
Build
=====
First, configure Buildroot for the i.MX8MM EVK board:
make freescale_imx8mmevk_defconfig
Build all components:
make
You will find in output/images/ the following files:
- bl31.bin
- boot.vfat
- fsl-imx8mm-evk.dtb
- Image
- imx8-boot-sd.bin
- lpddr4_pmu_train_fw.bin
- rootfs.ext2
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.bin
- u-boot.imx
- u-boot-nodtb.bin
- u-boot-spl-ddr.bin
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
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template_imx8.
Boot the i.MX8MM EVK board
==========================
To boot your newly created system (refer to the i.MX8MMini EVK Quick Start Guide
[1] for guidance):
- insert the SD card in the SD slot of the board;
- Configure the switches as follows:
SW1101: 0110110010 [D1-D10]
SW1102: 0001101000 [D1-D10]
- put a micro USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!
References
==========
[1] https://www.nxp.com/document/guide/Get-Started-with-the-i.MX-8M-Mini-EVK:GS-iMX-8M-Mini-EVK
+73
View File
@@ -0,0 +1,73 @@
***************************
Freescale i.MX8MN EVK board
***************************
This file documents the Buildroot support for the i.MX8M Nano EVK board.
Build
=====
First, configure Buildroot for the i.MX8MN EVK board:
make freescale_imx8mnevk_defconfig
Build all components:
make
You will find in output/images/ the following files:
- bl31.bin
- boot.vfat
- ddr4_201810_fw.bin
- ddr_fw.bin
- fsl-imx8mn-ddr4-evk.dtb
- Image
- imx8-boot-sd.bin
- rootfs.ext2
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.bin
- u-boot.imx
- u-boot.itb
- u-boot-nodtb.bin
- u-boot-spl.bin
- u-boot-spl-ddr.bin
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
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template_imx8.
Boot the i.MX8MN EVK board
==========================
To boot your newly created system (refer to the i.MX8MNano EVK Quick Start Guide
[1] for guidance):
- insert the SD card in the SD slot of the board;
- Configure the switches as follows (X = "don't care"):
SW1101: 1100XXXXXX [D1-D10]
SW1102: XXXXXXXXXX [D1-D10]
- put a micro USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!
References
==========
[1] https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-nano-applications-processor:8MNANOD4-EVK
+71
View File
@@ -0,0 +1,71 @@
*********************
NXP i.MX8MP EVK board
*********************
This file documents the Buildroot support for the i.MX 8M Plus EVK board.
Build
=====
First, configure Buildroot for the i.MX 8M Plus EVK board:
make freescale_imx8mpevk_defconfig
Build all components:
make
You will find in output/images/ the following files:
- bl31.bin
- boot.vfat
- ddr_fw.bin
- Image
- imx8-boot-sd.bin
- imx8mp-evk.dtb
- lpddr4_pmu_train_fw.bin
- rootfs.ext2
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.bin
- u-boot.itb
- u-boot-nodtb.bin
- u-boot-spl.bin
- u-boot-spl-ddr.bin
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
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template_imx8.
Boot the i.MX 8M Plus EVK board
===============================
To boot your newly created system (refer to the i.MX 8M Plus EVK Documentation
[1] for guidance):
- insert the SD card in the SD slot of the board;
- Configure the switches as follows (X = "don't care"):
SW4: 0011 SW4[1-4]
- put a micro USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!
References
==========
[1] https://www.nxp.com/document/guide/get-started-with-the-i-mx-8m-plus-evk:GS-iMX-8M-Plus-EVK
+86
View File
@@ -0,0 +1,86 @@
***************************
Freescale i.MX8MQ EVK board
***************************
This file documents the Buildroot support for the Freescale i.MX8MQ
EVK board.
Build
=====
First, configure Buildroot for the i.MX8MQ EVK board:
If you want to use the NXP kernel:
make freescale_imx8mqevk_defconfig
Or if you want to use a mainline kernel:
make imx8mqevk_defconfig
Build all components:
make
You will find in output/images/ the following files:
- bl31.bin
- boot.vfat
- fsl-imx8mq-evk.dtb
- Image
- imx8-boot-sd.bin
- lpddr4_pmu_train_fw.bin
- rootfs.ext2
- rootfs.ext4
- rootfs.tar
- sdcard.img
- signed_hdmi_imx8m.bin
- u-boot.bin
- u-boot.imx
- u-boot-nodtb.bin
- u-boot-spl-ddr.bin
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
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template_imx8.
Boot the i.MX8MQ EVK board
==========================
To boot your newly created system:
- insert the SD card in the SD slot of the board;
- Configure the switches as follows:
SW801: ON ON OFF OFF
SW802: ON OFF
- put a micro USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enable HDMI output
==================
To enable HDMI output at boot you must provide the video kernel boot
argument. To set the video boot argument from U-Boot run after
stopping in U-Boot prompt:
setenv mmcargs 'setenv bootargs console=${console} root=${mmcroot} video=HDMI-A-1:1920x1080-32@60'
saveenv
reset
Change screen resolution to suit your connected display.
Enjoy!
+76
View File
@@ -0,0 +1,76 @@
***************************
Freescale i.MX8QM MEK board
***************************
This file documents the Buildroot support for the NXP i.MX8QM MEK board.
You will find a reference to the board on nxp.com:
https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/i.mx-8quadmax-multisensory-enablement-kit-mek:MCIMX8QM-CPU
You can also find the get started guide here:
https://www.nxp.com/document/guide/get-started-with-the-i.mx-8quadmax-mek:GS-iMX-8QM-MEK
Build
=====
First, configure Buildroot for the i.MX8QM MEK board:
$ make freescale_imx8qmmek_defconfig
Build all components:
$ make
You will find in output/images/ the following files:
- ahab-container.img
- bl31.bin
- boot.vfat
- fsl-imx8qm-mek.dtb
- Image
- imx8-boot-sd.bin
- mkimg.commit
- mx8qm-mek-scfw-tcm.bin
- mx8qm-val-scfw-tcm.bin
- mx8qm-a0-ddr4-scfw-tcm.bin
- mx8qm-a0-mek-scfw-tcm.bin
- mx8qm-a0-val-scfw-tcm.bin
- mx8qm-ddr4-scfw-tcm.bin
- rootfs.ext2
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot-atf.bin
- u-boot.bin
- u-boot-hash.bin
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
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template_imx8.
Boot the i.MX8QM MEK board
==========================
To boot your newly created system:
- insert the SD card in the SD slot of the board;
- Configure the boot switch as follows:
SW2: OFF OFF ON ON OFF OFF
- put a micro USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!
+67
View File
@@ -0,0 +1,67 @@
***************************
Freescale i.MX8QXP MEK board
***************************
This file documents the Buildroot support for the Freescale i.MX8QXP
MEK board.
Build
=====
First, configure Buildroot for the i.MX8QXP MEK board:
make freescale_imx8qxpmek_defconfig
Build all components:
make
You will find in output/images/ the following files:
- ahab-container.img
- bl31.bin
- boot.vfat
- fsl-imx8qxp-mek.dtb
- Image
- imx8-boot-sd.bin
- mkimg.commit
- mx8qx-mek-scfw-tcm.bin
- mx8qx-val-scfw-tcm.bin
- rootfs.ext2
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot-atf.bin
- u-boot.bin
- u-boot-hash.bin
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
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template_imx8.
Boot the i.MX8QXP MEK board
==========================
To boot your newly created system:
- insert the SD card in the SD slot of the board;
- Configure the boot switch as follows:
SW2: ON ON OFF OFF
- put a micro USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!
+25
View File
@@ -0,0 +1,25 @@
The bootloader is no longer buildable in the latest Freescale/NXP tree or
upstream. As such, retrieve the "Image: SDK V1.2 e500v2 Binary ISO" from
NXP downloads and follow the release notes for reflashing.
For programming the kernel and rootfs created by buildroot into the flash.
The fast way is to tftp transfer the files via one of the network interfaces.
Make sure your devkit has ipaddr and serverip defined to reach your tftp
server.
(Assuming the default u-boot env from NXP)
1. Program the DTB to NOR flash
=> setenv dtbfile p1025twr.dtb
=> run dtbflash
2. Program the kernel and rootfs to NOR flash (reusing orignal rootfs
NOR location, as the kernel location is to small)
=> tftpboot $loadaddr uImage; protect off 0xeeb80000 +$filesize; erase 0xeeb80000 +$filesize; cp.b $loadaddr 0xeeb80000 $filesize; protect on 0xeeb80000 +$filesize; cmp.b $loadaddr 0xefa80000 $filesize
3. Booting your new system
=> bootm 0xeeb80000 - 0xefe80000
You can login with user "root".
+51
View File
@@ -0,0 +1,51 @@
For the bootloader, NXP has stablized at SDK2.0 (final release). It is
suggested to download the prebuilt from NXP downloads and follow the
release notes for reflashing.
To program the kernel and rootfs created by buildroot into the flash. The
fast way is to tftp transfer the files via one of the network interfaces.
Make sure your devkit has ipaddr, netmask, and serverip defined to reach your
tftp server. Verify bootargs are reasonable (console=ttyS0,115200).
------------------------------------------------------------------------------
Devkit: T1040RDB
(Assuming the default u-boot env from NXP)
1. Program the DTB to NOR flash
=> tftpboot $loadaddr t1040d4rdb.dtb; protect off 0xe8800000 +$filesize; erase 0xe8800000 +$filesize; cp.b $loadaddr 0xe8800000 $filesize; protect on 0xe8800000 +$filesize; cmp.b $loadaddr 0xe8800000 $filesize
2. Program the kernel and rootfs to NOR flash
=> tftpboot $loadaddr uImage; protect off 0xe8020000 +$filesize; erase 0xe8020000 +$filesize; cp.b $loadaddr 0xe8020000 $filesize; protect on 0xe8020000 +$filesize; cmp.b $loadaddr 0xe8020000 $filesize
=> tftpboot $loadaddr rootfs.cpio.uboot; protect off 0xe9300000 +$filesize; erase 0xe9300000 +$filesize; cp.b $loadaddr 0xe9300000 $filesize; protect on 0xe9300000 +$filesize; cmp.b $loadaddr 0xe9300000 $filesize
3. Booting your new system
=> boot
You can login with user "root".
------------------------------------------------------------------------------
Devkit: T2080 QDS or RDB
(Assuming the default u-boot env from NXP)
1. Netboot the kernel/rootfs/dtb
=> tftp 0x1000000 uImage && tftp 0x2000000 rootfs.cpio.uboot
RDB => tftp 0x3000000 t2080rdb.dtb
or
QDS => tftp 0x3000000 t2080qds.dtb
2. Booting your new system
=> bootm 0x1000000 0x2000000 0x3000000
You can login with user "root".
3. If flashing is desired, a similar approach to the T1040 can be followed
with updated addresses for the flash layout. Example is in the NXP default
env.
------------------------------------------------------------------------------
+77
View File
@@ -0,0 +1,77 @@
Build
=====
First, configure Buildroot for your WarpBoard.
make warpboard_defconfig
Build all components:
make
You will find in ./output/images/ the following files:
- imx6sl-warp.dtb
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.imx
- zImage
Update uboot
============
- Put warpboard in USB download mode by closing the j2 jumper on the
daugther board
- Load u-boot.imx in the WarpBoard by using the imx-usb-loader host utility:
$ ./output/host/bin/imx_usb -c output/host/etc/imx-loader.d/ output/images/u-boot.imx
- U-Boot will appear in minicom
- Reset the U-Boot environment to its default:
=> env default -f -a
=> saveenv
- Run the DFU command in U-Boot:
=> dfu 0 mmc 0
- Transfer U-Boot into flash by running this command in host side:
$ sudo ./output/host/bin/dfu-util -D output/images/u-boot.imx -a boot
- remove power and put the WarpBoard back into normal boot mode by
opening the j2 jumper.
Update linux & rootfs
=====================
Run the 'ums' command from the U-Boot prompt to mount the eMMC as USB mass
storage:
=> ums 0 mmc 0
And then flash the sdcard.img into the eMMC:
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the eMMC content. Use it with care! ***
Using bluetooth
================
Enable the bluez_utils or bluez5_utils package, and then run:
$ hciattach /dev/ttymxc4 any
$ hciconfig hci0 up
Using Wifi
==========
# modprobe brcmfmac
# iwconfig wlan0 essid ACCESSPOINTNAME
# wpa_passphrase ACCESSPOINTNAME > /etc/wpa.conf
(enter the wifi password and press enter)
# wpa_supplicant -Dwext -iwlan0 -c /etc/wpa.conf &
# udhcpc -i wlan0
# ping buildroot.org
Enjoy!
+1
View File
@@ -0,0 +1 @@
CONFIG_CFG80211_WEXT=y
@@ -0,0 +1,40 @@
# bcm94330wlsdgb.txt
manfid=0x2d0
prodid=0x0552
vendid=0x14e4
devid=0x4360
boardtype=0x0552
boardrev=0x11
# this design has 2.4GHz SP3T switch
boardflags=0x00080200
nocrc=1
xtalfreq=37400
boardnum=22
macaddr=00:90:4c:c5:12:38
ag0=255
aa2g=1
ccode=CN
pa0b0=0x14d0
pa0b1=0xfd98
pa0b2=0xff78
rssismf2g=0xa
rssismc2g=0x3
rssisav2g=0x7
maxp2ga0=0x50
sromrev=3
il0macaddr=00:90:4c:c5:12:38
wl0id=0x431b
cckPwrOffset=5
ofdm2gpo=0x66666666
mcs2gpo0=0x6666
mcs2gpo1=0x6666
swctrlmap_2g=0x04040404,0x02020202,0x02020404,0x10202,0x1ff
swctrlmap_5g=0x00100010,0x00280020,0x00200010,0x14202,0x2f8
rfreg033=0x19
rfreg033_cck=0x1f
dacrate2g=160
txalpfbyp2g=1
bphyscale=17
cckPwrIdxCorr=-15
pacalidx2g=45
txgaintbl=1