On Mon, Jul 30, 2018 at 11:39:05AM +0000, Baeuerle, Florian wrote: > This adds rules for generating a squashfs image from the root > filesystem via genimage. > > Since genimage does not seem to support squashfs-tools v3.x, this > package conflicts with that option.
I think we should remove support for squashfs-tools v3.x from PTXdist completely instead. I don't think this is needed. Michael > --- > config/images/squashfs.config | 8 ++++ > platforms/image-root-squashfs.in | 77 ++++++++++++++++++++++++++++++++ > rules/image-root-squashfs.make | 41 +++++++++++++++++ > 3 files changed, 126 insertions(+) > create mode 100644 config/images/squashfs.config > create mode 100644 platforms/image-root-squashfs.in > create mode 100644 rules/image-root-squashfs.make > > diff --git a/config/images/squashfs.config b/config/images/squashfs.config > new file mode 100644 > index 000000000..605fcb7a5 > --- /dev/null > +++ b/config/images/squashfs.config > @@ -0,0 +1,8 @@ > +image @IMAGE@ { > + squashfs { > + extraargs = "@EXTRA_ARGS@" > + compression = @COMPRESSION_MODE@ > + block-size = @BLOCK_SIZE@ > + } > + name = "root" > +} > diff --git a/platforms/image-root-squashfs.in > b/platforms/image-root-squashfs.in > new file mode 100644 > index 000000000..d29540310 > --- /dev/null > +++ b/platforms/image-root-squashfs.in > @@ -0,0 +1,77 @@ > +## SECTION=image > + > +comment "root.squashfs conflicts with squashfs-3.x" > + depends on HOST_SQUASHFS_TOOLS_V3X > + > +menuconfig IMAGE_ROOT_SQUASHFS > + tristate > + select HOST_GENIMAGE > + select HOST_SQUASHFS_TOOLS > + select IMAGE_ROOT_TGZ > + depends on !HOST_SQUASHFS_TOOLS_V3X > + prompt "Generate images/root.squashfs " > + help > + Build squashfs images of the root filesystem. This image can be stored > + linearly into target's flash device at the start of the desired > + partition. You should erase the whole partition first if the image > + is smaller than partition's size. If not, garbage data in the > remaining > + space could confuse the filesystem driver. > + > +if IMAGE_ROOT_SQUASHFS > + > +choice > + prompt "squashfs compression mode" > + help > + Select your prefered compression mode. > + > + config IMAGE_ROOT_SQUASHFS_COMPRESSION_MODE_GZIP > + bool "gzip" > + help > + Select your prefered compression mode. > + > + config IMAGE_ROOT_SQUASHFS_COMPRESSION_MODE_LZMA > + bool "lzma" > + help > + Select your prefered compression mode. > + > + config IMAGE_ROOT_SQUASHFS_COMPRESSION_MODE_LZO > + bool "lzo" > + help > + Select your prefered compression mode. > + > + config IMAGE_ROOT_SQUASHFS_COMPRESSION_MODE_LZ4 > + bool "lz4" > + help > + Select your prefered compression mode. > + > + config IMAGE_ROOT_SQUASHFS_COMPRESSION_MODE_XZ > + bool "xz" > + help > + Select your prefered compression mode. > + > +endchoice > + > +config IMAGE_ROOT_SQUASHFS_COMPRESSION_MODE > + string > + default "gzip" if IMAGE_ROOT_SQUASHFS_COMPRESSION_MODE_GZIP > + default "lzma" if IMAGE_ROOT_SQUASHFS_COMPRESSION_MODE_LZMA > + default "lzo" if IMAGE_ROOT_SQUASHFS_COMPRESSION_MODE_LZO > + default "lz4" if IMAGE_ROOT_SQUASHFS_COMPRESSION_MODE_LZ4 > + default "xz" if IMAGE_ROOT_SQUASHFS_COMPRESSION_MODE_XZ > + > +config IMAGE_ROOT_SQUASHFS_BLOCK_SIZE > + string > + default "128k" > + prompt "Block size" > + help > + This allows the compression data block size to be selected, both "K" > and "M" > + postfixes are supported. > + > +config IMAGE_ROOT_SQUASHFS_EXTRA_ARGS > + string > + default "" This is the default. Just remove it. > + prompt "extra arguments passed to mksquashfs" > + help > + You can add extra arguments for mksquashfs here > + > +endif > diff --git a/rules/image-root-squashfs.make b/rules/image-root-squashfs.make > new file mode 100644 > index 000000000..ce79943f3 > --- /dev/null > +++ b/rules/image-root-squashfs.make > @@ -0,0 +1,41 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2018 by Florian Bäuerle <florian.baeue...@allegion.com> > +# > +# See CREDITS for details about who has contributed to this project. > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +IMAGE_PACKAGES-$(PTXCONF_IMAGE_ROOT_SQUASHFS) += image-root-squashfs > + > +# > +# Paths and names > +# > +IMAGE_ROOT_SQUASHFS := image-root-squashfs > +IMAGE_ROOT_SQUASHFS_DIR := $(BUILDDIR)/$(IMAGE_ROOT_SQUASHFS) > +IMAGE_ROOT_SQUASHFS_IMAGE := $(IMAGEDIR)/root.squashfs > +IMAGE_ROOT_SQUASHFS_FILES := $(IMAGEDIR)/root.tgz > +IMAGE_ROOT_SQUASHFS_CONFIG := squashfs.config > + > +# > ---------------------------------------------------------------------------- > +# Image > +# > ---------------------------------------------------------------------------- > + > +ifdef PTXCONF_IMAGE_ROOT_SQUASHFS This is not needed. I should remove this from the other rules. Something like this was necessary when we two ways to generate the same images. That is no longer the case. Michael > +IMAGE_ROOT_SQUASHFS_ENV := \ > + EXTRA_ARGS=$(PTXCONF_IMAGE_ROOT_SQUASHFS_EXTRA_ARGS) \ > + COMPRESSION_MODE=$(PTXCONF_IMAGE_ROOT_SQUASHFS_COMPRESSION_MODE) \ > + BLOCK_SIZE=$(PTXCONF_IMAGE_ROOT_SQUASHFS_BLOCK_SIZE) > + > +$(IMAGE_ROOT_SQUASHFS_IMAGE): > + @$(call targetinfo) > + @$(call image/genimage, IMAGE_ROOT_SQUASHFS) > + @$(call finish) > +endif > + > +# vim: syntax=make > _______________________________________________ > ptxdist mailing list > ptxdist@pengutronix.de -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de