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"