All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] initramfs fixes
@ 2012-09-27 14:20 Ross Burton
  2012-09-27 14:20 ` [PATCH 1/2] initrd: Spawn an emergency shell when something goes wrong Ross Burton
  2012-09-27 14:20 ` [PATCH 2/2] initramfs: Make mkdir not fail Ross Burton
  0 siblings, 2 replies; 3+ messages in thread
From: Ross Burton @ 2012-09-27 14:20 UTC (permalink / raw)
  To: openembedded-core

A colleague was working on an initramfs-based yocto system and encounting some
issues because the initial script is quite fragile.

Attached are two patches to make it less fragile, and drop you to a shell if it
does break.

The following changes since commit 55b3e7bf48a67c0ce42308b8332262fbe4eccd24:

  dbus: disable all X11 when native (2012-09-26 21:23:37 +0100)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib ross/initramfs

for you to fetch changes up to 265e1e50186d5982b40d87f37f0662a0e09a7daa:

  initramfs: Make mkdir not fail (2012-09-27 15:17:35 +0100)

----------------------------------------------------------------
Damien Lespiau (2):
      initrd: Spawn an emergency shell when something goes wrong
      initramfs: Make mkdir not fail

 meta/recipes-core/initrdscripts/files/init-live.sh |   17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

Damien Lespiau (2):
  initrd: Spawn an emergency shell when something goes wrong
  initramfs: Make mkdir not fail

 meta/recipes-core/initrdscripts/files/init-live.sh |   17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

-- 
1.7.10




^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/2] initrd: Spawn an emergency shell when something goes wrong
  2012-09-27 14:20 [PATCH 0/2] initramfs fixes Ross Burton
@ 2012-09-27 14:20 ` Ross Burton
  2012-09-27 14:20 ` [PATCH 2/2] initramfs: Make mkdir not fail Ross Burton
  1 sibling, 0 replies; 3+ messages in thread
From: Ross Burton @ 2012-09-27 14:20 UTC (permalink / raw)
  To: openembedded-core

From: Damien Lespiau <damien.lespiau@intel.com>

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).

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-core/initrdscripts/files/init-live.sh |   11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/meta/recipes-core/initrdscripts/files/init-live.sh b/meta/recipes-core/initrdscripts/files/init-live.sh
index 3fba7dc..fb7af31 100644
--- a/meta/recipes-core/initrdscripts/files/init-live.sh
+++ b/meta/recipes-core/initrdscripts/files/init-live.sh
@@ -2,6 +2,17 @@
 
 PATH=/sbin:/bin:/usr/sbin:/usr/bin
 
+emergency_shell()
+{
+    echo "Bug in initramfs /init detected. Dropping to a shell. Good luck!"
+    echo
+    sh
+}
+trap "emergency_shell" 0 2
+
+# exit immediately if a command fails
+set -e
+
 ROOT_MOUNT="/rootfs/"
 ROOT_IMAGE="rootfs.img"
 MOUNT="/bin/mount"
-- 
1.7.10




^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] initramfs: Make mkdir not fail
  2012-09-27 14:20 [PATCH 0/2] initramfs fixes Ross Burton
  2012-09-27 14:20 ` [PATCH 1/2] initrd: Spawn an emergency shell when something goes wrong Ross Burton
@ 2012-09-27 14:20 ` Ross Burton
  1 sibling, 0 replies; 3+ messages in thread
From: Ross Burton @ 2012-09-27 14:20 UTC (permalink / raw)
  To: openembedded-core

From: Damien Lespiau <damien.lespiau@intel.com>

This patch make "mkdir foo" not fail if foo already exists.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-core/initrdscripts/files/init-live.sh |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-core/initrdscripts/files/init-live.sh b/meta/recipes-core/initrdscripts/files/init-live.sh
index fb7af31..2639308 100644
--- a/meta/recipes-core/initrdscripts/files/init-live.sh
+++ b/meta/recipes-core/initrdscripts/files/init-live.sh
@@ -21,15 +21,15 @@ ISOLINUX=""
 UNIONFS="no"
 
 early_setup() {
-    mkdir /proc
-    mkdir /sys
+    mkdir -p /proc
+    mkdir -p /sys
     mount -t proc proc /proc
     mount -t sysfs sysfs /sys
 
     # support modular kernel
     modprobe isofs 2> /dev/null
 
-    mkdir /run
+    mkdir -p /run
     udevd --daemon
     udevadm trigger --action=add
 }
-- 
1.7.10




^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-09-27 14:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-27 14:20 [PATCH 0/2] initramfs fixes Ross Burton
2012-09-27 14:20 ` [PATCH 1/2] initrd: Spawn an emergency shell when something goes wrong Ross Burton
2012-09-27 14:20 ` [PATCH 2/2] initramfs: Make mkdir not fail Ross Burton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.