Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3 1/2] host-zynq-boot-bin: new package
Date: Fri, 3 Jul 2015 19:33:07 +0200	[thread overview]
Message-ID: <20150703173306.GA3652@free.fr> (raw)
In-Reply-To: <1435063751-27344-2-git-send-email-xvikto03@stud.fit.vutbr.cz>

Jan, All,

On 2015-06-23 14:49 +0200, Jan Viktorin spake thusly:
> From: Jan Viktorin <viktorin@rehivetech.com>
> 
> The package creates file images/boot.bin to boot
> Xilinx Zynq based boards. It might not work with
> U-Boot older then 2015.07.
> 
> The script zynq-boot-bin.py is contained in the
> Xilinx repository of U-Boot (it is not in upstream).
> 
> Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
[--SNIP--]
> diff --git a/package/zynq-boot-bin/zynq-boot-bin.mk b/package/zynq-boot-bin/zynq-boot-bin.mk
> new file mode 100644
> index 0000000..aff4593
> --- /dev/null
> +++ b/package/zynq-boot-bin/zynq-boot-bin.mk
> @@ -0,0 +1,24 @@
> +################################################################################
> +#
> +# zynq-boot-bin
> +#
> +################################################################################
> +
> +ZYNQ_BOOT_BIN_VERSION = xilinx-v2015.1
> +ZYNQ_BOOT_BIN_SOURCE = zynq-boot-bin.py
> +ZYNQ_BOOT_BIN_SITE = https://raw.githubusercontent.com/Xilinx/u-boot-xlnx/$(ZYNQ_BOOT_BIN_VERSION)/tools

Missing licensing information:
    ZYNQ_BOOT_BIN_LICENSE = foo license...
    ZYNQ_BOOT_BIN_LICENSE_FILES = License-file

> +HOST_ZYNQ_BOOT_BIN_INSTALL_STAGING = NO
> +HOST_ZYNQ_BOOT_BIN_INSTALL_IMAGES = YES

Since this is a host-only package, you need not specify either;
  - install_staging already defaults to no,
  - both are anyway only valid for target packages.

> +HOST_ZYNQ_BOOT_BIN_DEPENDENCIES = uboot
> +
> +define HOST_ZYNQ_BOOT_BIN_EXTRACT_CMDS
> +	@cp $(DL_DIR)/$(ZYNQ_BOOT_BIN_SOURCE) $(@D)
> +endef
> +
> +define HOST_ZYNQ_BOOT_BIN_BUILD_CMDS
> +	@env python2 $(@D)/zynq-boot-bin.py -o $(BINARIES_DIR)/boot.bin \

That mught be an indication that it should depend on host-python, no?

> +		-u $(BINARIES_DIR)/$(notdir $(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME)))
> +endef

Although what you wrote does work, it is not absolutely correct: the
build commands should just really build, not install anything in the
output directories.

You should generate the files in the package build directory, and
provide a command that does the install (even if it is just copying the
generated files).

> +$(eval $(host-generic-package))

But, then since you install in $(BINARIES_DIR), which is definitely not
what we usually do for host  packages. The expected output of a host
package is to install something in $(HOST_DIR), so that it can later be
used (e.g. by another package, or by a post-build/post-image script)

Here's what I think should be done:

    ZYNQ_BOOT_BIN_VERSION = xilinx-v2015.1
    ZYNQ_BOOT_BIN_SOURCE = zynq-boot-bin.py
    ZYNQ_BOOT_BIN_SITE = https://raw.githubusercontent.com/Xilinx/u-boot-xlnx/$(ZYNQ_BOOT_BIN_VERSION)/tools
    ZYNQ_BOOT_BIN_LICENSE = GPLv3+
    # No license file, license in file itself

    HOST_ZYNQ_BOOT_BIN_DEPENDENCIES = host-python

    define HOST_ZYNQ_BOOT_BIN_INSTALL_CMDS
        @cp $(DL_DIR)/$(ZYNQ_BOOT_BIN_SOURCE) \
        $(HOST_DIR)/usr/bin/$(ZYNQ_BOOT_BIN_SOURCE)
    endef

    $(eval $(hhost-generic-package))

And then in the board README file, state something along the lines:

    ---8<---
    To finalise the boot device, run the following command:

      $ ./output/host/usr/bin/zynq-boot-bin.py \
            -u output/images/boot.bin \
            -o /path/to/the/boot-stuff
    ---8<---

(you get the idea)

Note: that's what we do for the Raspberry Pi, for example, where we
install the 'mkknlimg' utility in $(HOST_DIR) and tell the user how to
use it in the board readme file:

    ---8<---
    The kernel image must be marked with a special header so that the
    bootloader of the RaspberryPi knows it supports Device Tree:

      $ ./output/host/usr/bin/mkknlimg output/images/zImage \
                                       /mnt/mountpointboot/zImage
    ---8<---

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2015-07-03 17:33 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-18 16:27 [Buildroot] [PATCH 1/2] zedboard: Upgrade to Linux xilinx-v2015.1 (3.18) Jan Viktorin
2015-06-18 16:27 ` [Buildroot] [PATCH 2/2] zedboard: Upgrade to U-Boot 2015.07 Jan Viktorin
2015-06-18 21:18   ` Thomas Petazzoni
2015-06-19 13:38     ` [Buildroot] [PATCH v1 0/2] Make Buildroot for Zedboard independent on Xilinx tools Jan Viktorin
2015-06-19 19:59       ` Arnout Vandecappelle
2015-06-20  8:26         ` Jan Viktorin
2015-06-20  9:30           ` Arnout Vandecappelle
2015-06-19 13:40     ` [Buildroot] [PATCH v1 1/2] host-zynq-boot-bin: new package Jan Viktorin
2015-06-19 13:40       ` [Buildroot] [PATCH v1 2/2] zedboard: Upgrade to U-Boot 2015.07 Jan Viktorin
2015-06-22 11:15     ` [Buildroot] [PATCH v2 0/2] Make Buildroot for Zedboard independent on Xilinx tools Jan Viktorin
2015-06-22 11:15       ` [Buildroot] [PATCH v2 1/2] host-zynq-boot-bin: new package Jan Viktorin
2015-06-22 17:32         ` Baruch Siach
2015-06-22 21:58         ` Arnout Vandecappelle
2015-06-22 11:15       ` [Buildroot] [PATCH v2 2/2] zedboard: Upgrade to U-Boot 2015.07 Jan Viktorin
2015-06-23 12:49       ` [Buildroot] [PATCH v3 0/2] Make Buildroot for Zedboard independent on Xilinx tools Jan Viktorin
2015-06-23 12:49         ` [Buildroot] [PATCH v3 1/2] host-zynq-boot-bin: new package Jan Viktorin
2015-07-03 17:33           ` Yann E. MORIN [this message]
2015-07-03 20:00             ` Arnout Vandecappelle
2015-07-03 21:51               ` Yann E. MORIN
2015-07-03 23:44                 ` Jan Viktorin
2015-07-04 14:07           ` Thomas Petazzoni
2015-07-14 15:12             ` [Buildroot] [PATCH v4 0/7 Make Buildroot for Zedboard independent on Xilinx tools Jan Viktorin
2015-07-14 15:14               ` [Buildroot] [PATCH v4 3/7] boot/uboot: Add support for dtb.img format Jan Viktorin
2015-07-14 18:51                 ` Maxime Hadjinlian
2015-07-14 22:09                 ` Thomas Petazzoni
2015-07-14 15:14               ` [Buildroot] [PATCH v4 2/7] host-zynq-boot-bin: new package Jan Viktorin
2015-07-18 21:18                 ` Thomas Petazzoni
2015-07-14 15:14               ` [Buildroot] [PATCH v4 5/7] zedboard: Generate BOOT.BIN automatically Jan Viktorin
2015-07-14 15:16               ` [Buildroot] [PATCH v4 4/7] boot/uboot: Generate BOOT.BIN file when building for Xilinx Zynq Jan Viktorin
2015-07-18 21:19                 ` Thomas Petazzoni
2015-07-14 15:16               ` [Buildroot] [PATCH v4 6/7] zedboard: Patch default U-Boot environment for zedboard Jan Viktorin
2015-07-18 21:19                 ` Thomas Petazzoni
2015-07-14 15:16               ` [Buildroot] [PATCH v4 7/7] zedboard: Update readme.txt to reflect BOOT.BIN generation Jan Viktorin
2015-07-18 21:19                 ` Thomas Petazzoni
2015-07-14 15:17               ` [Buildroot] [PATCH v4 1/7] docs/manual: Fix trivial typo Jan Viktorin
2015-07-14 18:13                 ` Maxime Hadjinlian
2015-07-14 21:57                 ` Thomas Petazzoni
2015-06-23 12:49         ` [Buildroot] [PATCH v3 2/2] zedboard: Upgrade to U-Boot 2015.07 Jan Viktorin
2015-07-02 12:40         ` [Buildroot] [PATCH v3 0/2] Make Buildroot for Zedboard independent on Xilinx tools Jan Viktorin
2015-07-03 17:40           ` Yann E. MORIN
2015-07-03 23:52             ` Jan Viktorin
2015-06-18 21:15 ` [Buildroot] [PATCH 1/2] zedboard: Upgrade to Linux xilinx-v2015.1 (3.18) Thomas Petazzoni

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=20150703173306.GA3652@free.fr \
    --to=yann.morin.1998@free.fr \
    --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