summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/initrdscripts
Commit message (Collapse)AuthorAgeFilesLines
* initramfs-boot: create /dev/consoleJacob Kroon2019-01-111-1/+6
| | | | | | | | | | | | | | | | | The Yocto kernel expects a proper /dev/console to exist before running init, otherwise booting will fail with the message: Kernel panic - not syncing: /dev/console is missing or not a character device! Please ensure your rootfs is properly configured Add similar fix as was done for initramfs-framework and initramfs-live-boot in commits 0352841cd92f6316bcac092e2fff9d28c352b36b 1b64664f0c388f41084f5db6e46e3e68c53fb6d9 Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* init-install-efi.sh: improve info messageAnuj Mittal2018-10-121-1/+1
| | | | | | | | Let users know that the installation was successful and that pressing Enter would lead to a reboot. Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs-framework/udev: call settle before killAnuj Mittal2018-09-191-0/+1
| | | | | | | | | | | | | | | | | | | | When mount command is executed in rootfs module of initrd, eudev creates a loop0 device node, applies rules and adds a inotify watch to it. Right after this step, we execute finish which first tries to kill any running udevd daemon before doing a switch_root. In some cases, it is possible that switch_root is executed before inotify_add_watch was actually processed which would lead to errors like: | inotify_add_watch(6, /dev/loop0, 10) failed: No such file or directory Make sure that we process all the events in queue before actually trying to kill udevd to prevent this race. Fixes [YOCTO #12861] Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs-framework: Don't use 'tr'Andrew Bresticker2018-09-131-1/+1
| | | | | | | tr is available in busybox, but not in toybox. Just use sed instead. Signed-off-by: Andrew Bresticker <abrestic@waymo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* busybox/packagegroups: Break out the busybox-syslog dependencyRichard Purdie2018-09-075-0/+5
| | | | | | | | | | | | | | | | | | The busybox-syslog rrecomends is proving tricky as it gets pulled in early and there are conflicts between its use of update-alternatives and busybox needing to provide those things. We already have recipes using BAD_RRECOMMENDS to remove this dependency, it probably makes sense to spell it out explicitly and allow it to be overridden more easily. This patch does this, dropping the now unneeded BAD_RRECOMMENDS. It preserves the dependency as a recommendation for now, further cleanup may allow simplication of that. This unbreaks certain build failures on the autobuilder, more as a workaround but is a change we probably want to make anyway. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs-framework: add nfsrootfs moduleOleksii Konoplitskyi2018-07-072-0/+55
| | | | | | | nfsrootfs module mounts rootfs via nfs parsing "nfsroot" and "ip" cmdline options. Signed-off-by: Oleksii Konoplitskyi <okonopli@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts/init-live.sh: fix mounts w/ spaces fail to move to real rootfsArsalan H. Awan2018-06-281-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When there are spaces in the mount points of devices e.g.: a partition mounted at "/run/media/My Root Partition-sda1", the initrd fails to move such mount points over to the corresponding directories at /media under the real root filesystem, and the mount points would appear at the same location as they were mounted on when detected by initrd, for example: here: "/run/media/My Root Partition-sda1" instead of here: "/media/My Root Partition-sda1" This causes issues such as: * The disks/partitions cannot be formated with any filesystem using e.g. mkfs.ext4 or mke2fs in general. When tried to do so by making sure the device is not mounted, it failed with errors such as: > /dev/sda1 is apparently in use by the system; will not make a filesystem here! > /dev/sda1: Device or resource busy while setting up superblock * The read/write operations become extremely slow. e.g. Under testing, it took approx. 2 hours just to copy 700 MB of data to the partition, and it took more than 40 minutes to delete that data from it. Same operations took under 5 minutes on a partition that had no spaces in its mount point (or that was successfully moved to real root by initrd and appeared under /media instead of /run/media). This commit fixes such issues by quoting the arguments of failing mount move commands and by parsing OCT or HEX encoded special characters such as spaces to ASCII charecters in the mount points as kernel populates the procfs like so. Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-install: add timeout for legacy grubCatalin Enache2018-06-031-0/+2
| | | | | | | | | | | After installing an image from an iso, booting the system using the legacy boots makes the grub prompt wait for an enter. This is not desirable since many of this devices are embedded devices that should start by them self without user entry. Signed-off-by: Catalin Enache <catalin.enache@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts: init-install(-efi).sh: don't assume 20M boot partitionCalifornia Sullivan2018-04-036-8/+30
| | | | | | | | | | | | | | | | | | | With multi kernel support in the installer we can exceed this limit. Calculate a sane size by checking the size of the original boot partition minus some objects we know won't be installed, plus some extra space for users. In addition, in the common case where only one small kernel is present to be installed, we actually get a smaller boot partition with less wasted space. Also add VIRTUAL-RUNTIME_base-utils to RDEPENDS where these scripts are used, as they're needed for the du command. [YOCTO #12583]. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts: format rootfs partition as ext4Anuj Mittal2018-03-282-6/+6
| | | | | | | | Use ext4 filesystem instead of ext3 when using the live image to install on target. wic defaults to ext4 as well. Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* init-install.sh: support multiple kernels and don't assume vmlinuzCalifornia Sullivan2018-03-061-3/+34
| | | | | | | | | | | | Since kernels will not necessarily be installed as vmlinuz anymore, don't assume that's its name for either the bootloader config or the copy of the kernel. Also, allow installing multiple kernels by searching for common kernel names. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-install-efi.sh: Update to support installing multiple kernelsCalifornia Sullivan2018-03-061-5/+10
| | | | | | | | | | | | | We can no longer rely on the kernel having a static name of "vmlinuz". This means we can't use it as a sentinel value in our sed commands, and we can't just copy vmlinuz to the boot directory. Instead, we'll use "root=" as the sentinel value for our sed commands, and we'll search for common kernel names to copy into our boot directory. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs-framework: rootfs: add support for LABELRicardo Salveti2018-02-161-0/+5
| | | | | | | The rootfs can also be found via the partition label. Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-module-install: Remove allarch and FILESEXTRAPATHSMartin Jansa2017-12-102-6/+5
| | | | | | | | | | | | | | | | * files is already included in default FILESPATH * it cannot inherit allarch as it RDEPENDS on bunch of TUNE_PKGARCH packages * use the same COMPATIBLE_HOST restrictions as grub has to prevent ERRORs in bitbake world ERROR: Nothing RPROVIDES 'grub' (but oe-core/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb RDEPENDS on or otherwise requires it) grub was skipped: incompatible with host arm-oe-linux-gnueabi (not in COMPATIBLE_HOST) grub was skipped: incompatible with host arm-oe-linux-gnueabi (not in COMPATIBLE_HOST) NOTE: Runtime target 'grub' is unbuildable, removing... Missing or unbuildable dependency chain was: ['grub'] ERROR: Required build target 'meta-world-pkgdata' has no buildable providers. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-framework: Add exec moduleOtavio Salvador2017-12-102-0/+38
| | | | | | | | | This new module allow for easy execution of external scripts or applications. It runs anything found in /exec.d directory in order and in case of no scripts to be available, it opens a shell. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-live-boot-tiny: Create the initramfs-live-boot-tiny recipeAlejandro Hernandez2017-12-021-0/+21
| | | | | | | | | | | | | | | The original initramfs-live-boot recipe RDEPENDS on udev, which is ok since the init script relies some of its functionality on udevadm and such, but on core-image-tiny-initramfs the init script simply drops to shell after a basic setup, so udev is not needed. This patch splits up an initramfs-live-boot-tiny recipe which does not use udev, but uses busybox-mdev instead, eudev installed about 600 extra Kilobytes to core-image-tiny-initramfs userspace, by avoiding to install eudev we achieve an even smaller footprint (almost 40% smaller). Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* install*.sh: add short sleep after parted commandsCalifornia Sullivan2017-12-022-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | I wasn't able to install to my Optane SSD due to the following error: Formatting /dev/nvme0n1p1 to vfat... mkfs.fat 4.1 (2017-01-24) mkfs.vfat: unable to open /dev/nvme0n1p1: No such file or directory Target install-efi failed A couple lines later I see: [ 10.265401] nvme0n1: p1 p2 p3 Then looking at the device itself after booting from a USB stick: root@intel-corei7-64: ~# ls /dev/nvme0n1* /dev/nvme0n1 /dev/nvme0n1p1 /dev/nvme0n1p2 /dev/nvme0n1p3 So it looks like the parted commands return before the device node is actually created. Work around this issue by waiting for device nodes for a short duration. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* init-install: fix grub-install commandCalifornia Sullivan2017-12-021-1/+1
| | | | | | | | | | The grub_version variable was calling 'grub-install -v' (verbose) instead of 'grub-install -V' (version) causing unexpected failures. Fixes bug [YOCTO #12111]. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-framework: add install moduleCalifornia Sullivan2017-11-291-0/+20
| | | | | | | | | | | The non-EFI counterpart for installation was previously missing for initramfs-framework. This simply puts the normal install script in the correct location for initramfs-framework to make use of it. Partial fix for [YOCTO #12346]. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-module-install-efi: update summaryCalifornia Sullivan2017-11-291-1/+1
| | | | | | | Note that this is an installation option for EFI systems. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-module-install-efi: point to original copy and delete new fileCalifornia Sullivan2017-11-292-279/+3
| | | | | | | There is no need to maintain two of the exact same files. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-live-install: Add aarch64 arch to COMPATIBLE_HOST.Peter Griffin2017-11-102-2/+2
| | | | | | | So that we can use this on aarch64 with HiKey board. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-framework: Allow directories with spacesOtavio Salvador2017-09-121-2/+2
| | | | | | | | | | | | | | | | | When mdev module loads the Linux kernel modules, it can visit directories with spaces. To allow that, we must quote the variable otherwise it misunderstand it arguments as multiple entries. Fixes: ,---- | Freeing unused kernel memory: 3072K (80d00000 - 81000000) | cat: can't open '/sys/devices/platform/Vivante': No such file or directory | cat: can't open 'GCCore/modalias': No such file or directory `---- Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs-framework: bump PR and fix install-efi and setup-live modulesCalifornia Sullivan2017-09-123-3/+7
| | | | | | | | | | | | | | | | | | Bump initramfs-framework PR, as it was missed in the previous initramfs-framework patch. These modules are shell scripts so they can be allarch. Fix the SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS in layer.conf, as these dependencies moved from the main recipe to these modules. Finally, set the PR to 4 in the new module recipes to avoid breaking package feeds. Fixes [YOCTO #12024]. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs-framework: split setup-live and install-efi into separate recipesCalifornia Sullivan2017-09-113-18/+38
| | | | | | | | | | | Having these the initramfs-framework recipe forced initramfs-framework users to build several tools they didn't need, and made it more difficult to declare the recipe as allarch. Fixes [YOCTO #12024]. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-live-boot: disable systemd-update-done.service on live imagesCarlos Alberto Lopez Perez2017-09-011-0/+4
| | | | | | | | | | | | | | | | | | | When systemd is used, it will invoke a service on first boot that triggers a rebuild of ldconfig caches (rebuild dynamic linker cache). This is fine on the first boot of a system that has been installed, but it makes no sense on a live system. The worst part is that rebuilding this caches is slow and it causes the live system to take longer to boot. (I measured this in 30 seconds longer on a standard PC system booting core-image-sato live from an USB memory). Disable this by touching /etc/.updated and /var/.updated on the live initramfs. For more details see https://bugzilla.redhat.com/show_bug.cgi?id=1201725 and https://www.freedesktop.org/software/systemd/man/systemd-update-done.service.html Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-framework: Change recipe to be allarchOtavio Salvador2017-08-301-6/+2
| | | | | | | | | | | | | There is no COMPATIBLE_HOST in the recipe neither it makes sense for this to be machine specific. Possibly, initramfs-framework's based modules may be machine specific but if there is the case they can just RDEPENDS on initramfs-framework-base and provide the specific module as another recipe. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs-framework/setup-live: quote bootparam_root variableCalifornia Sullivan2017-08-241-1/+1
| | | | | | | | | When bootparam_root was empty the if statement would resolve into invalid syntax instead of short circuiting after the -z, causing a boot failure. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs-framework/setup-live: also boot live image if root=/dev/ram0California Sullivan2017-08-191-1/+1
| | | | | | | | | | | | | | | | Our grub and syslinux bootloaders both define root=/dev/ram0 for live images by default. Kernel docs show that root=/dev/ram0 is just a sentinel value for the kernel to mount the initrd as root, which then mounts and switches to the real root. This is exactly what our scripts do, so just check for root=/dev/ram0 as well. See: https://www.kernel.org/doc/html/v4.11/admin-guide/initrd.html#operation This fixes the issue where the new initramfs-framework scripts would not boot live images that use grub or syslinux bootloaders. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs-framework/setup-live: remove superfluous breakCalifornia Sullivan2017-08-091-2/+0
| | | | | | | | This causes us to fall out of the module setup/run loop in the base init script should "root=" be defined, causing a boot failure. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-framework: include install-efi module in recipe for installationNg, Wei Tee2017-07-272-3/+292
| | | | | | | | | | | | | | | Utilized the existing init-install-efi.sh script and renamed it to install-efi.sh to manage the installation process of images in initramfs-framework model. This script will be executed when "install" option is being chosen in the grub menu and install the image on the target platform. A new install-efi module is being added in the recipe to handle the installation process using initramfs-framework. [YOCTO #10989] Signed-off-by: Ng, Wei Tee <wei.tee.ng@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs-framework: module to support boot live imageNg, Wei Tee2017-07-272-2/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | setup-live module is a new module being introduced to integrate the functionality of init-live.sh into new scriptlet named setup-live in order to support the live boot image. The udev-extraconf rdepends is being added to perform automounting. It gets to run before the rootfs and finish module. The setup-live scriplet include the changes for: - Create a conditional loop for the bootparam_root variable. If it is not set, then it will boot from ROOT_IMAGE. Else, it will boot normally which is not from removable media. - Gives a standard path to the original boot disk mount which can be used to. While /media/sda is a good guess, it isn't always right, nor is it a good assumption that only one boot disk is in the system. - The current rootfs module has no support for rootfs images, currently it only support for rootfs partitions for wic image. Therefore, there is a need to assign the rootfs image for live image. [YOCTO #11701] Signed-off-by: Ng, Wei Tee <wei.tee.ng@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gummiboot: Remove/change gummiboot references with systemd-bootAlejandro Hernandez2017-01-092-12/+12
| | | | | | | | | | | | After systemd-boot was introduced, its been tested for a while with no major issues being found until now, this patch completely replaces all gummiboot instances with systemd-boot ones, taking the next step into cleaning up systemd-boot/gummiboot. [YOCTO #10332] Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initrdscripts: add support for NVME target installJoe Konno2016-11-152-2/+8
| | | | | | | | | | | Add awareness of /dev/nvme* block devices to install scripts. As presently written, installer knows only of /dev/sd* and /dev/mmcblk* block devices. Building upon scaffolding put in place by Awais in... 80ec9f627915 ("initrdscripts: handle mmc device as installer medium") Signed-off-by: Joe Konno <joe.konno@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* init-install: Fixes the install script failing when not finding any mmcblk ↵Alejandro Hernandez2016-08-302-4/+4
| | | | | | | | | | | | | | | | | | | | | devices The init-install.sh and init-install-efi.sh scripts perform a check to see which devices are available on a booted system for installation. Recently, the way we check for these devices changed on 993bfb, greping for devices found on /sys/block/, this change caused the installer to fail (at least) when not finding any mmcblk devices, due to the fact that we call sh -e to execute this script, so any command (grep) or pipeline exiting with a non-zero status causes the whole script to exit This patch throws in a harmless true exit status at the end of the pipeline(s) of the grep commands to avoid the installer script from exiting, fixing the issue. [YOCTO #10189] Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-install*: /etc/mtab make a link rather than a copyAwais Belal2016-08-172-4/+4
| | | | | | | | | | | | | Using a copy would only make management of devices erroneous and makes the system unstable in some scenarios as tools will have to manipulate both files separately. A link ensures that both files /proc/mounts and /etc/mtab will have the same information at all times and this is how it is handled on newer systems where there is such a need. Same is suggested by busybox. Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* init-install*: only pick root mmc devicesAwais Belal2016-08-172-2/+14
| | | | | | | | | | | | | Some eMMC devices show special sub-devices such as mmcblk0boot0 etc. The installation script currently pick all of them up and displays it to the user which makes some confusions because these sub-devices are pretty small and complete installation including rootfs won't be possible in most cases. We simply now drop these sub-devices and only present the user with the root of such mmc devices. Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initrdscripts/init-install*: Add rootwait when installing to USB devicesCalifornia Sullivan2016-08-172-0/+11
| | | | | | | | | | | | It can take a bit for USB devices to be detected, so if a USB device is your rootfs and you don't set rootwait you will most likely get a kernel panic. Fix this by adding rootwait to the kernel command line on installation. Fixes [YOCTO #9462]. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-live-boot: Make sure we kill udev before switching root when live ↵Alejandro Hernandez2016-08-171-1/+3
| | | | | | | | | | | | | | booting When live booting, we need to make sure the running udev processes are killed to avoid unexepected behavior, we do this just before switching root, once we do, a new udev process will be spawned from init and will take care of whatever work was still missing [YOCTO #9520] Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initrdscripts/init-install*: Select install target instead of looping throughCalifornia Sullivan2016-07-212-16/+28
| | | | | | | | | | | | Its not immediately apparent that more than one install target could be available. With this change we list the available devices up front then prompt the user for which one to use, reducing confusion. Fixes [YOCTO #9919]. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs-framework: make rootfs module optionalPatrick Ohly2016-07-201-1/+14
| | | | | | | | | It still gets installed by default via RRECOMMENDS without having to update users of the framework (because without it, the framework is incomplete), but that recommendation can be overridden on a per-image basis. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-framework: Add support for PartUUIDsIgor Stoppa2016-07-081-0/+5
| | | | | | | | | | The rootfs can be addressed also by referring to the PartUUID value from the GPT. This patch enables such type of reference. Signed-off-by: Igor Stoppa <igor.stoppa@intel.com> Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-framework: add retry loop for slow boot devices (like USB)Patrick Ohly2016-07-083-34/+60
| | | | | | | | | | | | | | | | | | | On some hardware platforms (Gigabyte, qemu), detection of USB devices by the kernel is slow enough such that it happens only after the first attempt to mount the rootfs. We need to keep trying for a while (default: 5s seconds, controlled by roottimeout=<seconds>) and sleep between each attempt (default: one second, rootdelay=<seconds>). This change intentionally splits finding the rootfs (in the new "rootfs") and switching to it ("finish"). That is needed to keep udev running while waiting for the rootfs, because it shuts down before "finish" starts. It is also the direction that was discussed on the OE mailing list for future changes to initramfs-framework (like supporting a "live CD" module, which would replace or further augment mounting of the rootfs). Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-framework: base: Ensures /run/lock is availableOtavio Salvador2016-06-231-2/+2
| | | | | | | | | Depending on the module we use, the /run/lock may be required. This creates it as part of initial setup and thus makes it available for every sub module. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
* initramfs-framework: mdev: Add a runtime dependency on busybox-mdevOtavio Salvador2016-06-231-1/+1
| | | | | | | | | The mdev support relies on the mdev support inside busybox, which thus builds the busybox-mdev package. Adding the runtime dependency ensures its installation fails if mdev support is disabled. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
* init-install-efi.sh: remove all root=foo from grub.cfgRobert Yang2016-04-011-1/+1
| | | | | | | | | | | There might be more than one root=/dev/foo in the config file which would cause unepected errros on the installed target, so remove all of them. [YOCTO #9354] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-install.sh: fix disk_sizeRobert Yang2016-04-013-3/+3
| | | | | | | | It mis-matched "SanDisk" or "Disk Flags" before, which caused unexpected error. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-live.sh: fix overlay fsRobert Yang2016-03-291-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The name changes from overlayfs to overlayo * The workdir is a must when mount * The updir must be a subdir of rootfs.rw This patch plus with another one which has been sent to linux-yocto can fix the error when boot iso: EXT4-fs (loop0): re-mounted. Opts: data=ordered Populating dev cache /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache.build: Read-only file system /etc/rcS.d/S36udev-cache: line 73: can't create /etc/udev-cache.tar.gz: Read-only file system udev-cache: update failed! rm: can't remove '/etc/udev/cache.data': Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache.build: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache.build: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache.build: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache.build: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache.build: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache.build: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache.build: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache.build: Read-only file system rm: can't remove '/tmp': Read-only file system ln: /tmp/tmp: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache.build: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache.build: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache.build: Read-only file system ln: /etc/resolv.conf: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache.build: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache.build: Read-only file system Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-live.sh: fix ROOT_MOUNTRobert Yang2016-03-291-1/+1
| | | | | | | The '/' in the end is not needed, which caused '//' in the path. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-live : make it easier to add custom boot targetsJérémy Rosen2016-03-201-12/+6
| | | | | | | | | | | | | | | | | When booting from the live image, the label from the bootloader is passed to init.sh. init.sh uses the label to either boot a live image or call a script to take over and install the system. It is possible to add new labels to the bootloader via the LABELS family of variables, but the names in init.sh were hardcoded to install and install-efi this patch checks if a shell script with the same name as the label is available instead of using a hardcoded list. Any recipe can add such file and this provide a new boot target to the live image Signed-off-by: Jérémy Rosen <jeremy.rosen@openwide.fr> Signed-off-by: Ross Burton <ross.burton@intel.com>