]> code.ossystems Code Review - openembedded-core.git/commitdiff
initramfs-framework: handle kernel parameters with . inside
authorPatrick Ohly <patrick.ohly@intel.com>
Thu, 3 Sep 2015 18:42:29 +0000 (20:42 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 6 Sep 2015 14:24:24 +0000 (15:24 +0100)
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>
meta/recipes-core/initrdscripts/initramfs-framework/init

index 95fa9fb1a03e3d0e7eea35ecbbe1eccd109c9b49..e8f4713b521d3ff9b378a37b58a8568b27bc7686 100755 (executable)
@@ -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