[meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source

Bob Cochran yocto at mindchasers.com
Fri Jul 11 07:41:41 PDT 2014


On 07/09/2014 10:13 PM, ting.liu at freescale.com wrote:
>> -----Original Message-----
>> From: Bob Cochran [mailto:yocto at mindchasers.com]
>> Sent: Thursday, July 10, 2014 4:19 AM
>> To: Liu Ting-B28495; Luo Zhenhua-B19537; meta-freescale at yoctoproject.org
>> Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module:
>> use fsl maintained source
>>
>> On 07/09/2014 04:16 AM, ting.liu at freescale.com wrote:
>>> From: Zhenhua Luo <zhenhua.luo at freescale.com>
>>>
>>> FSL SDK released its own cryptodev based on 1.6, but not all the codes
>>> was upstreamed, add bbappend to use fsl maintained source. This change
>>> only be applied for fsl machines
>>
>>
>> Hello Ting (and Zhenhua),
>>
>> Would it be useful to you if I created a hybrid build environment of QorIQ
>> SDK1.6 with its meta-fsl-ppc tree replaced by the Yocto meta-fsl-ppc master
>> branch and test on T1040RDB with the submitted patches?
>>
>
> Hello Bob,
> Thanks for your great support. Yes, it is very useful, just do it. Report to us if you find any issue, and we will fix ASAP. Actually that is what we finally want, QorIQ SDK = fsl community bsp + meta-fsl-networking (may have some fsl customization or be empty). we start fsl community bsp test for qoriq now and will upstream the recipes in QorIQ SDK v1.6 as much as possible.


I'm currently testing with your patches applied to meta-fsl-ppc master 
along with any needed Yocto / OE repos, each on its master branch (e.g., 
meta-virtualization).

In addition, I have copied over meta-fsl-networking from SDK1.6 and 
created my own meta-fsl-transition layer to hold recipes that haven't 
been patched into meta-fsl-ppc yet (e.g, l2switch and auto-resp).

I am NOT using the meta-fsl-ppc-toolchain layer.

I'm sifting through some build problems now for my t1040rdb-64b build, 
and I'll report later unless it's just operator error.

I have found in meta-fsl-networking that recipes-core could be merged 
into meta-fsl-ppc for consistency with the SDK image and that your 
busybox_%.bbappend file within meta-fsl-networking/recipes-core is 
missing a trailing ':' in the FILESEXTRAPATHS_prepend assignment that 
causes defconfig-fsl not to be picked up.



>
>> Please let me know if this would be useful feedback, or if you would prefer
>> testing only be done after certain commits (tags) are reached.
>>
>
> You need these four patches applied. Then all should be ok. (skmm-ep has a workaournd in sdk 1.6, now the pkg developers want to find a better fix. But it does not affect t1040rdb)
>
>> Thank you,
>>
>> Bob
>>
>>
>>
>>
>>
>>>
>>> Signed-off-by: Zhenhua Luo <zhenhua.luo at freescale.com>
>>> Signed-off-by: Ting Liu <b28495 at freescale.com>
>>> ---
>>>    recipes-kernel/cryptodev/cryptodev-fsl.inc         |    5 ++
>>>    .../cryptodev/cryptodev-linux_1.6.bbappend         |    2 +
>>>    .../cryptodev/cryptodev-module_1.6.bbappend        |   25 +++++++
>>>    recipes-kernel/cryptodev/cryptodev_1.5.bb          |   51 ---------------
>>>    ...pile-and-install-rules-for-cryptodev-test.patch |   69 ----------------
>> ----
>>>    .../cryptodev/files/makefile_fixup.patch           |   26 --------
>>>    6 files changed, 32 insertions(+), 146 deletions(-)
>>>    create mode 100644 recipes-kernel/cryptodev/cryptodev-fsl.inc
>>>    create mode 100644 recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>>>    create mode 100644 recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>>>    delete mode 100644 recipes-kernel/cryptodev/cryptodev_1.5.bb
>>>    delete mode 100644 recipes-kernel/cryptodev/files/Add-the-compile-and-
>> install-rules-for-cryptodev-test.patch
>>>    delete mode 100644
>>> recipes-kernel/cryptodev/files/makefile_fixup.patch
>>>
>>> diff --git a/recipes-kernel/cryptodev/cryptodev-fsl.inc
>>> b/recipes-kernel/cryptodev/cryptodev-fsl.inc
>>> new file mode 100644
>>> index 0000000..7520152
>>> --- /dev/null
>>> +++ b/recipes-kernel/cryptodev/cryptodev-fsl.inc
>>> @@ -0,0 +1,5 @@
>>> +SRC_URI_fslmachine = "git://git.freescale.com/ppc/sdk/cryptodev-
>> linux.git;nobranch=1"
>>> +SRCREV_fslmachine = "c9baf0623bdc55e8adfc91bf675e8148826d57d1"
>>> +
>>> +S_fslmachine = "${WORKDIR}/git"
>>> +
>>> diff --git a/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>>> b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>>> new file mode 100644
>>> index 0000000..3cbbb3d
>>> --- /dev/null
>>> +++ b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>>> @@ -0,0 +1,2 @@
>>> +require recipes-kernel/cryptodev/cryptodev-fsl.inc
>>> +
>>> diff --git a/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>>> b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>>> new file mode 100644
>>> index 0000000..80cef70
>>> --- /dev/null
>>> +++ b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>>> @@ -0,0 +1,25 @@
>>> +require recipes-kernel/cryptodev/cryptodev-fsl.inc
>>> +
>>> +python () {
>>> +	ma = d.getVar("DISTRO_FEATURES", True)
>>> +	arch = d.getVar("OVERRIDES", True)
>>> +
>>> +	# the : after the arch is to skip the message on 64b
>>> +	if not "multiarch" in ma and "e6500:" in arch:
>>> +		raise bb.parse.SkipPackage("Building the kernel for this arch
>>> +requires multiarch to be in DISTRO_FEATURES")
>>> +
>>> +	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
>>> +
>>> +	if promote_kernel == "1":
>>> +		d.setVar('KERNEL_CC_append', ' -m64')
>>> +		d.setVar('KERNEL_LD_append', ' -melf64ppc')
>>> +
>>> +	error_qa = d.getVar('ERROR_QA', True)
>>> +	if 'arch' in error_qa:
>>> +		d.setVar('ERROR_QA', error_qa.replace(' arch', '')) }
>>> +
>>> +do_install_append_fslmachine () {
>>> +    rm -fr ${D}/usr
>>> +}
>>> +
>>> diff --git a/recipes-kernel/cryptodev/cryptodev_1.5.bb
>>> b/recipes-kernel/cryptodev/cryptodev_1.5.bb
>>> deleted file mode 100644
>>> index 4c1dade..0000000
>>> --- a/recipes-kernel/cryptodev/cryptodev_1.5.bb
>>> +++ /dev/null
>>> @@ -1,51 +0,0 @@
>>> -SECTION = "devel"
>>> -SUMMARY = "Linux Cryptodev KERNEL MODULE"
>>> -DESCRIPTION = "The Cryptodev package contains the kernel /dev/crypto
>> module"
>>> -LICENSE = "GPLv2"
>>> -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>>> -RCONFLICTS_${PN} = "ocf-linux"
>>> -
>>> -inherit module
>>> -
>>> -PR = "r1"
>>> -DEPENDS += "openssl"
>>> -
>>> -SRCREV = "1c24a0aa996630518d47826a2e3fea129ea094c7"
>>> -
>>> -SRC_URI = "git://repo.or.cz/cryptodev-linux.git;protocol=git \
>>> -           file://makefile_fixup.patch \
>>> -           file://Add-the-compile-and-install-rules-for-cryptodev-
>> test.patch"
>>> -
>>> -EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
>>> -
>>> -S = "${WORKDIR}/git"
>>> -python () {
>>> -	ma = d.getVar("DISTRO_FEATURES", True)
>>> -	arch = d.getVar("OVERRIDES", True)
>>> -
>>> -	# the : after the arch is to skip the message on 64b
>>> -	if not "multiarch" in ma and ("e5500:" in arch or "e6500:" in arch):
>>> -		raise bb.parse.SkipPackage("Building the kernel for this arch
>> requires multiarch to be in DISTRO_FEATURES")
>>> -
>>> -	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
>>> -
>>> -	if promote_kernel == "1":
>>> -		d.setVar('KERNEL_CC_append', ' -m64')
>>> -		d.setVar('KERNEL_LD_append', ' -melf64ppc')
>>> -
>>> -	error_qa = d.getVar('ERROR_QA', True)
>>> -	if 'arch' in error_qa:
>>> -		d.setVar('ERROR_QA', error_qa.replace(' arch', ''))
>>> -}
>>> -
>>> -do_compile_append() {
>>> -        oe_runmake testprogs
>>> -}
>>> -
>>> -do_install_append() {
>>> -        oe_runmake install_tests
>>> -}
>>> -
>>> -PACKAGES += "${PN}-tests"
>>> -FILES_${PN}-dbg += "${bindir}/tests_cryptodev/.debug"
>>> -FILES_${PN}-tests = "${bindir}/tests_cryptodev/*"
>>> diff --git
>>> a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for
>>> -cryptodev-test.patch
>>> b/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for
>>> -cryptodev-test.patch
>>> deleted file mode 100644
>>> index cb871f6..0000000
>>> ---
>>> a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for
>>> -cryptodev-test.patch
>>> +++ /dev/null
>>> @@ -1,69 +0,0 @@
>>> -From 1980a8f4779a955e73285e7a0d86549b69bea5c8 Mon Sep 17 00:00:00
>>> 2001
>>> -From: Yu Zongchun <b40527 at freescale.com>
>>> -Date: Sun, 28 Apr 2013 14:39:22 +0800
>>> -Subject: [PATCH] Add the compile and install rules for cryptodev
>>> tests folder
>>> -
>>> -This is required to install the cryptodev tests folder to rootfs
>>> -
>>> -Signed-off-by: Yu Zongchun <b40527 at freescale.com>
>>> -
>>> -Upstream-Status: Pending
>>> -
>>> ----
>>> - Makefile       |    6 ++++++
>>> - tests/Makefile |    8 ++++++++
>>> - 2 files changed, 14 insertions(+), 0 deletions(-)
>>> -
>>> -diff --git a/Makefile b/Makefile
>>> -index 2be8825..4cbb865 100644
>>> ---- a/Makefile
>>> -+++ b/Makefile
>>> -@@ -17,6 +17,9 @@ install:
>>> - 	@echo "Installing cryptodev.h in /usr/include/crypto ..."
>>> - 	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
>>> -
>>> -+install_tests:
>>> -+	make -C tests install DESTDIR=$(PREFIX)
>>> -+
>>> - clean:
>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
>>> - 	rm -f $(hostprogs) *~
>>> -@@ -25,6 +28,9 @@ clean:
>>> - check:
>>> - 	KERNEL_DIR=$(KERNEL_DIR) make -C tests check
>>> -
>>> -+testprogs:
>>> -+	KERNEL_DIR=$(KERNEL_DIR) make -C tests testprogs
>>> -+
>>> - FILEBASE = cryptodev-linux-$(VERSION)
>>> - TMPDIR ?= /tmp
>>> - OUTPUT = $(FILEBASE).tar.gz
>>> -diff --git a/tests/Makefile b/tests/Makefile -index 87ca3c7..0488cf6
>>> 100644
>>> ---- a/tests/Makefile
>>> -+++ b/tests/Makefile
>>> -@@ -19,6 +19,12 @@ example-async-hmac-objs := async_hmac.o
>>> - example-async-speed-objs := async_speed.o
>>> - example-hashcrypt-speed-objs := hashcrypt_speed.c
>>> -
>>> -+install:
>>> -+	install -d  $(DESTDIR)/usr/bin/tests_cryptodev
>>> -+	for bin in $(hostprogs); do \
>>> -+		install -m 755 $${bin} $(DESTDIR)/usr/bin/tests_cryptodev/; \
>>> -+	done
>>> -+
>>> - check: $(hostprogs)
>>> - 	./cipher
>>> - 	./hmac
>>> -@@ -28,6 +34,8 @@ check: $(hostprogs)
>>> - 	./cipher-gcm
>>> - 	./cipher-aead
>>> -
>>> -+testprogs: $(hostprogs)
>>> -+
>>> - clean:
>>> - 	rm -f *.o *~ $(hostprogs)
>>> -
>>> ---
>>> -1.7.5.4
>>> -
>>> diff --git a/recipes-kernel/cryptodev/files/makefile_fixup.patch
>>> b/recipes-kernel/cryptodev/files/makefile_fixup.patch
>>> deleted file mode 100644
>>> index 323aacd..0000000
>>> --- a/recipes-kernel/cryptodev/files/makefile_fixup.patch
>>> +++ /dev/null
>>> @@ -1,26 +0,0 @@
>>> -diff --git a/Makefile b/Makefile
>>> -index 2be8825..b36d68c 100644
>>> ---- a/Makefile
>>> -+++ b/Makefile
>>> -@@ -1,6 +1,7 @@
>>> - KBUILD_CFLAGS += -I$(src)
>>> - KERNEL_DIR = /lib/modules/$(shell uname -r)/build
>>> - VERSION = 1.5
>>> -+PREFIX =
>>> -
>>> - cryptodev-objs = ioctl.o main.o cryptlib.o authenc.o zc.o util.o
>>> -
>>> -@@ -12,10 +13,10 @@ build: version.h
>>> - version.h: Makefile
>>> - 	@echo "#define VERSION \"$(VERSION)\"" > version.h
>>> -
>>> --install:
>>> -+modules_install:
>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` modules_install
>>> --	@echo "Installing cryptodev.h in /usr/include/crypto ..."
>>> --	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
>>> -+	@echo "Installing cryptodev.h in $(PREFIX)/usr/include/crypto ..."
>>> -+	@install -D crypto/cryptodev.h
>>> -+$(PREFIX)/usr/include/crypto/cryptodev.h
>>> -
>>> - clean:
>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
>>>
>
>



More information about the meta-freescale mailing list