summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAwais Belal <awais_belal@mentor.com>2015-07-07 12:43:37 +0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-16 15:08:42 +0100
commit80ec9f62791575de4948d7635dc6674abfac2193 (patch)
tree16d8385b87528dc4fbaf90f77781085245d18bb8
parentf374ed441627ac833aab62c1189a16ea26a4933b (diff)
downloadopenembedded-core-80ec9f62791575de4948d7635dc6674abfac2193.tar.gz
openembedded-core-80ec9f62791575de4948d7635dc6674abfac2193.tar.bz2
openembedded-core-80ec9f62791575de4948d7635dc6674abfac2193.zip
initrdscripts: handle mmc device as installer medium
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>
-rw-r--r--meta/recipes-core/initrdscripts/files/init-install-efi.sh20
-rw-r--r--meta/recipes-core/initrdscripts/files/init-install.sh20
2 files changed, 32 insertions, 8 deletions
diff --git a/meta/recipes-core/initrdscripts/files/init-install-efi.sh b/meta/recipes-core/initrdscripts/files/init-install-efi.sh
index 14939acd69..f339b30ebe 100644
--- a/meta/recipes-core/initrdscripts/files/init-install-efi.sh
+++ b/meta/recipes-core/initrdscripts/files/init-install-efi.sh
@@ -18,7 +18,14 @@ swap_ratio=5
hdnamelist=""
live_dev_name=`cat /proc/mounts | grep ${1%/} | awk '{print $1}'`
live_dev_name=${live_dev_name#\/dev/}
-live_dev_name=${live_dev_name%%[0-9]*}
+# Only strip the digit identifier if the device is not an mmc
+case $live_dev_name in
+ mmcblk*)
+ ;;
+ *)
+ live_dev_name=${live_dev_name%%[0-9]*}
+ ;;
+esac
echo "Searching for hard drives ..."
@@ -36,9 +43,14 @@ for device in `ls /sys/block/`; do
*)
# skip the device LiveOS is on
# Add valid hard drive name to the list
- if [ $device != $live_dev_name -a -e /dev/$device ]; then
- hdnamelist="$hdnamelist $device"
- fi
+ case $device in
+ $live_dev_name*)
+ # skip the device we are running from
+ ;;
+ *)
+ hdnamelist="$hdnamelist $device"
+ ;;
+ esac
;;
esac
done
diff --git a/meta/recipes-core/initrdscripts/files/init-install.sh b/meta/recipes-core/initrdscripts/files/init-install.sh
index 7fccddea03..f9e9768e43 100644
--- a/meta/recipes-core/initrdscripts/files/init-install.sh
+++ b/meta/recipes-core/initrdscripts/files/init-install.sh
@@ -17,7 +17,14 @@ swap_ratio=5
hdnamelist=""
live_dev_name=`cat /proc/mounts | grep ${1%/} | awk '{print $1}'`
live_dev_name=${live_dev_name#\/dev/}
-live_dev_name=${live_dev_name%%[0-9]*}
+# Only strip the digit identifier if the device is not an mmc
+case $live_dev_name in
+ mmcblk*)
+ ;;
+ *)
+ live_dev_name=${live_dev_name%%[0-9]*}
+ ;;
+esac
echo "Searching for hard drives ..."
@@ -35,9 +42,14 @@ for device in `ls /sys/block/`; do
*)
# skip the device LiveOS is on
# Add valid hard drive name to the list
- if [ $device != $live_dev_name -a -e /dev/$device ]; then
- hdnamelist="$hdnamelist $device"
- fi
+ case $device in
+ $live_dev_name*)
+ # skip the device we are running from
+ ;;
+ *)
+ hdnamelist="$hdnamelist $device"
+ ;;
+ esac
;;
esac
done