Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Frampton <mikeframpo@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 3/3] configs/qcom_db410c: new defconfig
Date: Thu, 19 Nov 2020 22:08:54 +1300	[thread overview]
Message-ID: <20201119090854.48955-4-mikeframpo@gmail.com> (raw)
In-Reply-To: <20201119090854.48955-1-mikeframpo@gmail.com>

Adds a defconfig for the Qualcomm Dragonboard 410c SBC. This config
builds the qcom kernel 5.4 arm64 and assembles it into an abootimg which
can be booted on the device. Further instructions are provided in the
included readme.txt

Signed-off-by: Mike Frampton <mikeframpo@gmail.com>
---
 DEVELOPERS                      |  2 +
 board/qcom/db410c/post-image.sh | 20 +++++++
 board/qcom/db410c/readme.txt    | 93 +++++++++++++++++++++++++++++++++
 configs/qcom_db410c_defconfig   | 28 ++++++++++
 4 files changed, 143 insertions(+)
 create mode 100755 board/qcom/db410c/post-image.sh
 create mode 100644 board/qcom/db410c/readme.txt
 create mode 100644 configs/qcom_db410c_defconfig

diff --git a/DEVELOPERS b/DEVELOPERS
index 57a84a3604..caec89a1df 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1864,6 +1864,8 @@ F:	board/licheepi/
 F:	configs/licheepi_zero_defconfig
 
 N:	Mike Frampton <mikeframpo@gmail.com>
+F:	board/qcom/db410c/
+F:	configs/qcom_db410c_defconfig
 F:	package/qcom-db410c-firmware/
 
 N:	Mike Harmony <mike.harmony@snapav.com>
diff --git a/board/qcom/db410c/post-image.sh b/board/qcom/db410c/post-image.sh
new file mode 100755
index 0000000000..b33a219104
--- /dev/null
+++ b/board/qcom/db410c/post-image.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+set -e
+
+OUTIMG=$BINARIES_DIR/boot-db410c.img
+KERNEL_BUILD=$BUILD_DIR/linux-release_qcomlt-5.4
+
+cp $KERNEL_BUILD/arch/arm64/boot/dts/qcom/apq8016-sbc.dtb $BINARIES_DIR
+cp $KERNEL_BUILD/arch/arm64/boot/Image.gz $BINARIES_DIR
+
+# now assemble the bootimg
+cat $BINARIES_DIR/Image.gz $BINARIES_DIR/apq8016-sbc.dtb > $BINARIES_DIR/Image.gz+dtb
+echo "not a ramdisk" > $BINARIES_DIR/ramdisk.img
+
+abootimg --create $OUTIMG -k $BINARIES_DIR/Image.gz+dtb -r $BINARIES_DIR/ramdisk.img \
+	-c pagesize=2048 -c kerneladdr=0x80008000 -c ramdiskaddr=0x81000000 \
+	-c cmdline="root=/dev/mmcblk1p13 rw rootwait console=tty0 console=ttyMSM0,115200n8"
+
+echo "boot img written to $OUTIMG"
+
diff --git a/board/qcom/db410c/readme.txt b/board/qcom/db410c/readme.txt
new file mode 100644
index 0000000000..259dc7fd7c
--- /dev/null
+++ b/board/qcom/db410c/readme.txt
@@ -0,0 +1,93 @@
+Intro
+=====
+
+These instructions show you how to build a basic kernel and rootfs for the
+Dragonboard-410c. Terminal access is provided via the serial console.
+The provided defconfig builds an android bootimg, which is configured to be
+booted from an SD card.
+
+DB410c page at Qualcomm developer network:
+https://developer.qualcomm.com/hardware/dragonboard-410c
+
+DB410c documentation at 96boards:
+https://www.96boards.org/documentation/consumer/dragonboard/dragonboard410c/
+
+
+How to build
+============
+
+Create a .config by running:
+
+  $ make qcom_db410c_defconfig
+
+This will configure buildroot to build the kernel image, device tree binary,
+rootfs, and an android bootimg. The bootimg, containing kernelimg + devicetree,
+is bootable on the DB410c via the SD card.
+
+Once you have a .config, simply run:
+
+  $ make
+
+Result of the build
+-------------------
+
+After building, you should obtain this tree:
+
+    output/images/
+    +-- Image.gz
+    +-- apq8016-sbc.dtb
+    +-- rootfs.ext2
+    +-- boot-db410c.img
+
+
+How to set up the SD card
+=========================
+
+The bootloader on the DB410c expects the SD card to be formatted in a 
+particular way. The simplest way to set up the SD card correctly is to flash
+a prebuilt Debian image on to the card to set up the required partitions.
+
+The Debian image can be downloaded from:
+http://releases.linaro.org/96boards/dragonboard410c/linaro/debian/latest/dragonboard-410c-sdcard-developer-*.zip
+
+The instructions at this page explain how to copy it to the SD card (requires
+card 8GB or larger):
+https://www.96boards.org/documentation/consumer/dragonboard/dragonboard410c/installation/linux-sd.md.html
+
+Also note the instructions for setting the device's switches for SD card boot.
+
+After this process, the SD card should have partition lay as follows:
+
+  $ lsblk /dev/sdX
+    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
+    sdX       8:16   1  7.4G  0 disk 
+    ??sdX1    8:17   1  512K  0 part 
+    ??sdX2    8:18   1  512K  0 part 
+    ??sdX3    8:19   1    1M  0 part 
+    ??sdX4    8:20   1  512K  0 part 
+    ??sdX5    8:21   1   16K  0 part 
+    ??sdX6    8:22   1    2M  0 part 
+    ??sdX7    8:23   1    2M  0 part 
+    ??sdX8    8:24   1    1K  0 part 
+    ??sdX9    8:25   1    2M  0 part 
+    ??sdX10   8:26   1    1M  0 part 
+    ??sdX11   8:27   1   64M  0 part 
+    ??sdX12   8:28   1    1M  0 part 
+    ??sdX13   8:29   1  3.8G  0 part 
+
+The bootimg should be placed in partition 11 and the rootfs in partition 13.
+
+How to write the SD card
+========================
+
+Copy the build bootimg "boot-db410c.img" onto the SD card with the command:
+
+  $ sudo dd if=output/images/boot-db410c.img of=/dev/sdX11
+
+Then copy the rootfs with:
+
+  $ sudo dd if=output/images/rootfs.ext2 of=/dev/sdX13
+
+Insert the SD card into the device and power it up. The system should start a
+console on UART 0.
+
diff --git a/configs/qcom_db410c_defconfig b/configs/qcom_db410c_defconfig
new file mode 100644
index 0000000000..732751c787
--- /dev/null
+++ b/configs/qcom_db410c_defconfig
@@ -0,0 +1,28 @@
+# Architecture
+BR2_aarch64=y
+BR2_cortex_a53=y
+
+# Toolchain options
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
+
+# Firmware
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_QCOM_VENUS=y
+BR2_PACKAGE_LINUX_FIRMWARE_QCOM_ADRENO=y
+BR2_PACKAGE_QCOM_DB410C_FIRMWARE=y
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.linaro.org/landing-teams/working/qualcomm/kernel.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="release/qcomlt-5.4"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="apq8016-sbc"
+
+# Filesystem/Image
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_PACKAGE_HOST_ABOOTIMG=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qcom/db410c/post-image.sh"
+
-- 
2.25.1

  parent reply	other threads:[~2020-11-19  9:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-19  9:08 [Buildroot] [PATCH v2 0/3] add support for Dragonboard410c Mike Frampton
2020-11-19  9:08 ` [Buildroot] [PATCH v2 1/3] package/qcom-db410c-firmware: new package Mike Frampton
2020-11-19 13:27   ` Thomas Petazzoni
2020-11-19 22:11   ` Thomas Petazzoni
2020-11-19  9:08 ` [Buildroot] [PATCH v2 2/3] package/abootimg: add host build Mike Frampton
2020-11-19 22:12   ` Thomas Petazzoni
2020-11-19  9:08 ` Mike Frampton [this message]
2020-11-19 13:30   ` [Buildroot] [PATCH v2 3/3] configs/qcom_db410c: new defconfig Thomas Petazzoni
2020-11-20  8:03     ` Mike Frampton
2020-11-21  8:16       ` Mike Frampton
2021-01-22  9:51         ` Peter Korsgaard

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=20201119090854.48955-4-mikeframpo@gmail.com \
    --to=mikeframpo@gmail.com \
    --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