From f3b14c2b6a852d21fc6fa1fd86959a3818624a36 Mon Sep 17 00:00:00 2001
From: Thomas Renninger <trenn@suse.de>
Date: Fri, 27 Sep 2013 20:10:39 +0200
Subject: [PATCH] dracut: Implement ACPI table overriding
An example config file for this feature could be:
/etc/dracut.conf.d/03-acpi-override.conf
with this content:
acpi_override="yes"
acpi_table_dir="/etc/dracut.conf.d/acpi_tables"
Then all files ending with *.aml will be put into the early cpio
(kernel/firmware/acpi) and will be used to replace the BIOS provided tables
if the kernel supports this feature.
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
dracut.sh | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/dracut.sh b/dracut.sh
index e43227e..b4b3e13 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1337,6 +1337,17 @@ if [[ $early_microcode = yes ]]; then
done
fi
+if [[ $acpi_override = yes ]] && [[ -d $acpi_table_dir ]]; then
+ dinfo "*** Packaging ACPI tables to override BIOS provided ones ***"
+ _dest_dir="$early_cpio_dir/d/kernel/firmware/acpi"
+ mkdir -p $_dest_dir
+ for table in $acpi_table_dir/*.aml; do
+ dinfo " Adding ACPI table: $table"
+ cp $table $_dest_dir
+ create_early_cpio="yes"
+ done
+fi
+
rm -f -- "$outfile"
dinfo "*** Creating image file ***"
if [[ $create_early_cpio = yes ]]; then