[PATCH] uefi: Add fwts-efi-runtime-dkms package
Chris Van Hoof
vanhoof at canonical.com
Tue Aug 21 19:27:16 UTC 2012
On 08/21/2012 02:57 PM, Chris Van Hoof wrote:
> On 08/21/2012 11:58 AM, Colin Ian King wrote:
>> On 21/08/12 06:12, Keng-Yu Lin wrote:
>>> The patch adds the DKMS package for holding the FWTS UEFI runtime
>>> service kernel driver.
>>>
>>> Signed-off-by: Keng-Yu Lin <kengyu at canonical.com>
>>> ---
>>> debian/control | 9 ++++++++-
>>> debian/fwts-efi-runtime-dkms.dkms | 6 ++++++
>>> debian/rules | 17 ++++++++++++++++-
>>> 3 files changed, 30 insertions(+), 2 deletions(-)
>>> create mode 100644 debian/fwts-efi-runtime-dkms.dkms
>>> create mode 100644 efi_runtime/Makefile
>>>
>>> Please put the driver in efi_runtime/.
>>>
>>> diff --git a/debian/control b/debian/control
>>> index 1f93c6a..78d06b0 100644
>>> --- a/debian/control
>>> +++ b/debian/control
>>> @@ -4,7 +4,7 @@ Priority: optional
>>> Maintainer: Firmware Testing Team
>>> <firmware-testing-team at lists.launchpad.net>
>>> Uploaders: Colin King <colin.king at ubuntu.com>, Keng-Yu Lin
>>> <kengyu at ubuntu.com>, Alex Hung <alex.hung at canonical.com>, Chris Van
>>> Hoof <vanhoof at canonical.com>, Ivan Hu <ivan.hu at canonical.com>
>>> Standards-Version: 3.9.3
>>> -Build-Depends: debhelper (>= 7.0.50~), autoconf, automake, libtool,
>>> libpcre3-dev (>= 7.8), libjson0-dev (>= 0.9), flex, bison,
>>> hardening-wrapper
>>> +Build-Depends: debhelper (>= 7.0.50~), autoconf, automake, libtool,
>>> libpcre3-dev (>= 7.8), libjson0-dev (>= 0.9), flex, bison,
>>> hardening-wrapper, dkms
>>>
>>> Package: fwts
>>> Architecture: any
>>> @@ -52,3 +52,10 @@ Description: Firmware Test Suite frontend interface
>>> This is a dialog based interface designed to provide an easy to use
>>> method
>>> to execute tests via Firmware Test Suite and is also used as the
>>> primary
>>> interface within Firmware Test Suit live images.
>>> +
>>> +Package: fwts-efi-runtime-dkms
>>> +Architecture: amd64
>>
>> Is the amd64 architecture required? Will "any" do instead?
>
> We're only dealing with UEFI on amd64, right? That's my guess.
>
>>> +Priority: optional
>>> +Depends: ${shlibs:Depends}, ${misc:Depends}, dkms,
>>> linux-headers-generic | linux-headers
>>> +Description: Firmware Test Suite UEFI Runtime Service kernel driver
>>> + This is a kernel driver for accessing the UEFI Runtime Services.
>>
>> Small niggle, but I suspect more than one line of description is
>> probably required.
>>
>>> diff --git a/debian/fwts-efi-runtime-dkms.dkms
>>> b/debian/fwts-efi-runtime-dkms.dkms
>>> new file mode 100644
>>> index 0000000..685b189
>>> --- /dev/null
>>> +++ b/debian/fwts-efi-runtime-dkms.dkms
>>> @@ -0,0 +1,6 @@
>>> +PACKAGE_NAME="fwts-efi-runtime-dkms"
>>> +PACKAGE_VERSION="#MODULE_VERSION#"
>>> +MAKE[0]="make"
>>> +BUILT_MODULE_NAME[0]="efi_runtime"
>>> +DEST_MODULE_LOCATION[0]="/updates"
>>> +AUTOINSTALL="yes"
>>> diff --git a/debian/rules b/debian/rules
>>> index 4af7a4f..bee26be 100755
>>> --- a/debian/rules
>>> +++ b/debian/rules
>>> @@ -2,9 +2,24 @@
>>>
>>> export DEB_BUILD_HARDENING=1
>>>
>>> +DEBVERS := $(shell dpkg-parsechangelog | grep ^Version: | cut -d' '
>>> -f2 \
>>> + | cut -d- -f1)
>>> +
>>> +VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/[+-].*//' -e 's/~//g')
>>> +
>>> +DKMS_SRC_DIR :=
>>> $(CURDIR)/debian/fwts-efi-runtime-dkms/usr/src/fwts-efi-runtime-dkms-$(VERSION)
>>>
>>> +
>>> +override_dh_auto_install:
>>> + install -d $(DKMS_SRC_DIR)
>>> + cp -a efi_runtime/* $(DKMS_SRC_DIR)
>>> + dh_auto_install
>>> +
>>> override_dh_auto_configure:
>>> autoreconf -ivf
>>> dh_auto_configure
>>>
>>> +override_dh_dkms:
>>> + dh_dkms -V $(VERSION)
>>> +
>>> %:
>>> - dh $@
>>> + dh $@ --with dkms
>>> diff --git a/efi_runtime/Makefile b/efi_runtime/Makefile
>>> new file mode 100644
>>> index 0000000..e69de29
>>>
>>
>> Bit tricky to test this one out before I Ack it. Do you have any modules
>> + instructions to allow me to try this out?
>
> I grabbed the sources and built locally against the kernel fwts-live is
> running and dropped it into /updates although I don't see
> /proc/driver/efirtc although the module did load (and fwts uefidump is
> working) ... Might just be something wonky I did on my end.
Results from fwts-live-amd64 for reference after building locally and
dropping efi_runtime.ko in /lib/modules/3.2.0-26-generic/updates/ on the
fwts-live image:
"""
# uname -a
Linux ubuntu 3.2.0-26-generic #41-Ubuntu SMP Sat Jul 7 16:34:01 UTC 2012
x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/buildstamp
oilpalm Thu, 12 Jul 2012 16:43:13 +0000
fwts-live-amd64-20120712-0
# sudo modprobe efi_runtime
# dmesg | tail -n 1
[ 72.453834] EFI_RUNTIME Driver v0.1
# ls -l /dev/efi_runtime
crw------- 1 root root 10, 57 Aug 21 19:22 /dev/efi_runtime
# efi_runtime/rt/rt_testapp
Set variable [Pass]
Get variable data = 2
Get variable data = 3
Get variable data = 4
Get variable data = 5
Get variable [Pass]
get time test: [OK]
set time test: [OK]
# ls -l /proc/driver/
total 0
-r--r--r-- 1 root root 0 Aug 21 19:22 nvram
-r--r--r-- 1 root root 0 Aug 21 19:22 rtc
-rw-r--r-- 1 root root 0 Aug 21 19:22 snd-page-alloc
# lsmod | grep efi
efi_runtime 12637 0
"""
--chris
More information about the fwts-devel
mailing list