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.

(From OE-Core rev: de81e804f0654092d20ccb8e6e40f4ff614c4b09)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Patrick Ohly 2015-09-03 20:42:29 +02:00 committed by Richard Purdie
parent 8582791683
commit 82dd3fb27e
1 changed files with 2 additions and 1 deletions

View File

@ -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