* [poky][master] [PATCH v3 0/2] initramfs-framework: configuration to boot up live image
@ 2017-07-06 18:28 wei.tee.ng
2017-07-06 18:28 ` [PATCH v3 1/2] initramfs-framework: setup-live: detect media and assign rootfs image wei.tee.ng
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: wei.tee.ng @ 2017-07-06 18:28 UTC (permalink / raw)
To: openembedded-core; +Cc: wei.tee.ng, saul.wold
From: "Ng, Wei Tee" <wei.tee.ng@intel.com>
Hi,
This patch is to get initramfs-framework able to boot up live image. A new scriplet
named setup-live module has been created to handle the removeable media detection
and assign the rootfs.img. This is because the current rootfs module has no support
for rootfs images, only rootfs partitions.
This version 3 included the changes for creation of initramfs-module-setup-live in the
recipe and added udev-extraconf rdepends on this module because it is needed for
automounting process.
This changes has been verified with build test and boot up test on Minnowboard Max platform.
Please review and provide feedback if you have any.
The patches are targeted for merging into poky master branch.
Thanks and regards,
Wei Tee
The following changes since commit 4b1d270602a0542eef1b497eaf15bad2b747686f:
bitbake: bitbake-user-manual: Removed and replaced broken link (2017-07-04 16:05:22 +0100)
are available in the git repository at:
ssh://git.yoctoproject.org/poky-contrib weiteeng/initramfs-v3
http://git.yoctoproject.org/cgit.cgi//log/?h=weiteeng/initramfs-v3
Ng, Wei Tee (2):
initramfs-framework: setup-live: detect media and assign rootfs image
initramfs-framwork: module to support boot live image
.../initrdscripts/initramfs-framework/setup-live | 67 ++++++++++++++++++++++
.../initrdscripts/initramfs-framework_1.0.bb | 13 ++++-
2 files changed, 78 insertions(+), 2 deletions(-)
create mode 100644 meta/recipes-core/initrdscripts/initramfs-framework/setup-live
--
2.7.4
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 1/2] initramfs-framework: setup-live: detect media and assign rootfs image
2017-07-06 18:28 [poky][master] [PATCH v3 0/2] initramfs-framework: configuration to boot up live image wei.tee.ng
@ 2017-07-06 18:28 ` wei.tee.ng
2017-07-10 17:42 ` Otavio Salvador
2017-07-06 18:28 ` [PATCH v3 2/2] initramfs-framwork: module to support boot live image wei.tee.ng
2017-07-07 15:37 ` [poky][master] [PATCH v3 0/2] initramfs-framework: configuration to boot up " Burton, Ross
2 siblings, 1 reply; 8+ messages in thread
From: wei.tee.ng @ 2017-07-06 18:28 UTC (permalink / raw)
To: openembedded-core; +Cc: wei.tee.ng, saul.wold
From: "Ng, Wei Tee" <wei.tee.ng@intel.com>
Integrate the featuers in init-live.sh into new scriptlet to handle
boot up live image process using framework method.
This commit 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.
Signed-off-by: Ng, Wei Tee <wei.tee.ng@intel.com>
---
.../initrdscripts/initramfs-framework/setup-live | 67 ++++++++++++++++++++++
1 file changed, 67 insertions(+)
create mode 100644 meta/recipes-core/initrdscripts/initramfs-framework/setup-live
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/setup-live b/meta/recipes-core/initrdscripts/initramfs-framework/setup-live
new file mode 100644
index 0000000..16da34a
--- /dev/null
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/setup-live
@@ -0,0 +1,67 @@
+#/bin/sh
+# Copyright (C) 2011 O.S. Systems Software LTDA.
+# Licensed on MIT
+
+setup_enabled() {
+ return 0
+}
+
+setup_run() {
+ROOT_IMAGE="rootfs.img"
+ISOLINUX=""
+ROOT_DISK=""
+shelltimeout=30
+
+ if [ -z $bootparam_root ]; then
+ echo "Waiting for removable media..."
+ C=0
+ while true
+ do
+ for i in `ls /run/media 2>/dev/null`; do
+ if [ -f /run/media/$i/$ROOT_IMAGE ] ; then
+ found="yes"
+ ROOT_DISK="$i"
+ break
+ elif [ -f /run/media/$i/isolinux/$ROOT_IMAGE ]; then
+ found="yes"
+ ISOLINUX="isolinux"
+ ROOT_DISK="$i"
+ break
+ fi
+ done
+ if [ "$found" = "yes" ]; then
+ break;
+ fi
+ # don't wait for more than $shelltimeout seconds, if it's set
+ if [ -n "$shelltimeout" ]; then
+ echo -n " " $(( $shelltimeout - $C ))
+ if [ $C -ge $shelltimeout ]; then
+ echo "..."
+ echo "Mounted filesystems"
+ mount | grep media
+ echo "Available block devices"
+ cat /proc/partitions
+ fatal "Cannot find $ROOT_IMAGE file in /run/media/* , dropping to a shell "
+ fi
+ C=$(( C + 1 ))
+ fi
+ sleep 1
+ done
+
+ # The existing rootfs module has no support for rootfs images. Assign the rootfs image.
+ bootparam_root="/run/media/$ROOT_DISK/$ISOLINUX/$ROOT_IMAGE"
+ else
+ break
+ fi
+
+ if [ "$bootparam_LABEL" != "boot" -a -f /init.d/$bootparam_LABEL.sh ] ; then
+ if [ -f /run/media/$i/$ISOLINUX/$ROOT_IMAGE ] ; then
+ ./init.d/$bootparam_LABEL.sh $i/$ISOLINUX $ROOT_IMAGE $video_mode $vga_mode $console_params
+ else
+ fatal "Could not find $bootparam_LABEL script"
+ fi
+
+ # If we're getting here, we failed...
+ fatal "Target $bootparam_LABEL failed"
+ fi
+}
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 2/2] initramfs-framwork: module to support boot live image
2017-07-06 18:28 [poky][master] [PATCH v3 0/2] initramfs-framework: configuration to boot up live image wei.tee.ng
2017-07-06 18:28 ` [PATCH v3 1/2] initramfs-framework: setup-live: detect media and assign rootfs image wei.tee.ng
@ 2017-07-06 18:28 ` wei.tee.ng
2017-07-10 17:43 ` Otavio Salvador
2017-07-07 15:37 ` [poky][master] [PATCH v3 0/2] initramfs-framework: configuration to boot up " Burton, Ross
2 siblings, 1 reply; 8+ messages in thread
From: wei.tee.ng @ 2017-07-06 18:28 UTC (permalink / raw)
To: openembedded-core; +Cc: wei.tee.ng, saul.wold
From: "Ng, Wei Tee" <wei.tee.ng@intel.com>
setup-live module is a new module being introduced to integrate the
functionality of init-live.sh into new scriptlet 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.
[YOCTO #11701]
Signed-off-by: Ng, Wei Tee <wei.tee.ng@intel.com>
---
This v3 changes included the creation of new initramfs-module-setup-live
and added the udev-extraconf rdepends on this module as live-boot
require it to work.
meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
index 67a1b04..aa1d847 100644
--- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
@@ -13,7 +13,8 @@ SRC_URI = "file://init \
file://mdev \
file://udev \
file://e2fs \
- file://debug"
+ file://debug \
+ file://setup-live"
S = "${WORKDIR}"
@@ -25,6 +26,9 @@ do_install() {
install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs
install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish
+ # setup-live
+ install -m 0755 ${WORKDIR}/setup-live ${D}/init.d/80-setup-live
+
# mdev
install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev
@@ -48,7 +52,8 @@ PACKAGES = "${PN}-base \
initramfs-module-udev \
initramfs-module-e2fs \
initramfs-module-rootfs \
- initramfs-module-debug"
+ initramfs-module-debug \
+ initramfs-module-setup-live"
FILES_${PN}-base = "/init /init.d/99-finish /dev"
@@ -68,6 +73,10 @@ SUMMARY_initramfs-module-udev = "initramfs support for udev"
RDEPENDS_initramfs-module-udev = "${PN}-base udev"
FILES_initramfs-module-udev = "/init.d/01-udev"
+SUMMARY_initramfs-module-setup-live = "initramfs support for setup live"
+RDEPENDS_initramfs-module-setup-live = "${PN}-base udev-extraconf"
+FILES_initramfs-module-setup-live = "/init.d/80-setup-live"
+
SUMMARY_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems"
RDEPENDS_initramfs-module-e2fs = "${PN}-base"
FILES_initramfs-module-e2fs = "/init.d/10-e2fs"
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [poky][master] [PATCH v3 0/2] initramfs-framework: configuration to boot up live image
2017-07-06 18:28 [poky][master] [PATCH v3 0/2] initramfs-framework: configuration to boot up live image wei.tee.ng
2017-07-06 18:28 ` [PATCH v3 1/2] initramfs-framework: setup-live: detect media and assign rootfs image wei.tee.ng
2017-07-06 18:28 ` [PATCH v3 2/2] initramfs-framwork: module to support boot live image wei.tee.ng
@ 2017-07-07 15:37 ` Burton, Ross
2 siblings, 0 replies; 8+ messages in thread
From: Burton, Ross @ 2017-07-07 15:37 UTC (permalink / raw)
To: Ng, Wei Tee; +Cc: Saul Wold, OE-core
[-- Attachment #1: Type: text/plain, Size: 357 bytes --]
On 6 July 2017 at 19:28, <wei.tee.ng@intel.com> wrote:
> Ng, Wei Tee (2):
> initramfs-framework: setup-live: detect media and assign rootfs image
> initramfs-framwork: module to support boot live image
>
Can you squash these into a single commit, as the addition of setup-live in
the first commit doesn't achieve anything on its own.
Ross
[-- Attachment #2: Type: text/html, Size: 798 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 1/2] initramfs-framework: setup-live: detect media and assign rootfs image
2017-07-06 18:28 ` [PATCH v3 1/2] initramfs-framework: setup-live: detect media and assign rootfs image wei.tee.ng
@ 2017-07-10 17:42 ` Otavio Salvador
0 siblings, 0 replies; 8+ messages in thread
From: Otavio Salvador @ 2017-07-10 17:42 UTC (permalink / raw)
To: Ng, Wei Tee; +Cc: Saul Wold, Patches and discussions about the oe-core layer
On Thu, Jul 6, 2017 at 3:28 PM, <wei.tee.ng@intel.com> wrote:
> From: "Ng, Wei Tee" <wei.tee.ng@intel.com>
>
> Integrate the featuers in init-live.sh into new scriptlet to handle
typo!
> boot up live image process using framework method.
>
> This commit 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.
>
> Signed-off-by: Ng, Wei Tee <wei.tee.ng@intel.com>
> ---
> .../initrdscripts/initramfs-framework/setup-live | 67 ++++++++++++++++++++++
> 1 file changed, 67 insertions(+)
> create mode 100644 meta/recipes-core/initrdscripts/initramfs-framework/setup-live
>
> diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/setup-live b/meta/recipes-core/initrdscripts/initramfs-framework/setup-live
> new file mode 100644
> index 0000000..16da34a
> --- /dev/null
> +++ b/meta/recipes-core/initrdscripts/initramfs-framework/setup-live
> @@ -0,0 +1,67 @@
> +#/bin/sh
> +# Copyright (C) 2011 O.S. Systems Software LTDA.
> +# Licensed on MIT
> +
> +setup_enabled() {
> + return 0
> +}
> +
> +setup_run() {
> +ROOT_IMAGE="rootfs.img"
> +ISOLINUX=""
> +ROOT_DISK=""
> +shelltimeout=30
Wrong indent
> + if [ -z $bootparam_root ]; then
> + echo "Waiting for removable media..."
> + C=0
> + while true
> + do
> + for i in `ls /run/media 2>/dev/null`; do
> + if [ -f /run/media/$i/$ROOT_IMAGE ] ; then
> + found="yes"
> + ROOT_DISK="$i"
> + break
> + elif [ -f /run/media/$i/isolinux/$ROOT_IMAGE ]; then
Wrong indent
> + found="yes"
> + ISOLINUX="isolinux"
> + ROOT_DISK="$i"
> + break
> + fi
> + done
> + if [ "$found" = "yes" ]; then
> + break;
> + fi
> + # don't wait for more than $shelltimeout seconds, if it's set
> + if [ -n "$shelltimeout" ]; then
> + echo -n " " $(( $shelltimeout - $C ))
> + if [ $C -ge $shelltimeout ]; then
> + echo "..."
> + echo "Mounted filesystems"
> + mount | grep media
> + echo "Available block devices"
> + cat /proc/partitions
> + fatal "Cannot find $ROOT_IMAGE file in /run/media/* , dropping to a shell "
IIRC fatal does not drop to a shell, it keeps a loop.
> + fi
> + C=$(( C + 1 ))
> + fi
> + sleep 1
> + done
> +
> + # The existing rootfs module has no support for rootfs images. Assign the rootfs image.
> + bootparam_root="/run/media/$ROOT_DISK/$ISOLINUX/$ROOT_IMAGE"
> + else
> + break
> + fi
> +
> + if [ "$bootparam_LABEL" != "boot" -a -f /init.d/$bootparam_LABEL.sh ] ; then
> + if [ -f /run/media/$i/$ISOLINUX/$ROOT_IMAGE ] ; then
> + ./init.d/$bootparam_LABEL.sh $i/$ISOLINUX $ROOT_IMAGE $video_mode $vga_mode $console_params
> + else
> + fatal "Could not find $bootparam_LABEL script"
> + fi
> +
> + # If we're getting here, we failed...
> + fatal "Target $bootparam_LABEL failed"
> + fi
> +}
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/2] initramfs-framwork: module to support boot live image
2017-07-06 18:28 ` [PATCH v3 2/2] initramfs-framwork: module to support boot live image wei.tee.ng
@ 2017-07-10 17:43 ` Otavio Salvador
2017-07-11 5:36 ` Ng, Wei Tee
0 siblings, 1 reply; 8+ messages in thread
From: Otavio Salvador @ 2017-07-10 17:43 UTC (permalink / raw)
To: Ng, Wei Tee; +Cc: Saul Wold, Patches and discussions about the oe-core layer
On Thu, Jul 6, 2017 at 3:28 PM, <wei.tee.ng@intel.com> wrote:
> From: "Ng, Wei Tee" <wei.tee.ng@intel.com>
>
> setup-live module is a new module being introduced to integrate the
> functionality of init-live.sh into new scriptlet 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.
>
> [YOCTO #11701]
>
> Signed-off-by: Ng, Wei Tee <wei.tee.ng@intel.com>
I think this patch could be squashed onto the first as it is required
for it to work.
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/2] initramfs-framwork: module to support boot live image
2017-07-10 17:43 ` Otavio Salvador
@ 2017-07-11 5:36 ` Ng, Wei Tee
2017-07-11 13:57 ` Otavio Salvador
0 siblings, 1 reply; 8+ messages in thread
From: Ng, Wei Tee @ 2017-07-11 5:36 UTC (permalink / raw)
To: Otavio Salvador
Cc: Wold, Saul, Patches and discussions about the oe-core layer
Yes, I had squash the changes into a single commit and corrected the typo also. The changes is being submitted to the mailing list.
Thanks a lot!
Regards,
Wei Tee
-----Original Message-----
From: Otavio Salvador [mailto:otavio.salvador@ossystems.com.br]
Sent: Tuesday, July 11, 2017 1:43 AM
To: Ng, Wei Tee <wei.tee.ng@intel.com>
Cc: Patches and discussions about the oe-core layer <openembedded-core@lists.openembedded.org>; Wold, Saul <saul.wold@intel.com>
Subject: Re: [OE-core] [PATCH v3 2/2] initramfs-framwork: module to support boot live image
On Thu, Jul 6, 2017 at 3:28 PM, <wei.tee.ng@intel.com> wrote:
> From: "Ng, Wei Tee" <wei.tee.ng@intel.com>
>
> setup-live module is a new module being introduced to integrate the
> functionality of init-live.sh into new scriptlet 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.
>
> [YOCTO #11701]
>
> Signed-off-by: Ng, Wei Tee <wei.tee.ng@intel.com>
I think this patch could be squashed onto the first as it is required for it to work.
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/2] initramfs-framwork: module to support boot live image
2017-07-11 5:36 ` Ng, Wei Tee
@ 2017-07-11 13:57 ` Otavio Salvador
0 siblings, 0 replies; 8+ messages in thread
From: Otavio Salvador @ 2017-07-11 13:57 UTC (permalink / raw)
To: Ng, Wei Tee; +Cc: Patches and discussions about the oe-core layer, Wold, Saul
On Tue, Jul 11, 2017 at 2:36 AM, Ng, Wei Tee <wei.tee.ng@intel.com> wrote:
> Yes, I had squash the changes into a single commit and corrected the typo also. The changes is being submitted to the mailing list.
> Thanks a lot!
There are bad indents yet; please double check it all.
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-07-11 13:57 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-06 18:28 [poky][master] [PATCH v3 0/2] initramfs-framework: configuration to boot up live image wei.tee.ng
2017-07-06 18:28 ` [PATCH v3 1/2] initramfs-framework: setup-live: detect media and assign rootfs image wei.tee.ng
2017-07-10 17:42 ` Otavio Salvador
2017-07-06 18:28 ` [PATCH v3 2/2] initramfs-framwork: module to support boot live image wei.tee.ng
2017-07-10 17:43 ` Otavio Salvador
2017-07-11 5:36 ` Ng, Wei Tee
2017-07-11 13:57 ` Otavio Salvador
2017-07-07 15:37 ` [poky][master] [PATCH v3 0/2] initramfs-framework: configuration to boot up " Burton, Ross
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox