Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > bd83eed6316a8b1c5c9b7e319c5581d0 > files > 15

mkinitrd-6.0.63-1mnb2.src.rpm

diff -p -up mkinitrd-6.0.62/mkinitrd.8.dsdt mkinitrd-6.0.62/mkinitrd.8
--- mkinitrd-6.0.62/mkinitrd.8.dsdt	2008-08-11 18:14:54.000000000 +0200
+++ mkinitrd-6.0.62/mkinitrd.8	2008-08-19 16:13:49.000000000 +0200
@@ -8,6 +8,7 @@ mkinitrd \- creates initial ramdisk imag
          [--with=\fImodule\fR] [--image-version]
          [--fstab=\fIfstab\fR] [--nocompress]
          [--builtin=\fImodule\fR] \fIimage\fR \fIkernel-version\fR
+         [--dsdt[=\fIdsdt.aml\fR]]
 
 .SH DESCRIPTION
 \fBmkinitrd\fR creates an initial image used by the kernel for
@@ -35,6 +36,10 @@ will not look for this module, and will 
 exist. This option may be used multiple times.
 
 .TP
+\fB-\-dsdt\fR[=\fIdsdt.aml\fR]
+Adds a custom acpi DSDT in the initrd image.
+
+.TP
 \fB-f\fR
 Allows \fBmkinitrd\fR to overwrite an existing image file.
 
diff -p -up mkinitrd-6.0.62/mkinitrd.dsdt mkinitrd-6.0.62/mkinitrd
--- mkinitrd-6.0.62/mkinitrd.dsdt	2008-08-19 16:13:49.000000000 +0200
+++ mkinitrd-6.0.62/mkinitrd	2008-08-19 16:25:09.000000000 +0200
@@ -94,6 +94,9 @@ fstab="/etc/fstab"
 vg_list=""
 net_list="$NET_LIST"
 
+DEFAULT_DSDT_FILES="/boot/dsdt.aml /boot/DSDT.aml"
+dsdt_files=""
+
 [ -e /etc/sysconfig/mkinitrd ] && . /etc/sysconfig/mkinitrd
 
 usage () {
@@ -110,6 +113,7 @@ usage () {
     $cmd "       [--with=<module>] [--force-lvm-probe | --omit-lvm-modules]"
     $cmd "       [--builtin=<module>] [--omit-dmraid] [--net-dev=<interface>]"
     $cmd "       [--fstab=<fstab>] [--nocompress] <initrd-image> <kernel-version>"
+    $cmd "       [--dsdt[=<dsdt.aml>]]"
     $cmd ""
     $cmd "       (ex: `basename $0` /boot/initrd-$(uname -r).img $(uname -r))"
 
@@ -924,6 +928,13 @@ while [ $# -gt 0 ]; do
                 shift
             fi
 	    ;;
+	--dsdt*)
+	    if echo $1 | grep '=' >/dev/null ; then
+	    	dsdt_files=`echo $1 | sed 's/^--dsdt=//'`
+	    else
+		dsdt_files=$DEFAULT_DSDT_FILES
+	    fi		    
+	    ;;
         --help)
             usage -n
             ;;
@@ -1465,6 +1476,14 @@ EOF
     unset usb_mounted
 }
 
+if [ -n "$dsdt_files" ]; then
+    for dsdt_file in $dsdt_files; do
+	if [ -f $dsdt_file ]; then
+	    cp -aL $dsdt_file $MNTIMAGE/DSDT.aml
+	fi
+    done
+fi
+
 if [ $ncryptodevs -ne 0 ]; then
     inst /sbin/cryptsetup "$MNTIMAGE"