aboutsummaryrefslogtreecommitdiff
path: root/fs
Commit message (Collapse)AuthorAgeFilesLines
* fs/common: add option to execute custom scripts under fakerootGravatar Yann E. MORIN2016-07-031-0/+3
| | | | | | | | | | | | | | | | Some users have the need to be able to tweak the content of the target rootfs with root-like rights, that is, from inside the fakeroot script. Add a new system option to allow those users to provide a list of scripts, like the post-build and post-image scripts, that will be run from our fakeroot script. [Peter: pass TARGET_DIR to scripts, tweak help text] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Cam Hutchison <camh@xdna.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* fs/tar: support passing long options to tarGravatar Frank Hunleth2016-06-251-1/+1
| | | | | | | | | Move TAR_OPTS so that long options (or any option with an initial '-') may be passed to tar. Since TAR_OPTS is at the front of the list, single letter options still work. Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs: add sha-bang to fakeroot scriptGravatar Yann E. MORIN2016-06-071-0/+1
| | | | | | | | We directly running this script, so it should start with a sha-bang (not sure why/how it works today...). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/squashfs: remove useless chmodGravatar Yann E. MORIN2016-06-071-1/+0
| | | | | | | | | | | | | | | When that was added (in 975e30b, fs/squashfs: fix image file permissions), the reasons were not quite explicit. We are now forcing the umask, and various tests have shown that the mode on the generated image file are correct without the chmod. Remove it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <peter@korsgaard.com> Acked-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/ubifs: fix the UBI commandsGravatar Yann E. MORIN2016-06-071-3/+3
| | | | | | | We can now properly use multi-line commands, so use that. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/squashfs: split commandsGravatar Yann E. MORIN2016-06-071-1/+1
| | | | | | | | Now that we can properly printf a multi-line command, there is no need to use a single command to gnerate the squashfs image. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/jffs2: split commandsGravatar Yann E. MORIN2016-06-071-2/+2
| | | | | | | | Now that we can properly printf a multi-line command, there is no need to use a single command to gnerate the jffs2 image. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs: properly escape commands when generating fakeroot scriptGravatar Yann E. MORIN2016-06-071-4/+4
| | | | | | | | Use the newly-introduced PRINTF macro to generate printf formats that do "The Right Thing (TM)". Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/cloop: split long lineGravatar Yann E. MORIN2016-06-061-2/+3
| | | | | | | .. and add the missing newline-at-end-of-file. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/common: fix typo in commentsGravatar Brian 'redbeard' Harrington2016-05-081-1/+1
| | | | | | | Fixed comment typos as to improve clarity. Signed-off-by: Brian 'redbeard' Harrington <redbeard@coreos.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/common: generate users before setting permissionsGravatar Yann E. MORIN2016-02-011-5/+5
| | | | | | | | | We will need the users and groups to get defined before we can use them from makedevs. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* fs/ext2: add options for extra space and extra inodesGravatar Yann E. MORIN2015-10-312-2/+20
| | | | | | | | | | | | Add two options to the ext2 filesystem, one to add extra free space, one to add extra free inodes. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Cc: Martin Bark <martin@barkynet.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/axfs: fix URL indentationGravatar Peter Korsgaard2015-10-151-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* axfs: add new filesystem typeGravatar Ariel D'Alessandro2015-10-143-0/+31
| | | | | | | | | | | | | | | | | | | The Advanced XIP File System is a Linux kernel filesystem driver that enables files to be executed directly from flash or ROM memory rather than being copied into RAM. It has the ability to store individual *pages* in a file uncompressed/XIP or compressed/Demand Paged. This commit only adds support for 'XIP all' mode, so all the files that have the execute attribute set will be XIP'ed. At the moment, the FS is not supported in Linux mainline (v4.3-rc5), so the kernel has to be built with the axfs patches to be able to read it. Patches can be found here: https://github.com/jaredeh/axfs [Thomas: rewrap Config.in help text.] Signed-off-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/romfs: remove redunant ROMFS_TARGET definitionGravatar Arnout Vandecappelle2015-10-061-3/+1
| | | | | | | | | | Probably a leftover from our last fs infra reworking a couple of years ago. Incidentally, also added a newline at the end of the file. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* squashfs: Add lz4 hc compressionGravatar Matthias Weisser2015-10-041-1/+1
| | | | | | | | lz4 offers a high compression mode. A minimalistic file system shrinks by about 15%. [Peter: Unconditionally use hc mode for lz4 instead of introducing another option] Signed-off-by: Matthias Weisser <m.weisser.m@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* fs: iso9660: change boot menu entry textGravatar Vivien Didelot2015-08-181-2/+3
| | | | | | | | | | Replace Grub-specific "menu.lst" with "menu config" in the BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU Kconfig entry text, and mention missing grub.cfg for Grub 2. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/common: add <fs>_POST_GEN_HOOKS supportGravatar Thomas Petazzoni2015-08-101-0/+4
| | | | | | | | | | | | | | | | | The common filesystem infrastructure already supports a <fs>_PRE_GEN_HOOKS variable, which allows filesystem makefiles to register some actions to be done before the root filesystem image is generated. This commit adds a similiar <fs>_POST_GEN_HOOKS variable, which will allow filesystem makefiles to do some actions after the filesystem image has been generated. It will initially be used by the iso9660 filesystem to delete the temporary directory it creates. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Noé Rubinstein <nrubinstein@aldebaran.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/iso9660: install Isolinux comboot modulesGravatar Noé Rubinstein2015-07-301-2/+2
| | | | | | | | | | This installs every module selected by the BR2_TARGET_SYSLINUX_C32. This is useful when using a custom Isolinux configuration file that may use comboot modules. Signed-off-by: Noé Rubinstein <nrubinstein@aldebaran.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs: build host-mkpasswd when BR2_ROOTFS_USERS_TABLES is usedGravatar Thomas Petazzoni2015-07-211-1/+1
| | | | | | | | | | | | | | | | | | | The code in fs/common.mk properly triggers the build of host-mkpasswd when at least one package specifies a <pkg>_USERS variable. However, when no selected package specifies a <pkg>_USERS variable but the user uses a custom users table through BR2_ROOTFS_USERS_TABLES, then we forget to build host-mkpasswd, leading to build failures if you don't have mkpasswd installed in your machine. This commit fixes that by taking into account both the package users table and the custom users table when deciding to depend or not on host-mkpasswd. Reported-by: Auke Willem Oosterhoff <oosterhoff@baopt.nl> Cc: Auke Willem Oosterhoff <oosterhoff@baopt.nl> Cc: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: change the name of the tmp dir to be consistentGravatar Arnout Vandecappelle2015-07-141-1/+1
| | | | | | | | | | | | | Currently, the generated rootfs will be called rootfs.iso9660, but the temporary directory we create while building it is called rootfs-iso9660.tmp. They are in different directories so it's not so obvious, but still to be consistent it's better to call the temp dir rootfs.iso9660.tmp. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/iso9660: add support for grub2Gravatar Thomas Petazzoni2015-06-143-3/+31
| | | | | | | | | | | | | After having extended the iso9660 support to allow isolinux as an alternative to grub, this commit adds grub2 as a third alternative. With the previous work done to support isolinux, adding support for grub2 is fairly trivial. [Thomas: set timeout to 10 seconds and not 5 seconds, in order to match the configuration used for grub.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: add hybrid image supportGravatar Thomas Petazzoni2015-06-142-0/+17
| | | | | | | | | | | This commit adds a new option, which allows, when isolinux is used as the bootloader, to generate an "hybrid" ISO image. Such images can either be booted from CD-ROM or from USB keys. It simply uses the isohybrid tool provided by syslinux. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: add isolinux supportGravatar Thomas Petazzoni2015-06-143-6/+30
| | | | | | | | | | After all the preparation commits, this commit finally adds the iso9660 support itself. Besides adding a new Config.in entry, a little bit of .mk code and the isolinux.cfg default configuration, not much is needed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: use 'depends on' instead of 'select' for bootloaderGravatar Thomas Petazzoni2015-06-141-3/+4
| | | | | | | | | | | | | In preparation to the introduction of the support for other bootloaders than Grub, this commit switches from having the iso9660 support "select" the necessary bootloader to using a "depends on". The main motivation is that the isolinux bootloader support will really need to do a "depends on", due to the need of having a certain option enabled, but this option being a kconfig "choice". Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: introduce bootloader choiceGravatar Thomas Petazzoni2015-06-142-8/+26
| | | | | | | | | | | | | In preparation to the introduction for the support of other bootloaders than Grub, this commit adds a "choice ... endchoice" block with just the Grub option, and adds some conditionals in the iso9660.mk code for the Grub specific parts. Of course, for now those conditionals are a bit useless with just this commit, but they become useful with the followup commits. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: introduce new variablesGravatar Thomas Petazzoni2015-06-141-6/+10
| | | | | | | | | | | | | | | | | In preparation to the introduction of the support for other bootloaders that Grub, this commit introduces two new variables: - ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH, which gives the full path to the bootloader configuration file - ROOTFS_ISO9660_BOOT_IMAGE, which gives the relative path of the main bootloader image, as needed by genisoimage's -b option. There are no functional changes made, as the variables are for now always set to the same value. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: support building a real iso9660 filesystemGravatar Thomas Petazzoni2015-06-143-28/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now, the iso9660 filesystem handling only supported using an initrd/initramfs to store the root filesystem, which is very different from what we do with the other filesystems. This commit changes the iso9660 logic to also allow using directly an iso9660 filesystem to store the root filesystem. A new option, BR2_TARGET_ROOTFS_ISO9660_INITRD, is created to tell the iso9660 that we want to use an initrd and not directly the root filesystem in iso9660 format. This option defaults to 'y' to preserve the existing behavior. After this commit, we therefore have three possibilities: * BR2_TARGET_ROOTFS_ISO9660=y, with BR2_TARGET_ROOTFS_INITRAMFS and BR2_TARGET_ROOTFS_ISO9660_INITRD disabled. In this case, the iso9660 filesystem is directly the contents of the root filesystem (since is possible thanks to the Rockridge extensions that were already enabled using the -R option of genisoimage). Obviously, it means that the root filesystem is read-only. * BR2_TARGET_ROOTFS_ISO9660=y and BR2_TARGET_ROOTFS_INITRAMFS=y (the value of BR2_TARGET_ROOTFS_ISO9660_INITRD doesn't matter). In this case, the root filesystem is already linked into the kernel image itself, as an initramfs. So the iso9660 filesystem doesn't contain the root filesystem as is, but just the bootloader and the kernel image. * BR2_TARGET_ROOTFS_ISO9660=y, BR2_TARGET_ROOTFS_ISO9660_INITRD=y and BR2_TARGET_ROOTFS_INITRAMFS disabled. In this case, a separate initrd is used. The iso9660 filesystem only contains the bootloader, the kernel and the initrd. In order to support the first case out of the box, root=/dev/sr0 is added on the kernel command line in the example Grub configuration file, so that the kernel knows where the root filesystem is located. This argument is ignored when initrd/initramfs are used. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: prepare cleaner kernel/initrd path handlingGravatar Thomas Petazzoni2015-06-143-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | The iso9660.mk modifies the menu.lst file from Grub to set the correct initrd/kernel image locations. However, with the upcoming support of other bootloaders for iso9660 filesystems, we need to modify a bit this logic. Instead of relying on the specific details of the grub menu.lst syntax, we introduce the __KERNEL_PATH__ and __INITRD_PATH__ magic keywords, which iso9660.mk will replace by the appropriate values. They can therefore be used where needed in grub menu.lst, and in similar configuration files of other bootloaders, as will be supported in the following commits. Also, in order to be consistent with the soon to be introduced support for having the root filesystem itself as iso9660, this commit changes the installation location of the initrd and kernel. Instead of being /initrd and /kernel, they become /boot/initrd and /boot/$(LINUX_IMAGE_NAME). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: get grub splash from $(TARGET_DIR)Gravatar Thomas Petazzoni2015-06-141-1/+1
| | | | | | | | | | | | | | Instead of using directly the splash image from the Buildroot source directory boot/grub, this commit changes the iso9660 logic to use the splash image installed in $(TARGET_DIR)/boot/grub. This effectively allows a user to use a custom splash image by installing it to $(TARGET_DIR) through a rootfs overlay or using a post-build script. Suggested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: change the location of the splash imageGravatar Thomas Petazzoni2015-06-142-2/+2
| | | | | | | | | | | | | In order to simplify the introduction of the support for using ISO9660 as the real root filesystem, this commit changes the location of the grub splash image. This makes it match where the splash image is located in $(TARGET_DIR), so that regardless of whether the initrd/initramfs solution or the real iso9660 filesystem solution are used, the splash image is installed at the same location. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: rename all variables to use the ROOTFS_ISO9660 prefixGravatar Thomas Petazzoni2015-06-141-13/+13
| | | | | | | | | | | For consistency reasons, this commit renames all internal variables of iso9660.mk to use the ROOTFS_ISO9660 prefix. While we're at it, replace a useless ':=' by '='. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: enable Joliet extensionGravatar Thomas Petazzoni2015-06-141-1/+1
| | | | | | | | | | We already enable the Rockridge extension by default when building ISO9660, so let's also enable the Joliet extension which allows to support Unicode file names and long file names. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: convert to the filesystem infrastructureGravatar Thomas Petazzoni2015-06-141-37/+31
| | | | | | | | | | | | | | | | | | This commit converts the iso9660 logic to the common rootfs infrastructure. What previously prevented it from being converted is that the iso9660 logic needed to remove a temporary folder after the image has been created. However, since Buildroot typically keeps build artefacts around, this commit changes the logic to keep this temporary folder around. Thanks to this change, converting to the common rootfs infrastructure becomes possible. In addition, the temporary folder is renamed from $(BUILD_DIR)/iso9660 to the more descriptive $(BUILD_DIR)/rootfs-iso9660.tmp. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: use if ... endif block instead of depends onGravatar Thomas Petazzoni2015-06-141-1/+4
| | | | | | | | | | In preparation to the addition of numerous additional options to the iso9660 filesystem logic, use a if ... endif block instead of a depends on for the only option that currently exists. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/jffs2: Fix mkfs.jffs2 --pagesize parameter usageGravatar Michał Leśniewski2015-05-222-29/+33
| | | | | | | | | | | | | | | | | | | | Fixes #8186 Mkfs.jffs2 accepts a --pagesize parameter, which allows specifying the size of the virtual memory page size of the target machine, where the image will be used. (This is the value of the PAGE_SIZE macro in Linux.) In most cases the parameter doesn't need to be set as the default value of 4 kB is usually correct. The parameter was used incorrectly in Buildroot -- it was set to the page size of flash memory chip -- this commit fixes this problem. Now the --pagesize parameter is not used at all (unless the user explicitly chooses to use a custom value during configuration). All existing defconfigs were corrected to match the new configuration variable names. [Peter: reword, add Config.in.legacy handling] Signed-off-by: Michał Leśniewski <mlesniew@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* fs: only add non rootfs- targets to PACKAGESGravatar Thomas Petazzoni2015-04-261-1/+1
| | | | | | | | | | | | | | | | | | Commit 4570dbcb14b394d8f3c97baf4c9e5f4f225d1d37 ("4570dbcb14b394d8f3c97baf4c9e5f4f225d1d37") added the dependencies of rootfs building logic to PACKAGES, only thinking about the case where rootfs building logic actually depends on real, normal packages (host-mtd, host-genext2fs, etc.). But some file systems (rootfs-ubi) depend on other filesystem images (rootfs-ubifs). And such targets should not be added to PACKAGES, otherwise an incorrect circular dependency is created. This commit fixes that by only adding the rootfs building logic dependencies that do *not* start with rootfs- to the global PACKAGES variable. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs: add rootfs dependencies to PACKAGESGravatar Thomas Petazzoni2015-04-141-0/+1
| | | | | | | | | | | | | | | The logic for creating most of the filesystem images requires a certain number of host packages to be built. However, those packages are not currently listed in the global PACKAGES variables, and they are not dependencies of any other package listed in the PACKAGES variable. While it does not have any practical implications, it makes sense to have those packages listed in the global PACKAGES variable, which this commit implements. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs: declare phony targets as suchGravatar Thomas Petazzoni2015-04-144-0/+8
| | | | | | | | This commit improves the filesystem handling code to declare its various targets as PHONY when appropriate. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/common: build host-xz when xz compression is usedGravatar Thomas De Schampheleire2015-03-091-0/+1
| | | | | | | | | When a filesystem image is xz-compressed, the XZ variable is used to refer to the xz compression tool, but it is not necessarily available. Add a proper dependency to fix that. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs: Bail out on errors in fakeroot scriptGravatar Stefan Sørensen2015-03-081-0/+1
| | | | | | | | | | | | | | Currently, the generated fakeroot script has no error checking causing make to continue building even if some of the fakeroot script commands have failed. This can cause e.g. using an invalid device tables to go unnoticed. So add a "set -e" to the start of the fakeroot script so it will exit with a failure code as soon as one of the script commands fails. Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/tar: only store numeric uid/gidGravatar Yann E. MORIN2015-02-191-1/+1
| | | | | | | | | | | | If a target user is asigned a UID (e.g. 1000) that happens to also exist on the build machine, tar will happily store the username for that user. This can be seen by some as potential information disclosure. Instruct tar to just store the numeric uid/gid. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: indentation cleanupGravatar Jerzy Grzegorek2014-12-101-1/+1
| | | | | Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/ext2: add option to specify a filesystem labelGravatar Yann E. MORIN2014-12-072-0/+11
| | | | | | | | | | | | | | Filesystems of the ext familly can carry a filesystem label. Add an option for the user to specify such a label. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Károly Kasza <kaszak@gmail.com> Tested-by: Karoly Kasza <kaszak@gmail.com> Reviewed-by: Karoly Kasza <kaszak@gmail.com> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/ext2: use the new mke2img host packageGravatar Yann E. MORIN2014-12-072-129/+5
| | | | | | | | | | | | And get rid of the old genext2fs.sh wrapper. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Karoly Kasza <kaszak@gmail.com> Reviewed-by: Karoly Kasza <kaszak@gmail.com> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/mke2img: new packageGravatar Yann E. MORIN2014-12-071-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we are using a shell script called genext2fs, that impersonates the real genext2fs. But that script does much more than just call genextfs: it also calls tune2fs and e2fsck. Because it impersonates genext2fs, we can not easily add new options, and are constrained by the genext2fs options. But it turns out that, of all the options supported by the real genext2fs, we only really care for a subset, namely: - number of blocks - number of inodes - percentage of blocks reeserved to root - the root directory which to generate the image from So, we introduce a new host package, mke2img, that is intended to eventually replace genext2fs.sh. This new script is highly modeled from the existing genext2fs.sh, but was slightly refreshed, and a new, supposedly sane set of options has been choosen for the features we need (see above), and some new options were added, too, rather than relying on the arguments order or environment variables: -b <nb-blocks> number of blocks in the filesystem -i <nb-inodes> number of inodes in the filesystem -r <pc-reserved> percentage of reserved blocks * -d <root-dir> directory containing the root of the filesystem * -o <img-file> output image file -G <ext-gen> extfs generation: 2, 3, or 4 (default: 2) -R <ext-rev> ext2 revision: 0 or 1 (default 1) -l <label> filesystem label -u <uid> filesystem UUID; if not specified, a random one is used * Mandatory options Since the upstream e2fsprogs are expected to release a new mke2fs that will be able to generate a filesystem image from a directory, we then will be able to replace all the logic in mke2img, to use mke2fs instead of the (relatively fragile) combination of the three tools we currently use. An entry is added for it in the "Host utilities" menu, so it can be selected for use by post-{build,image} scripts. The ext2 filesystem selection is changed to select that now. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Karoly Kasza <kaszak@gmail.com> Reviewed-by: Karoly Kasza <kaszak@gmail.com> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/iso9660: use install instead of cpGravatar Guido Martínez2014-11-221-7/+9
| | | | | | | | | | | This way we don't depend on the permissions of files under boot/ or fs/, which aren't tracked. While we're at it, change all 'cp' usages into 'install' with the correct mode for each file. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: indentation cleanupGravatar Jerzy Grzegorek2014-10-262-7/+7
| | | | | Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package: indentation cleanupGravatar Jerzy Grzegorek2014-10-232-2/+2
| | | | | Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/iso9660: add dependencies for make sourceGravatar Karoly Kasza2014-10-191-1/+6
| | | | | | | | | | | | | The "iso image" rootfs target is a special one, as it does not use the ROOTFS_TARGET infrastructure. The absence of ROOTFS_*_DEPENDENCIES variable makes "make source" to skip this target's dependencies (namely host-cdrkit and it's children) obstructing an offline build. [Thomas: add the rootfs-iso9660-show-depends target, so that 'make graph-depends' doesn't break when iso9660 is selected.] Signed-off-by: Karoly Kasza <kaszak@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>