summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/initrdscripts/files/init-live.sh
Commit message (Collapse)AuthorAgeFilesLines
* initrdscripts: merge multiple "mkdir" callsMax Kellermann2019-05-071-5/+1
| | | | | | | | | | Reduce overhead. (From OE-Core rev: 31e6ea22523ded6a4e4f46472ab95ed17efe890b) Signed-off-by: Max Kellermann <max.kellermann@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.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-291-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. (From OE-Core rev: 6f8f984ba363f764e83290b972ec31a90aad1603) Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs-live-boot: disable systemd-update-done.service on live imagesCarlos Alberto Lopez Perez2017-09-021-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 (From OE-Core rev: d73493e63c506dca0e767ff183ca36bc48c2f03e) Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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] (From OE-Core rev: e88d9e56952414e6214804f9b450c7106d04318d) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.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 (From OE-Core rev: ba918e0e36418ec6e14aef537ff4fdf45af6d8d4) 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. (From OE-Core rev: 6b0fc87ced857763ae7e9d1012fb9f5c952c2cc8) 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 (From OE-Core rev: 2c10ca0fe612818cb43931b969ad2af5502f1e84) Signed-off-by: Jérémy Rosen <jeremy.rosen@openwide.fr> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Move boot media to /media/realroot for easy access after boot.Brian Lloyd2014-07-101-1/+9
| | | | | | | | | | | | | | | | | | | | | There are cases where software after boot may need to know the current boot disk. Under the current system, it is not guaranteed which disk is the boot. 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. This gives a standard path to the original boot disk mount which can be used to, for instance, update the syslinux file on the boot media with a newer kernel, or updating the boot parameters to add user options for future boots. Knowing which disk is the boot media keeps from updating the non-boot disk when for instance multiple syslinux boot medias are plugged in (ie ensure correct syslinux is updated when the booted system is updated). (From OE-Core rev: 2be3b2607fd164d18498299dbfc020ff17dd2ca9) Signed-off-by: Brian Lloyd <blloyd@familyhonor.net> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts: Try to boot if boot label is unknownDrew Moseley2014-06-291-0/+4
| | | | | | | | | | | | | The init-live.sh scripts assumes that the boot label set by the LABELS variable is either "boot", "install", or "install-efi". If that variable is overridden to something else we fall off the end of the case statement and the system locks up. If the boot label is unknown, at least attempt to boot. (From OE-Core rev: 98353862c08be2f1724aaad7aa4ed0521e3621f2) Signed-off-by: Drew Moseley <drew_moseley@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts: fix for /run/mediaChen Qi2014-05-201-9/+9
| | | | | | | | | | | | | | mount.sh in udev-extraconf was modified to use /run/media instead of /media. Unfortunately, our scripts in initrdscripts have some dependency on the auto-mounting mechanism proviced by udev-extraconf. So these scripts should also be fixed to use /run/media instead /media, otherwise, our live image cannot work correctly. (From OE-Core rev: be0327b6a900be5434b6b1f08277faf2f65d5da8) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-live.sh: list block devices correctlyChen Qi2014-05-201-1/+1
| | | | | | | | | | | Instead of using 'ls /dev/sd*' command to list block devices, we should rather use 'cat /proc/partitions'. (From OE-Core rev: fc5dfad6490d0b3f2529f84ae9dfbd6b00b5c380) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts: Add rootimage optionSaul Wold2014-02-281-1/+3
| | | | | | | | | | | This allows for setting the ROOT_IMAGE name on the kernel command line [YOCTO #5387] (From OE-Core rev: 00e3acde7910a5fb1d2e6b71187f2d9283319e71) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts: add $CMDLINE to init-live switch_rootKrzysztof Sywula2014-01-161-1/+4
| | | | | | | | | | | init-live.sh: $CMDLINE variable should be provided to switch_root to let user specify runlevel on grub command line. Feeding with -c /dev/console as well as busybox switch_root enables that option. (From OE-Core rev: 5a2f4feeaac4f9278fa0cf808c2f495f0c19324f) Signed-off-by: Krzysztof Sywula <krzysztof.m.sywula@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-live.sh: remove the '-c /dev/console' for switch_rootChen Qi2013-12-051-1/+1
| | | | | | | | | | | | | | | The '-c DEV' option is specific to the switch_root provided by busybox. switch_root from util-linux doesn't recognize this option. As a result, if we we this init-live.sh script together with util-linux, we would get a kernel panic when executing switch_root. Besides, this option doesn't seem to have any useful effect as far as I can see. Removing it doesn't affect the behaviours of our live images. (From OE-Core rev: 6f50ccb8ae9e11870f99bb3b191f677c3633cd0d) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "initrdscripts: look for new systemd-udevd location"Ross Burton2013-09-171-1/+1
| | | | | | | | | | | | systemd-udevd is back in /lib, so revert this change. This reverts commit 27bb516be433ed9dcde6fe4a17d2429951a010a0. (From OE-Core rev: 3f6324a86cb8c1c253af06a1033ac71fa61c58d3) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-live.sh: distinguish between a read-only image and a read-write imageChen Qi2013-09-111-11/+18
| | | | | | | | | | | | | | | | | | | | | | | The iso and hddimg share a common concept of 'live image', and they use the same initramfs and thus the same init. However, that init script in initramfs made a wrong assumption that the rootfs image was read-only by itself. This is apparently not true for hddimg. To make things work as expected, this init script should at least distinguish between a read-only rootfs image and a read-write one. This patch adds this ability to the init script. After this change, the init script would be able to check whether the rootfs image is read-only or not. If the rootfs image is read-write, the image will be mounted and then booted directly. No union mounts will be attempted in this case. [YOCTO #5164] (From OE-Core rev: 29f869b68a9017502f75915784a924f0fe9d4be1) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-live.sh: make $ROOT_MOUNT/media writable when necessaryChen Qi2013-08-161-0/+2
| | | | | | | | | | | | | | | | | | | If the live image is mounted as read-only, we cannot make necessary directories under $ROOT_MOUNT/media, so trying to move the mount points lead to errors. So in case that no unification filesystem mechanism is available in kernel and the rootfs is mounted as read-only, we mount tmpfs on $ROOT_MOUNT/media so that it's possible to make necessary directories under it. [YOCTO #4881] [YOCTO #4103] (From OE-Core rev: aeeb3418ff08dfd29edc0ce8a41cb6887d4e11fe) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "initrdscripts: mount / as read-only when live-booting"Ross Burton2013-07-291-3/+3
| | | | | | | | | | | | | My test environment must have been messed up as now hddimgs are failing to re-mount / as read-write. This reverts commit 7af92f8fa3a12fc8fcb22dbd12f87d89768b2d39. (From OE-Core rev: 4174dcbd3328e6badb269d09b024f2b83408bd8c) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts: mount / as read-only when live-bootingRoss Burton2013-07-241-3/+3
| | | | | | | | | | | So that the root filesystem can be fsck'd properly, mount it read only. Either initscripts or systemd will re-mount as read-write in early boot. (From OE-Core rev: 1ace2bdd8d6d950038fb6d9b83f6eceba276f588) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-live.sh: try to make a union mount when possibleChen Qi2013-06-281-7/+56
| | | | | | | | | | | | | | | | | | This patch tries to make a union mount in live image. For example, if aufs is enabled with the aufs-enable.scc configuration fragment, the init-live.sh script will use aufs to make a union mount. Although overlayfs is not supported by Yocto kernel yet, this patch still takes it into consideration with the expect that the related code should at least serve as a placeholder. [YOCTO #1487] [YOCTO #4761] (From OE-Core rev: 3cd6fedd815688b2f3fd97a56feb5f8696ebeace) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts: unionfs cleanupChen Qi2013-06-281-19/+3
| | | | | | | | | | | | | | | The unionfs has been disabled for more than a year and it's not going to be used any more. This patch cleans up the unionfs related code. [YOCTO #4761] [YOCTO #1487] (From OE-Core rev: ba5e437bc7335468a70ea293496f78e1a9d66287) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-live.sh: fix automount failed occasionallyHongxu Jia2013-06-281-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reboot system repeatedly, occasionally found usb automount failed, a low probability but it happens. $ df Filesystem 1K-blocks Used Available Use% Mounted on none 1024972 4 1024968 0% /dev /dev/sda3 7689384 3540940 3757840 49% /media/sda3 /dev/sda2 146127424 1238432 137466120 1% /media/sda2 /dev/sda1 17845 14570 2354 86% /media/sda1 /dev/sdb 293400 288560 4840 98% /media/sdb /dev/sdc4 457632 32 457600 0% /media/sdc4 /dev/sdc1 475018 2321 447749 1% /media/sdc1 /dev/sdd 1382298 1382298 0 100% /media/sdd /dev/sdc2 475694 2320 448374 1% /media/sdc2 /dev/loop0 270649 181249 75644 71% / df: /media/sdc3: No such file or directory tmpfs 1029352 0 1029352 0% /dev/shm tmpfs 1029352 2816 1026536 0% /run tmpfs 1029352 0 1029352 0% /sys/fs/cgroup tmpfs 1029352 4 1029348 0% /tmp tmpfs 1029352 0 1029352 0% /media/ram tmpfs 1029352 116 1029236 0% /var/volatile When boot media has been found, udev will be killed. If udev is busy to mount other medias at the killing time (especially medias is many), the above issue will occur occasionally. Invoke `udevadm settle' before killing udev will resolve this issue, it watches the udev event queue, and exits if all current events are handled. Use variable `_UDEV_DAEMON' to replace hardcoded `udevd' to keep consistent with previous. [YOCTO #4745] (From OE-Core rev: 2f209a7045a93e7e42f90418a42f464827b4a7f8) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-live.sh: fix media automount failed after booting from usb-driveHongxu Jia2013-06-111-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1, This issue happens to BSP only. After a BSP board is booted with Yocto linux from USB drive, "cat /proc/mounts" shows: ... /dev/sda3 /media/sda3 ext3 rw,relatime,errors=continue,user_xattr,acl,barrier=1,data=ordered 0 0 /dev/sda1 /media/sda1 ext3 rw,relatime,errors=continue,barrier=1,data=ordered 0 0 /dev/sda2 /media/sda2 ext3 rw,relatime,errors=continue,user_xattr,acl,barrier=1,data=ordered 0 0 ... but actually the directory /media/sda1 doesn't exist at all, "df" shows: ... df: /media/sda3: No such file or directory df: /media/sda1: No such file or directory df: /media/sda2: No such file or directory ... 2, This is because the mount data comes from proc setup during early boot before the change root, which then uses a different root filesystem, the media is not in the new root filesystem. 3, During early boot before switch_root, use `mount --move' to move all medias to the new root filesystem could also fix this issue. [YOCTO #2064] [YOCTO #3705] (From OE-Core rev: 79bd773cc5e8b8e873cabeb2b9a91f460501dad7) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts: look for new systemd-udevd locationRoss Burton2013-04-131-1/+1
| | | | | | | | | As per the previous commit, systemd-udevd is now in /sbin/systemd/. (From OE-Core rev: ff0fd25206c3c75921d51cb80bcb6c94ca47b405) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts: Add udev sbin based libexec pathRichard Purdie2013-04-101-1/+1
| | | | | | | | | | | For better or worse we need to use base_sbindir for udev's libexec dir. This updates the initrdscripts to also cover the new location. I'd prevously assumed that it was already covered but its not. udev internal binaries shouldn't be in PATH so we have to do this to deal with the issue. (From OE-Core rev: 7e17cba75c20ad820d30128d9b4b0132e7b924a8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-live.sh: move /media/xxx over to the real root filesystemChen Qi2013-01-251-0/+2
| | | | | | | | | | | | | | | | | | | | | Previously, the /media/xxx which contains the root image was not moved to be under the real root filesystem. Because of this, the output of the 'mount' command is somewhat confusing, that is, it has some mount point that is not even in the filesystem. Besides, on some machine, it caused the recovery procedure when we booted it next time. This patches fixes this issue by moving the /media/xxx over to be under the real root filesystem. [YOCTO #2064] [YOCTO #3705] (From OE-Core rev: 261d21d36298bb7822ee7370c30441f42ef2b093) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs-live-boot: handle multiple udev locationsRoss Burton2013-01-181-1/+19
| | | | | | | | | | | udevd isn't on $PATH and is in different places depending on what version of udev is being used. Copy the code from initramfs-framework to search for the right udevd at boot time instead of hard-coding a location. (From OE-Core rev: a5de76317112fc065a78a745c2f23775dca15d75) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-live.sh: avoid duplicate mount points for the same filesystemChen Qi2013-01-071-4/+5
| | | | | | | | | | | | | | | | | A live system had duplicate mount points for the same filesystem in the output of 'mount' command. That was because we didn't handle the temporary mounts properly before switch_root. This patch fixes this problem by moving the mount points of some filesystems to the corresponding directories in the real root filesystem. [YOCTO #3155] (From OE-Core rev: 050a745413f8bb26212b84da391e0f7665f77728) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-live: default to initrd shell if image isn't foundAlexandru DAMIAN2012-12-191-1/+21
| | | | | | | | | | | | | | | | | | | Adds "debugshell" command line parameter for live/install images. If the init live fails to find and mount a root-fs image, dumps to a shell after timeout so that the developer can figure what's wrong. Timeout defaults to 30 seconds, but it can be changed as param argument. Prior art in Ubuntu. Also, leaving a system stale isn't good form. (From OE-Core rev: 6f99e530822ac32f32615590e22a9758ac210e84) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts: fix udevd in the live boot init scriptsRoss Burton2012-11-121-1/+3
| | | | | | | | | | | | | | | udevd moved location and isn't in $PATH anymore, so use an absolute path to start it. The control socket path moved too, so mkdir the directory it's in. Mounts the new devtmpfs on /dev device tree. (From OE-Core rev: 543606e5dc379497c34196d004a214e847f5db2d) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Alexandru Damian <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "initrd: Spawn an emergency shell when something goes wrong"Ross Burton2012-10-021-11/+0
| | | | | | | | | | | This had nowhere near enough testing... This reverts commit ffb6928f5783e5202d9849c3a185e29be1d41c63. (From OE-Core rev: f162f0ecc96fdfb564aad968e5b8bc670640ea68) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs: Make mkdir not failDamien Lespiau2012-09-281-3/+3
| | | | | | | | | | | This patch make "mkdir foo" not fail if foo already exists. (From OE-Core rev: 2bf5026933b733701d4d339e01a4f5e4468f368e) Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrd: Spawn an emergency shell when something goes wrongDamien Lespiau2012-09-281-0/+11
| | | | | | | | | | | | | set -e allows to exit if a command fails. We install a trap and execute emergency_shell() when either the init script exits or when ctrl-c is typed (say if we are stuck somewhere and we want to debug it). (From OE-Core rev: ae5e2bd994e3f60d3803ab56e6ed34d08fbc56f0) Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* EFI: Make installer EFI awareDarren Hart2012-07-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | [YOCTO #1919] Create a basic EFI installer script modeled after the existing installer and add it to a new initramfs-live-install-efi recipe. Update the init-live.sh script to distinguish between LABEL=install and LABEL=install-efi and select the appropriate script. Add the efi installer to core-image-minimal-initramfs. Update grub-efi.bbclass to use "LABEL=install-efi" when it detects a label of "install". This is clearly not ideal, but a proper fix would involve decoupling the LABELS assignment from the image-live.bbclass usage of SYSLINUX_LABELS. We should be able to address that in a follow-on clean-up series. V2: Include missing initramfs-live-install-efi_1.0.bb V3: Rebase after Radu's console_params fix (From OE-Core rev: 4bce3417917a3e88ba6529db394525fba82e0699) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add console kernel optionsRadu Moisan2012-07-191-1/+7
| | | | | | | | | | | | | Live image installer did not preserve BSP specified console= kernel parameter. This patch updates the init scripts that are responsible for grub.cfg creation so that options like console= are passed allong from installer to installed img [YOCTO #2426] (From OE-Core rev: e18c59eb5a61f265b9cad6de68359fa1430b0e58) Signed-off-by: Radu Moisan <radu.moisan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts: fix init-live.sh and use unionfsYang Shi2012-04-111-4/+19
| | | | | | | | | | | | | | | | | | [YOCTO #1487] When booting up with liveCD image, init scripts can't work well on read-only filesystem. Unionfs, which is supported in Yocto kernel, allows a filesystem to appear as writeable, but without actually allowing writes to change the filesystem. Use unionfs to mount rootfs and make root file system can be writen when using liveCD to boot up. Set UNION_FS variable depending on kernel config, so that it can work with kernel which doesn't have unionfs feature. [RP: Mark recipe as machine specific due to kernel dependency] (From OE-Core rev: b7f4e8d153c2aebbcf6556e7e926f6b94801d6aa) Signed-off-by: Yang Shi <yang.shi@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initramfs-live-boot: make it more generic and easy to useOtavio Salvador2011-10-141-12/+20
| | | | | | | | | | | | | | | | | | | | The script was making some assumptions that enforced many requirement in the machine kernel configuration and usage, besides it were too while booting. Changes included: * fix indentation; * rdepends on udev; * allow use of isofs as module; * remove rootdelay param parsing as it was unused; * don't verbosely kill udevd and mknod; * mount devtmpfs into rootfs, if available, before swithing root; (From OE-Core rev: 3fc8cec53038f41d31344040c56d62aac90ba7e0) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Set an explicit path for the initrd scriptsDarren Hart2011-09-161-1/+3
| | | | | | | | | | | | | | | | If we don't set PATH, then the shell will specify one for us. Busybox adds the sbin dirs, but bash does not. I hit an issue where bash (among other things) ended up in my initrd and the boot scripts failed due to a bad default PATH. While that is a separate issue, we should not be at the mercy of the shell's default PATH. Update the initrdscripts to all specify: PATH=/sbin:/bin:/usr/sbin:/usr/bin (From OE-Core rev: 4617ae0f433876037c2c9a0dfdb5e373e7a5c77b) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts: fix init-live.sh for hddimg and livecdJingdong Lu2011-08-241-6/+11
| | | | | | | | | | | Both hddimg and livecd use init-live.sh script to boot the rootfs.img. But the paths of rootfs.img in hddimg and livecd are different. So we add a variable "ISOLINUX" to provide a correct path. (From OE-Core rev: 4e7221d23bf335cbb4e1e2ba703e4c0a04df7129) Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* initrdscripts: fix init-live.shJingdong Lu2011-08-191-1/+1
| | | | | | | | | | | | | Fix bug: [YOCTO #686] Because the variable "ROOT_IMAGE" in init-live.sh is not correct, it fails to run when using liveCD. Modify value of "ROOT_IMAGE" to "isolinux/rootfs.img". If we want to use liveCD, we also need to add some kernel options related to CDROM support when compling kernel. (From OE-Core rev: f9b6f41c9249cc90f7621d446eafae5e5508dd6e) Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* init-live.sh: add 'coldplug' udev triggerTom Zanussi2011-02-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Fixes [BUGID #693] The init-live.sh script starts udevd in init-live.sh:early_setup(), but doesn't account for the possibility that the root device may have already been registered by the kernel before udevd starts up. If the device is detected after udevd starts up, everything's fine - udevd gets the 'add' uevent for the device, the root image shows up at e.g. /media/sda/rootfs.img, and the boot continues. If however the device is detected before udevd starts up, udevd misses the 'add' uevent and the root image never shows up, causing it to stay in the 'waiting for removable media' loop forever. The 'udevadm trigger' command is meant to be used to avoid this situation, but init-live.sh doesn't use it. Furthermore, since the default was changed in udev 152 from 'add' to 'change', the command needs to explicity name 'add' as the action. Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
* Major layout change to the packages directoryRichard Purdie2010-08-271-0/+92
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>