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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.