[Buildroot] [RFC PATCH 0/3] Add flashing tools for tegra processors

Julian Scheel julian at jusst.de
Thu Feb 11 15:05:07 UTC 2016


This patch series adds the tools needed to get a bootloader and optionally a
rootfilesystem flashed onto tegra processors. Packages tegrarcm and cbootimage
are fairly simple (cbootimage should hopefully see a new release soonish, so
it won't have to point to git).
The third package which is cbootimage-configs is where I'd be happy to get
some more feedback. This package basically pulls the repository which holds
build scripts and configurations for various tegra boards then utilizes
cbootimage to actually generate flashable images out of what u-boot generated
before.

On top of what cbootimage-configs does I added a feature into the makefile
which in a similar fashion is provided by tegra-uboot-flasher-scripts (found
on https://github.com/NVIDIA/tegra-uboot-flasher-scripts). As
tegra-uboot-flasher-scripts contains a whole set of build scripting to
generate uboot, tegrarcm and cbootimage it didn't seem feasible to merge it as
a package into buildroot. Instead I decided to make up the relevant feature of
it directly within buildroot which is generating a special u-boot image. This
image consists of:
- (1) a u-boot instance that is actually running when loaded via tegrarcm
- (2) a dtb that amends the u-boot environment of (1) to run commands to write
  the u-boot target image (3) onto the systems mmc. Optionally it can also
  write a partition table and enter dfu mode for root filesystem flashing.
- (3) the u-boot target image which was generated by cbootimage-configs before

Unfortunately to generate this merged image several of the intermediate
output files of u-boot are needed, namedly: u-boot.bin,
u-boot-nodtb-tegra.bin, u-boot-dtb-tegra.bin, u-boot.dtb.
Right now I depend on the u-boot image name to be set to a list of these
files, so they actually get installed into $(BINARIES), but I am not really
confident that this is a good way to do it. So I would be glad to get some
comments on this.

And finally I would be very happy to get some comment on the scripting done
within cbootimage-configs.mk. Is this actually acceptable for a buildroot
makefile or would you consider it too much? And in the end I am not very
confident about the style of that scripting as well :)

Regards,
Julian

Julian Scheel (3):
  Add package tegrarcm
  Add package cbootimage
  Add package cbootimage-configs

 package/Config.in                                |   1 +
 package/Config.in.host                           |   2 +
 package/cbootimage-configs/Config.in             | 129 +++++++++++++++++++++++
 package/cbootimage-configs/cbootimage-configs.mk | 124 ++++++++++++++++++++++
 package/cbootimage/Config.in.host                |   7 ++
 package/cbootimage/cbootimage.hash               |   2 +
 package/cbootimage/cbootimage.mk                 |  14 +++
 package/tegrarcm/Config.in.host                  |   7 ++
 package/tegrarcm/tegrarcm.hash                   |   2 +
 package/tegrarcm/tegrarcm.mk                     |  15 +++
 10 files changed, 303 insertions(+)
 create mode 100644 package/cbootimage-configs/Config.in
 create mode 100644 package/cbootimage-configs/cbootimage-configs.mk
 create mode 100644 package/cbootimage/Config.in.host
 create mode 100644 package/cbootimage/cbootimage.hash
 create mode 100644 package/cbootimage/cbootimage.mk
 create mode 100644 package/tegrarcm/Config.in.host
 create mode 100644 package/tegrarcm/tegrarcm.hash
 create mode 100644 package/tegrarcm/tegrarcm.mk

-- 
2.7.0



More information about the buildroot mailing list