From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/4] fs/custom: generate complete, partition-based device images
Date: Sat, 21 Dec 2013 09:49:05 +0100 [thread overview]
Message-ID: <20131221094905.2641a84f@skate> (raw)
In-Reply-To: <64a7e3a995100104cdebd681621a9abb510a1820.1387578655.git.yann.morin.1998@free.fr>
Dear Yann E. MORIN,
On Fri, 20 Dec 2013 23:32:54 +0100, Yann E. MORIN wrote:
> +Requirements on host packages
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +Depending on what types of partitioning and filesystems are used by your
> ++partition table layout description+, you may have to enable some
> +host-packages in the +Host utilities+ sub-menu.
> +
> +Since the content of a +partition table layout description+ is very
> +specific to a board and/or a project, there is no way for Buildroot to
> +automatically select those host packages, and thus it is your
> +responsibility to select the appropriate ones.
> +
> +For example, for an MBR partitioning, you will have to enable the +host
> +genpart+ package. For FAT filesystems, you will have to enable both of
> ++host dosfstools+ and +host mtools+.
I'll have other comments about the genimages stuff later on, but I got
an idea this night about this specific problem. I don't really like the
fact that the user has to manually enable in menuconfig the relevant
host tools, depending on his genimage .ini configuration file.
What about doing something like:
ROOTFS_CUSTOM_DEPENDENCIES = $(shell fs/custom/genimages --show-depends \
'$(call qstrip,$(BR2_TARGET_ROOTFS_CUSTOM_PARTITION_TABLE))'
The --show-depends option of genimages would, instead of doing the
normal genimages work, simply parse the .ini file, and return a space
separated list of dependencies needed by the ROOTFS_CUSTOM stuff. Not
only this would make the dependencies automatic for the user, but also
it would allow you to remove the following piece of code from the
custom.mk file:
+# All of the following filesystem generators, or partition managers, are
+# optional, but if they are selected, we may need them, so we need to
+# depend on them
+ifeq ($(BR2_PACKAGE_HOST_DOSFSTOOLS),y)
+ROOTFS_CUSTOM_DEPENDENCIES += host-dosfstools
+endif
+ifeq ($(BR2_PACKAGE_HOST_E2FSPROGS),y)
+ROOTFS_CUSTOM_DEPENDENCIES += host-e2fsprogs
+endif
+ifeq ($(BR2_PACKAGE_HOST_GENEXT2FS),y)
+ROOTFS_CUSTOM_DEPENDENCIES += host-genext2fs
+endif
+ifeq ($(BR2_PACKAGE_HOST_GENPART),y)
+ROOTFS_CUSTOM_DEPENDENCIES += host-genpart
+endif
+ifeq ($(BR2_PACKAGE_HOST_MTOOLS),y)
+ROOTFS_CUSTOM_DEPENDENCIES += host-mtools
+endif
+ifeq ($(BR2_PACKAGE_HOST_PARTED),y)
+ROOTFS_CUSTOM_DEPENDENCIES += host-parted
+endif
What do you think?
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2013-12-21 8:49 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-20 22:32 [Buildroot] [pull request v3] Pull request for branch yem/genimages Yann E. MORIN
2013-12-20 22:32 ` [Buildroot] [PATCH 1/4] fs/custom: generate complete, partition-based device images Yann E. MORIN
2013-12-21 8:49 ` Thomas Petazzoni [this message]
2013-12-21 16:40 ` Peter Korsgaard
2013-12-21 17:12 ` Yann E. MORIN
2013-12-21 17:50 ` Thomas Petazzoni
2013-12-21 17:20 ` Yann E. MORIN
2013-12-20 22:32 ` [Buildroot] [PATCH 2/4] board/raspberrypi: provide partition description for the new genimages Yann E. MORIN
2013-12-20 22:32 ` [Buildroot] [PATCH 3/4] package/squashfs: add selection for the host variant Yann E. MORIN
2013-12-20 22:32 ` [Buildroot] [PATCH 4/4] fs/custom: add support for squashfs Yann E. MORIN
-- strict thread matches above, loose matches on Subject: below --
2013-12-16 22:26 [Buildroot] [RFC v2] Introduce the genimages infrastructure Yann E. MORIN
2013-12-16 22:26 ` [Buildroot] [PATCH 1/4] fs/custom: generate complete, partition-based device images Yann E. MORIN
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=20131221094905.2641a84f@skate \
--to=thomas.petazzoni@free-electrons.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