aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/initrdscripts
AgeCommit message (Collapse)Author
2015-09-12initramfs-framework: support init boot parameterPatrick Ohly
It can be useful for debugging to override the default /sbin/init. This is something typically done via the init boot parameter which then gets interpreted by the kernel. But when using an initramfs, it is the initramfs which must react to the option. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-12initramfs-framework: support ro boot parameterPatrick Ohly
Default is to mount the rootfs read/write. "ro" can be used to turn that into read-only, which is useful on systems where userspace does an fsck before remounting read-write. Giving both "ro" and "rw" will still mount read-only regardless of the order, because the ordering information is not preserved by the initramfs-framework's boot param support. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-12initramfs-framework: support rootflags and rootfstype boot parameterPatrick Ohly
These two parameters are supported by the kernel (https://www.kernel.org/doc/Documentation/kernel-parameters.txt). When an initramfs is used, the kernel does not mount the rootfs and the initramfs needs to react to them. The boot parameters can be set both by the image creator and by users. Supporting these two parameters is useful: - rootflags is needed to ensure that the rootfs is already mounted as intended in the time between starting init and init remounting it (as systemd does); this is critical for IMA where iversion must be active already when system starts writing files. - setting it correctly up-front avoids messages from the kernel ("cannot mount ... as ext2 because ...") when trying to guess the desired type. For example, assuming that only one of ext4/ext3/ext2 is set, rootfstype could be set in an image recipe with: APPEND_append = "${@''.join([' rootfstype=' + i for i in ['ext4', 'ext3', 'ext2'] if i in d.getVar('IMAGE_FSTYPES', True).split()])}" Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-06initramfs-framework: handle kernel parameters with . insidePatrick Ohly
Kernel parameters like "uvesafb.mode_option=640x480-32" were turned into shell variables named "bootparam_uvesafb.mode_option", which triggered errors from the shell because the name is not valid. Now points get replaced with underscores, leading to bootparam_uvesafb_mode_option in this example. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-06initramfs-live-boot: create /dev/consolePatrick Ohly
Some kernels, for example linux-yocto 3.19 for qemux86, fail to execute /init in an initramfs unless there is already a /dev/console char device in the initramfs. Booting then fails with: Kernel panic - not syncing: /dev/console is missing or not a character device! Please ensure your rootfs is properly configured The panic itself comes from a linux-yocto specific patch to kernel_init_freeable in init/main.c, but even without it, that function will print an error when /dev/console is missing. The kernel's Documentation/initrd.txt also mentions creating that device. It remained unclear why this is not a problem on other machines. On intel-corei7-64 from meta-intel, something (the kernel?) creates /dev/console and /dev/[012] before transfering control to the init script. In that case, creating /dev/console in advance is not necessary, but does not cause any problem either. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-06initramfs-framework: create /dev/consolePatrick Ohly
Some kernels, for example linux-yocto 3.19 for qemux86, fail to execute /init in an initramfs unless there is already a /dev/console char device in the initramfs. Booting then fails with: Kernel panic - not syncing: /dev/console is missing or not a character device! Please ensure your rootfs is properly configured The panic itself comes from a linux-yocto specific patch to kernel_init_freeable in init/main.c, but even without it, that function will print an error when /dev/console is missing. The kernel's Documentation/initrd.txt also mentions creating that device. It remained unclear why this is not a problem on other machines. On intel-corei7-64 from meta-intel, something (the kernel?) creates /dev/console and /dev/[012] before transfering control to the init script. In that case, creating /dev/console in advance is not necessary, but does not cause any problem either. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-01init-install-efi.sh: Check if an installation device is presentLeonardo Sandoval
In case there is no installation device present, give a better message to the user and abort installation. [YOCTO #7971] Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-16initrdscripts: handle mmc device as installer mediumAwais Belal
Platforms which have the capability of using the MMC as an installer medium will present the same MMC device as an installation candidate. This happens because the MMC devices appear as mmcblk<X> and the current script strips up the <X> which is needed to identify an MMC device uniqely. This patch now updates the way device identifier stripping is done and handles the exclusion of installer device from installation candidates more generically. Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-06-23init-install: Properly delete partition tableEd Bartosh
Fixed deletion of the partition table by increasing amount of sectors from 2(correct for msdos PT) to 35 as GPT size is 34 sectors + 1 sector for protective MBR. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
2015-06-23init-install: code cleanup: replace /dev/$device -> $deviceEd Bartosh
Shortened code by including /dev/ prefix into variable. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
2015-06-23init-install: code cleanup: Replace tabs with spacesEd Bartosh
Cleaned up spaces from init-install* shell scripts. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
2015-06-23init-install: Specify partition name in parted command lineEd Bartosh
parted allows to use names for partitions if GPT partition table is used on the device. msdos partitioning can have only partition types: 'primary', 'logical' or 'extended'. Used meaningful partition names in parted command line for GPT partitioning. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
2015-06-23init-install: Specify filesystem type in parted command lineEd Bartosh
Explicitly specified filesystem type for parted mkpart command. This makes partition table to look more informative. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
2015-06-23init-install: Implement UUID supportEd Bartosh
Used partition UUID in kernel command line to specify root partition. Searched root device by file system uuid in GRUB configuration. Used partition UUID in /etc/fstab to specify swap partition. Used filesystem UUID in /etc/fstab to specify boot partition. [YOCTO #6101] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
2015-06-23init-install: Use GPT table with GRUB 2Ed Bartosh
Changed partition type from 'msdos' to 'gpt'. Added special partition for grub stage2 bootloader. NOTE: This is done only for GRUB 2 as legacy GRUB is rarely used and doesn't support GPT partitions. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
2015-06-23init-install-efi: Implement UUID supportEd Bartosh
Using UUID in favor of device names is more reliable as UUID names are persistent. Device names can change as the order of adding device nodes is arbitrary. This sometimes results in device names switching on each boot, which can cause system fail to boot. Persistent naming solves these issues. Used partition UUID in kernel command line to specify root partition. Used partition UUID in /etc/fstab to specify swap partition. Used filesystem UUID in /etc/fstab to specify boot partition. [YOCTO #6101] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
2015-06-23initramfs-live-install: Add blkid to initramfsEd Bartosh
Added util-linux-blkid to the list of dependencies of initramfs-live-install and initramfs-live-install-efi. This is a part of the work to support partiion UUID in installer. blkid is going to be used to get partition and filesystem UUIDs. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
2015-05-23initrdscripts: make boot drive detection more genericAwais Belal
The init script that invokes install and install-efi scripts passes the first parameter that identifies the boot drive but in cases when this disk is labeled and kernel configurations allow disk labeling under /run/media/ this would pass the disk label. The earlier implementation considered that the drive name will be passed and in case the label is passed it fails and provides the boot drive as an option for installation driver. We now use a more generic approach to identify the boot drive which can handle both drive name as well as label if passed. Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-04-21init-install-efi.sh: fix gummiboot entry installationReinette Chatre
After selecting the "install" gummiboot option of a Live image we are seeing boot failure resulting from the gummiboot entries not being installed correctly. This seems to be a problem in this init-install-efi.sh script where it incorrectly installs the gummiboot entries into the root filesystem, not the boot partition. We fix it by installing the entries in the boot partition. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Acked-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23meta: set proper S valuePetter Mabäcker
After removal of auto-creating S we must ensure that all recipes are using a proper value for S. Fix all recipes that only need to set S equals to WORKDIR. [YOCTO #5627] Signed-off-by: Petter Mabäcker <petter@technux.se>
2014-08-02init-install: Skip CDROM devices during probeDrew Moseley
Signed-off-by: Drew Moseley <drew_moseley@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-08-02init-install: Strip partition number from live_dev_nameDrew Moseley
This is needed in case the boot disk was created with mkdiskimage. In that case the parameter passed is a variant of /dev/sda4 which includes the partition number. Without this change this install script will offer to install onto the live media. Signed-off-by: Drew Moseley <drew_moseley@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-08-02init-install-efi.sh: Verify /sys based files exist before displaying themDrew Moseley
Some mmc cards do not have all the data files in /sys/block populated. Check for existence before displaying the files to avoid erroring out of the install process. Signed-off-by: Drew Moseley <drew_moseley@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-07-10Move boot media to /media/realroot for easy access after boot.Brian Lloyd
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). Signed-off-by: Brian Lloyd <blloyd@familyhonor.net> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-07-10init-install-efi.sh: improve hard drive searching processDrew Moseley
(This patch was originally done against init-install.sh in OE-Core rev 358f0584d779825307eec08c023b5ff14e72cf9e) Previously, only unremovable hard drives are searched and are treated as candidates of target disks to intall into. However, it's possible that we're going to install the live image into a removable media such as an USB. This patch enables this possibility. In addition, this patch presents more information about the hard drives so that user may have more knowledge about which hard drive they are going to install their image into. Signed-off-by: Drew Moseley <drew_moseley@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-07-10init-install-efi.sh: fix to handle the boot partition correctlyDrew Moseley
(This patch was originally done against init-install.sh in OE-Core rev aa67b1333b4774e1845f562085f7048df65a644f) Previously, the boot partition was created for the target hard drive but there was no corresponding entry for it in /etc/fstab. Besides, even if the boot partition was mounted, it would just result in odd directory hierarchy like /boot/boot/grub. However, what we really need is /boot/grub. This patch fixes this problem. Besides, for future maintance work, this patch also renames some of the intermediate directories. It uses more descriptive names like /tgt_root and /src_root. The name of /ssd is dropped. Signed-off-by: Drew Moseley <drew_moseley@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-07-10init-install.sh: Verify /sys based files exist before displaying themDrew Moseley
Some mmc cards do not have all the data files in /sys/block populated. Check for existence before displaying the files to avoid erroring out of the install process. Signed-off-by: Drew Moseley <drew_moseley@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-07-03init-install-testfs.sh: add '--hotkey x' to 'test' menuentryCorneliu Stoicescu
Add a hotkey for the GRUB 'test' menuentry. This can be used by expect scripts to boot into 'test' when doing runtime hardware tests. Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-29initrdscripts: Try to boot if boot label is unknownDrew Moseley
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. Signed-off-by: Drew Moseley <drew_moseley@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-25initramfs-framework: get rid of udev-utilsChen Qi
Now that udev-utils package has been removed and 'udevadm' has been moved to udev package, the initramfs-framework should also get rid of the udev-utils package. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-23init-install-testfs: create signature file for master imageCristian Iorga
Also small cosmetic changes. Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-23init-install-testfs: fix typoCristian Iorga
_EOF marker was not used properly (space left before end of line). Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-23oe-core/init-install-testfs.sh: do not overwrite /etc/mtab if the link ↵Cristian Iorga
already exist Overwriting of /etc/mtab would fail as below if the /etc/mtab link already exist during installation phase, this patch fix this problem by checking existance of the link before try to overwrite it. Error message during installation if the /etc/mtab exists: "cat: /proc/mounts: input file is output file" Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-23init-install-testfs: add grub serial line supportCristian Iorga
For automated hardware testing, boot process control via serial interface is needed. As such, in grub, serial line support is added upon testmaster image install. Also add a specific timeout to automatically start the master image upon start of testing phase. Tested on multiple hardware targets without issues. Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-10oe-core/init-install.sh: do not overwrite /etc/mtab if the link already existShan Hai
Overwriting of /etc/mtab would fail as below if the /etc/mtab link already exist during installation phase, this patch fix this problem by checking existance of the link before try to overwrite it. Error message during installation if the /etc/mtab exists: "cat: /proc/mounts: input file is output file Signed-off-by: Shan Hai <shan.hai@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-06-06grub-2.00: remove our 40_customRoy Li
We have this in recipes-bsp/grub/grub/40_custom: [snip] menuentry "Linux" { set root=(hd0,1) linux /vmlinuz root=__ROOTFS__ rw __CONSOLE__ __VIDEO_MODE__ __VGA_MODE__ quiet } [snip] These lines are only for initrdscripts/files/init-install.sh, the side effect is that it would make the target's grub-mkconfig doesn't work well since the 40_custom will be installed to /etc/grub.d/40_custom, the grub-mkconfig will run the 40_custom, and there will always be a 'menuentry "Linux"' menu in grub.cfg no matter it is valid or not, we can do this in init-install.sh rather than grub to fix the problem, which is also much simpler. We have done the related work in init-install.sh, now we need remove our own 40_custom, and use grub's own 40_custom which is the right one. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-23initramfs-live-install: avoid using grub.d/40_customRobert Yang
We have this in recipes-bsp/grub/grub/40_custom: [snip] menuentry "Linux" { set root=(hd0,1) linux /vmlinuz root=__ROOTFS__ rw __CONSOLE__ __VIDEO_MODE__ __VGA_MODE__ quiet } [snip] These lines are only for initrdscripts/files/init-install.sh, the side effect is that it would make the target's grub-mkconfig doesn't work well since the 40_custom will be installed to /etc/grub.d/40_custom, the grub-mkconfig will run the 40_custom, and there will always be a 'menuentry "Linux"' menu in grub.cfg no matter it is valid or not, we can do this in init-install.sh rather than grub to fix the problem, which is also much simpler. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-05-20initrdscripts: fix for /run/mediaChen Qi
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. 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>
2014-05-20init-live.sh: list block devices correctlyChen Qi
Instead of using 'ls /dev/sd*' command to list block devices, we should rather use 'cat /proc/partitions'. 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>
2014-03-31initrdscripts: add install scripts with a second rootfsStefan Stanacar
These are meant to be used by a master image, for a simple initial setup. The install scripts are similar to the default ones, but: - custom partitioning, replaces the swap partiton with a second root filesystem - adds labels to the partitions - preconfigures a boot loader entry for the second rootfs Part of [YOCTO #5614] Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-11classes: Add gummiboot classStefan Stanacar
Adds a gummiboot class similar to grub-efi class and makes the necessary changes so it can be used for live/hddimg images as well. One can set EFI_PROVIDER = "gummiboot" in local.conf to use gummiboot instead of grub-efi. Gummiboot requires some kernel options that are not enabled by default, so one has to build with KERNEL_FEATURES_append = " cfg/efi-ext". The install scripts have been updated too, keeping the old behaviour around, but accounting for the new boot loader config files (if they exist). It can be argued that the installer and bootimg are a bit wierd and not necessarily correct, but I wanted to have the exact same behviour with gummiboot. With the default EFI_PROVIDER = "grub-efi" nothing changes, everthing should be just as before. I've tested live boot, install and normal boot on: - FRI2 - genericx86-64 on NUC with: EFI_PROVIDER = "gummiboot" KERNEL_FEATURES_append = " cfg/efi-ext" in local.conf. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-28initrdscripts: Add rootimage optionSaul Wold
This allows for setting the ROOT_IMAGE name on the kernel command line [YOCTO #5387] Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-01-16initrdscripts: add $CMDLINE to init-live switch_rootKrzysztof Sywula
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. Signed-off-by: Krzysztof Sywula <krzysztof.m.sywula@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-02Replace one-line DESCRIPTION with SUMMARYPaul Eggleton
A lot of our recipes had short one-line DESCRIPTION values and no SUMMARY value set. In this case it's much better to just set SUMMARY since DESCRIPTION is defaulted from SUMMARY anyway and then the SUMMARY is at least useful. I also took the opportunity to fix up a lot of the new SUMMARY values, making them concisely explain the function of the recipe / package where possible. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-12-05init-live.sh: remove the '-c /dev/console' for switch_rootChen Qi
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. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-23initramfs-framework: fix test that filter backup module filesMichaël Burtin
Test that filter backup module files (files starting with ~) was accidentally reversed in e6039e6e3b98d6ab91252a5012d76279b1fac6e8, this patch restore initial behavior. Signed-off-by: Michaël Burtin <michael.burtin@innotis.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24init-install-efi.sh: Remove unnecessary udev rules file to avoid errorsDarren Hart
Fixes [YOCTO #5233] Modeled after Chen Qi's fix to [YOCTO #3924] from oe-core commit: 6b6db7b4fb7aa17b8e29076decc830149b9d35bc init-install.sh: remove unnecessary udev rules file to avoid error messages /etc/udev/scripts/mount.sh is removed by init-install-efi.sh, but the udev rules file which specifies the invocation of this script is not removed, thus causing the error message during a live install: /etc/udev/scripts/mount.sh: No such file or directory The /etc/udev/rules/automount.rules no longer works once the mount.sh script is removed. Remove it to avoid the error message. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: mihaix.lindner@linux.intel.com Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24init-install-efi.sh: Fix root= specificationDarren Hart
Fixes [YOCTO #5237] The current grub.cfg manipulation depends on an existing root= parameter. If this doesn't exist, the correct root= parameter will not be added. Instead, remove any existing root= parameters and add the correct one explicitly. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: mihaix.lindner@linux.intel.com Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17Revert "initrdscripts: look for new systemd-udevd location"Ross Burton
systemd-udevd is back in /lib, so revert this change. This reverts commit 27bb516be433ed9dcde6fe4a17d2429951a010a0. 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>
2013-09-11init-live.sh: distinguish between a read-only image and a read-write imageChen Qi
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] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>