From de81e804f0654092d20ccb8e6e40f4ff614c4b09 Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Thu, 3 Sep 2015 20:42:29 +0200 Subject: initramfs-framework: handle kernel parameters with . inside 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 Signed-off-by: Richard Purdie --- meta/recipes-core/initrdscripts/initramfs-framework/init | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/init b/meta/recipes-core/initrdscripts/initramfs-framework/init index 95fa9fb1a0..e8f4713b52 100755 --- a/meta/recipes-core/initrdscripts/initramfs-framework/init +++ b/meta/recipes-core/initrdscripts/initramfs-framework/init @@ -13,6 +13,7 @@ # # 'foo=value' as 'bootparam_foo=value' # 'foo' as 'bootparam_foo=true' +# 'foo.bar[=value] as 'foo_bar=[value|true]' # Register a function to be called before running a module # The hook is called as: @@ -79,7 +80,7 @@ mount -t sysfs sysfs /sys # populate bootparam environment for p in `cat /proc/cmdline`; do opt=`echo $p | cut -d'=' -f1` - opt=`echo $opt | sed -e 's/-/_/'` + opt=`echo $opt | tr '.-' '__'` if [ "`echo $p | cut -d'=' -f1`" = "$p" ]; then eval "bootparam_${opt}=true" else -- cgit 1.2.3-korg