]> xenbits.xensource.com Git - people/liuw/osstest.git/commitdiff
Osstest/Debian: Add support for "ExtraInitramfsModules" host property
authorIan Campbell <ian.campbell@citrix.com>
Fri, 21 Nov 2014 13:16:58 +0000 (13:16 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 10 Dec 2014 14:03:37 +0000 (14:03 +0000)
The arndale platform needs a bunch of clk, phy and regulator stuff in order to
access its root filesystem. However mkinitramfs is not (currently?) able to
figure this out and therefore doesn't include them in the initrd. See
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762042

Add a new host prop which can list these required additional module and
arranges for a suitable /etc/initramfs-tools/modules to be created on install.

Using the new HostGroupProp syntax the required modules are:

HostGroupProp_arndale_ExtraInitramfsModules clk-s2mps11 s5m8767 i2c-s3c2410 phy-exynos5250-sata

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Osstest/Debian.pm

index 33a4ca4b9e4380b095e39369499e6fcc43b43728..7081a299305637d3c6ed7bef0301678174cce670 100644 (file)
@@ -692,6 +692,23 @@ in-target mkimage -A arm -T script -d /boot/boot /boot/boot.scr
 END
     }
 
+    my $modules = get_host_property($ho, "ExtraInitramfsModules", "NONE");
+    if ( $modules ne "NONE" )
+    {
+       # This is currently the best available way to add modules to
+       # the installed initramfs. See
+       # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764805
+        preseed_hook_command($ho, 'late_command', $sfx, <<END);
+#!/bin/sh
+set -ex
+
+for i in $modules ; do
+    echo \$i >> /target/etc/initramfs-tools/modules
+done
+in-target update-initramfs -u -k all
+END
+    }
+
     my @extra_packages = ();
     push(@extra_packages, "u-boot-tools") if $ho->{Flags}{'need-uboot-bootscr'};