Package: u-boot
Version: 2016.09~rc1+dfsg1-1
Severity: wishlist
Tags: patch

In #824955 (add dragonboard410c target), we discussed that u-boot
needs to be wrapped into a specific image file using the skales tools
so the device can boot it.  Riku Voipio has packaged the skales tools
in the meantime and they are in unstable.

Attached is a patch that uses the skales tools to generate a bootable
image.

-- 
Martin Michlmayr
http://www.cyrius.com/
>From 65b900719db5f8041a02b3b5d9c7c7cb1c833151 Mon Sep 17 00:00:00 2001
From: Martin Michlmayr <t...@cyrius.com>
Date: Sat, 27 Aug 2016 20:37:49 -0700
Subject: [PATCH] Generate bootable image for DragonBoard 410c

The boot loader on the DragonBoard 410c requires images to be in a
specific format.  Generate a bootable image using the skales tools.
More details can be found in board/qualcomm/dragonboard410c/readme.txt
---
 debian/control                   |  2 +-
 debian/rules                     | 10 ++++++++++
 debian/u-boot-qcom.README.Debian | 31 +++++++++++++++++++++++++++++++
 3 files changed, 42 insertions(+), 1 deletion(-)
 create mode 100644 debian/u-boot-qcom.README.Debian

diff --git a/debian/control b/debian/control
index 8848e6e..ad5406f 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ Section: admin
 Priority: optional
 Maintainer: Vagrant Cascadian <vagr...@debian.org>
 Uploaders: Loïc Minier <l...@debian.org>, Clint Adams <cl...@debian.org>
-Build-Depends: debhelper (>= 9.20141010), bc, device-tree-compiler, dpkg-dev (>= 1.17.14), python:any [armhf]
+Build-Depends: debhelper (>= 9.20141010), bc, device-tree-compiler, dpkg-dev (>= 1.17.14), python:any [armhf], skales [arm64]
 Standards-Version: 3.9.8
 Homepage: http://www.denx.de/wiki/U-Boot/
 Vcs-Git: https://anonscm.debian.org/git/collab-maint/u-boot.git
diff --git a/debian/rules b/debian/rules
index 9d5ae47..8da22f0 100755
--- a/debian/rules
+++ b/debian/rules
@@ -50,6 +50,16 @@ override_dh_auto_build:
 			echo $$builddir/u-boot-spl.rksd /usr/lib/u-boot/$$platform/ \
 				>> debian/build/targets.$$subarch; \
 			;; \
+		qcom) \
+			touch $$builddir/rd; \
+			skales-dtbtool -o $$builddir/dt.img $$builddir/arch/arm/dts; \
+			skales-mkbootimg --kernel $$builddir/u-boot-dtb.bin \
+				--output=$$builddir/u-boot.img --dt=$$builddir/dt.img \
+				--pagesize 2048 --base 0x80000000 \
+				--ramdisk=$$builddir/rd --cmdline=""; \
+			echo $$builddir/u-boot.img /usr/lib/u-boot/$$platform/ \
+				>> debian/build/targets.$$subarch; \
+			;; \
 	        esac; \
 	done
 
diff --git a/debian/u-boot-qcom.README.Debian b/debian/u-boot-qcom.README.Debian
new file mode 100644
index 0000000..dc2ac34
--- /dev/null
+++ b/debian/u-boot-qcom.README.Debian
@@ -0,0 +1,31 @@
+=== DragonBoard 410c ===
+
+You can use fastboot (from the android-tools-fastboot package) to
+boot U-Boot or flash U-Boot on your DragonBoard 410c.  Connect your
+PC via a USB cable to the micro-USB port on the DragonBoard.  Hold
+the volume down (-) button (S4) and turn on the device to go into
+fastboot mode.
+
+You have two options: you can load U-Boot without flashing it (for
+example to test U-Boot) or you can flash it to the device.
+
+In order to load U-Boot without flashing it, run this command:
+
+    fastboot boot /usr/lib/u-boot/dragonboard410c/u-boot.img
+
+In order to flash U-Boot to the boot partition, run:
+
+    fastboot flash boot /usr/lib/u-boot/dragonboard410c/u-boot.img
+
+You have to reset your device after "fastboot flash boot" to start
+U-Boot.
+
+When U-Boot starts, it will try to boot from attached devices in
+the following order:
+
+* USB
+* External SD card
+* Internal SD card (eMMC)
+
+At the moment, there's no graphics support, so you will only see the
+U-Boot output if you have the optional serial console adapter.
-- 
2.1.4

Reply via email to