summaryrefslogtreecommitdiffstats
path: root/fs/iso9660
Commit message (Collapse)AuthorAgeFilesLines
* fs: iso9660: change boot menu entry textVivien 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/iso9660: install Isolinux comboot modulesNoé 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/iso9660: change the name of the tmp dir to be consistentArnout 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 grub2Thomas 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 supportThomas 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 supportThomas 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 bootloaderThomas 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 choiceThomas 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 variablesThomas 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 filesystemThomas 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 handlingThomas 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)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 imageThomas 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 prefixThomas 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 extensionThomas 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 infrastructureThomas 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 onThomas 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: declare phony targets as suchThomas Petazzoni2015-04-141-0/+2
| | | | | | | | 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/iso9660: use install instead of cpGuido 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>
* fs/iso9660: add dependencies for make sourceKaroly 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>
* filesystems: also chown symlinksYann E. MORIN2014-06-091-1/+1
| | | | | | | | | | | | | | | | Currently, the symlinks in the generated filesystems will have the UID of the user running the build, because 'chown' does not change the ownership of symlinks, by default. Although the implications are limited, some may not want that UID to leak in the generated filesystems. So, use 'chown -h' so even symlinks get properly chowned. Reported-by: Angelo Dureghello <angelo@barix.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/iso9660: fix iso9660 supportGustavo Zacarias2014-03-061-1/+1
| | | | | | | | | Similar to the "fs/initramfs: fix initramfs support" commit the same problem applies to iso9660 in a different way. By adding iso9660 to TARGETS it gets called before target-finalize with obvious consequences. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: fix white spacesJerzy Grzegorek2014-01-161-1/+1
| | | | | Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* fs/iso9660: add Grub splashscreen supportThomas Petazzoni2013-12-312-1/+15
| | | | | | | | | When Grub is built with splashscreen support, copy the splashscreen image to the ISO9660 filesystem. Otherwise, disable the splashscreen in the grub menu.lst file. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: do not use an initrd in iso image when using initramfsThierry Bultel2013-12-291-0/+4
| | | | | | | | | | When using initramfs built into the kernel, it is useless to put an initrd in the iso image. This patch makes the image to only contain the kernel image, and also removes the initrd line from menu.lst Signed-off-by: Thierry Bultel <thierry.bultel@wanadoo.fr> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* fs/iso9660: select ISO9660 support in GrubThomas Petazzoni2013-12-291-0/+1
| | | | | | | | | The fs/iso9660 logic assumes that the Grub bootloader is used. Therefore, it should make sure that Grub is configured with the support for the ISO9660 filesystem. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* fs/iso9660: put the Buildroot boot entry first in Grub menu.lstThomas Petazzoni2013-12-291-4/+4
| | | | | | | | | | | | | | | The ISO9660-specific Grub menu.lst contains two entries: one entry to chainload the bootloader available in the first hard drive, and another entry to boot the Buildroot system. However, it defaults to booting the first entry, i.e chainloading what's on the first hard drive. For a Buildroot generated system, this is quite odd: we're not even booting the system built by Buildroot. So, switch the two entries, and put the Buildroot boot entry first. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* Config.in files: unification of comments about dependency on Linux kernelThomas De Schampheleire2013-12-151-1/+1
| | | | | | | | | This patch lines up the comments of packages that need a Linux kernel to be built by buildroot, to the format: foo needs a Linux kernel to be built Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* rootfs-common: refactor the common compression commandsArnout Vandecappelle2013-11-111-5/+1
| | | | | | | | | This makes the compression extension available in a variable, so it can be used by the fs-specific commands. In this patch, it is used by iso9660. Following patches show more use cases. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Config.in files: add missing dependencies to toolchain option commentsThomas De Schampheleire2013-11-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a package A depends on config option B and toolchain option C, then the comment that is given when C is not fulfilled should also depend on B. For example: config BR2_PACKAGE_A depends on BR2_B depends on BR2_LARGEFILE depends on BR2_WCHAR comment "A needs a toolchain w/ largefile, wchar" depends on !BR2_LARGEFILE || !BR2_WCHAR This comment should actually be: comment "A needs a toolchain w/ largefile, wchar" depends on BR2_B depends on !BR2_LARGEFILE || !BR2_WCHAR or if possible (typically when B is a package config option declared in that same Config.in file): if BR2_B comment "A needs a toolchain w/ largefile, wchar" depends on !BR2_LARGEFILE || !BR2_WCHAR [other config options depending on B] endif Otherwise, the comment would be visible even though the other dependencies are not met. This patch adds such missing dependencies, and changes existing such dependencies from depends on BR2_BASE_DEP && !BR2_TOOLCHAIN_USES_GLIBC to depends on BR2_BASE_DEP depends on !BR2_TOOLCHAIN_USES_GLIBC so that (positive) base dependencies are separate from the (negative) toolchain dependencies. This strategy makes it easier to write such comments (because one can simply copy the base dependency from the actual package config option), but also avoids complex and long boolean expressions. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> (untested) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* fix white spacesJerzy Grzegorek2013-07-201-2/+2
| | | | | Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Normalize separator size to 80 in remaining makefilesAlexandre Belloni2013-06-201-2/+2
| | | | | Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Normalize separator size to 80Jerzy Grzegorek2013-06-071-2/+2
| | | | | Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* iso9660 fs: use cpio initrd instead of ext2Arnout Vandecappelle2012-11-142-7/+6
| | | | | | | | | | | | | | | The ext2 initrd is pretty broken, because it requires an additional root=/dev/ram0 command line parameter, and a /init to mount devtmps that isn't there in out ext2 rootfs. So just use a cpio instead. Note that there is no check if the kernel supports initramfs or the selected compression method. Also removed a bit of dead code in iso9660.mk. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Remove unused .fakeroot.* mechanismThomas Petazzoni2012-04-191-2/+0
| | | | | | | | | | | | | | | | | | | There used to be a mechanism using which packages could leave a .fakeroot.<something> file which could contain commands to be executed within the fakeroot environment. Since this mechanism is no longer used by any package, remove it from the common infrastructure. The latest user was nfs-utils, which used this mechanism to do the "make install" as root, since doing otherwise was not supported. But since 16e7b8255c82815126a2c502c3787d442d254a86, nfs-utils has been upgraded and converted to the package infrastructure, and this hack is no longer necessary. Another past user was the ltp-testsuite package, for the same reason, and since a72a670489547a3ca645ff7c3a0d9c3fb66eab51, the fakeroot hack is no longer needed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* iso9660: fix build after linux package changePeter Korsgaard2011-07-271-1/+1
| | | | | | linux26 target is no more. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* iso9660: fix build after af52661d (linux: rename LINUX26 to LINUX)Peter Korsgaard2011-07-181-1/+1
| | | | | | | | iso9660 used LINUX26_IMAGE_PATH, which got renamed. Adjust to match the new name. Reported-by: Sven Neumann <s.neumann@raumfeld.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs: rename make targets to match package/ conventionPeter Korsgaard2010-11-191-3/+3
| | | | | | | | | Use rootfs-* rather than *-root, to match the convention used under package/ and which fits with the ROOTFS_*_ variables. This will also help with the host dependencies. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* iso9660: take into account the linux changesThomas Petazzoni2010-06-222-6/+6
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* iso9660: menu.lst fixup after move to fsPeter Korsgaard2010-04-151-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Move all filesystem generation code to fs/Thomas Petazzoni2010-04-093-0/+76
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
OpenPOWER on IntegriCloud