From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by yocto-www.yoctoproject.org (Postfix, from userid 118) id B5474E00A9A; Tue, 11 Aug 2015 04:56:30 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on yocto-www.yoctoproject.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,HTML_MESSAGE autolearn=ham version=3.3.1 X-Spam-HAM-Report: * -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] * 0.0 HTML_MESSAGE BODY: HTML included in message Received: from www.dynamicdevices.co.uk (www.dynamicdevices.co.uk [89.200.136.37]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id 83387E00A92 for ; Tue, 11 Aug 2015 04:56:20 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by www.dynamicdevices.co.uk (Postfix) with ESMTP id 6319227E327; Tue, 11 Aug 2015 11:56:18 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at lennoab2.miniserver.com Received: from www.dynamicdevices.co.uk ([127.0.0.1]) by localhost (www.dynamicdevices.co.uk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CT0gTIhXGovP; Tue, 11 Aug 2015 11:56:15 +0000 (UTC) Received: from [192.168.0.2] (cpc47-live22-2-0-cust92.17-2.cable.virginm.net [86.17.157.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by www.dynamicdevices.co.uk (Postfix) with ESMTPSA id F1B9A27E30B; Tue, 11 Aug 2015 11:56:09 +0000 (UTC) To: petter@technux.se, Herve Jourdain References: <1439204904-8305-1-git-send-email-ajlennon@dynamicdevices.co.uk> <55C9B2EE.2090406@gmail.com> <034593ed817a9a220ef7074e598f9b2d@technux.se> From: Alex J Lennon Message-ID: <55C9E2D2.8010000@dynamicdevices.co.uk> Date: Tue, 11 Aug 2015 12:56:02 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <034593ed817a9a220ef7074e598f9b2d@technux.se> Cc: yocto@yoctoproject.org Subject: Re: [meta-raspberrypi][PATCH 1/2] linux-raspberrypi: Update kernel to 3.18.16 X-BeenThere: yocto@yoctoproject.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Discussion of all things Yocto Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Aug 2015 11:56:30 -0000 Content-Type: multipart/alternative; boundary="------------080802070903060506000108" --------------080802070903060506000108 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit On 11/08/2015 11:34, Petter Mabäcker wrote: > > 2015-08-11 11:03 skrev Alex Lennon: > >> >> >> On Tuesday, August 11, 2015, Petter Mabäcker > > wrote: >> >> 2015-08-11 10:31 skrev Alex J Lennon: >> >> On 11/08/2015 08:58, Petter Mabäcker wrote: >> >> 2015-08-10 13:08 skrev Alex J Lennon: >> >> This requires some changes to KERNEL_DEVICETREE as >> the dtb layout has changed to support overlays. This >> change also makes us ready to support kernel 4.x >> series Signed-off-by: Alex J Lennon >> > > --- >> conf/machine/include/rpi-base.inc | 22 >> ++++++++++------------ >> recipes-kernel/linux/linux-raspberrypi_3.18.bb >> | 9 +++++++-- 2 >> files changed, 17 insertions(+), 14 deletions(-) diff >> --git a/conf/machine/include/rpi-base.inc >> b/conf/machine/include/rpi-base.inc index >> 1dda207..8caa5ba 100644 --- >> a/conf/machine/include/rpi-base.inc +++ >> b/conf/machine/include/rpi-base.inc @@ -23,18 +23,16 >> @@ KERNEL_DEVICETREE ?= " \ bcm2708-rpi-b-plus.dtb \ >> bcm2709-rpi-2-b.dtb \ \ - ds1307-rtc-overlay.dtb \ - >> hifiberry-amp-overlay.dtb \ - >> hifiberry-dac-overlay.dtb \ - >> hifiberry-dacplus-overlay.dtb \ - >> hifiberry-digi-overlay.dtb \ - >> iqaudio-dac-overlay.dtb \ - >> iqaudio-dacplus-overlay.dtb \ - lirc-rpi-overlay.dtb >> \ - pcf8523-rtc-overlay.dtb \ - pps-gpio-overlay.dtb >> \ - w1-gpio-overlay.dtb \ - >> w1-gpio-pullup-overlay.dtb \ + >> overlays/hifiberry-amp-overlay.dtb \ + >> overlays/hifiberry-dac-overlay.dtb \ + >> overlays/hifiberry-dacplus-overlay.dtb \ + >> overlays/hifiberry-digi-overlay.dtb \ + >> overlays/iqaudio-dac-overlay.dtb \ + >> overlays/iqaudio-dacplus-overlay.dtb \ + >> overlays/lirc-rpi-overlay.dtb \ + >> overlays/pps-gpio-overlay.dtb \ + >> overlays/w1-gpio-overlay.dtb \ + >> overlays/w1-gpio-pullup-overlay.dtb \ " >> KERNEL_IMAGETYPE ?= "Image" diff --git >> a/recipes-kernel/linux/linux-raspberrypi_3.18.bb >> >> b/recipes-kernel/linux/linux-raspberrypi_3.18.bb >> index >> 6d8b155..18c2020 100644 --- >> a/recipes-kernel/linux/linux-raspberrypi_3.18.bb >> +++ >> b/recipes-kernel/linux/linux-raspberrypi_3.18.bb >> @@ -1,6 +1,11 @@ >> -LINUX_VERSION ?= "3.18.11" +LINUX_VERSION ?= >> "3.18.16" -SRCREV = >> "d64fa8121fca9883d6fb14ca06d2abf66496195e" +SRCREV = >> "1bb18c8f721ef674a447f3622273f2e2de7a205c" SRC_URI = >> "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.18.y >> " >> require linux-raspberrypi.inc + +# Create missing out >> of tree 'overlays' directory prior to install step >> +do_compile_append() { + mkdir -p >> ${B}/arch/arm/boot/dts/overlays +} -- 1.9.1 >> >> Hi Alex, At least I get problems during compile step with >> above change (I'm building for rpi2). So are your sure >> '${B}/arch/arm/boot/dts/overlays' isn't needed during >> compile? I tried with changing above from append to >> prepand instead and then it worked fine for me (when >> building 3.18 kernel). (from log.do_compile, complete log >> can be found at: >> http://www.technux.se/logs/log.do_compile.4398.fail ) >> KSYM .tmp_kallsyms1.o KSYM .tmp_kallsyms2.o LD vmlinux >> SORTEX vmlinux SYSMAP System.map OBJCOPY >> arch/arm/boot/Image Kernel: arch/arm/boot/Image is ready >> NOTE: make -j 4 bcm2708-rpi-b.dtb DTC >> arch/arm/boot/dts/bcm2708-rpi-b.dtb NOTE: make -j 4 >> bcm2708-rpi-b-plus.dtb DTC >> arch/arm/boot/dts/bcm2708-rpi-b-plus.dtb NOTE: make -j 4 >> bcm2709-rpi-2-b.dtb DTC >> arch/arm/boot/dts/bcm2709-rpi-2-b.dtb NOTE: make -j 4 >> overlays/hifiberry-amp-overlay.dtb DTC >> arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dtb cc1: >> fatal error: opening output file >> arch/arm/boot/dts/overlays/.hifiberry-amp-overlay.dtb.dts.tmp: >> No such file or directory compilation terminated. >> make[3]: *** >> [arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dtb] >> Error 1 make[2]: *** [overlays/hifiberry-amp-overlay.dtb] >> Error 2 make[1]: *** [sub-make] Error 2 make: *** >> [__sub-make] Error 2 ERROR: oe_runmake failed ERROR: >> Function failed: do_compile (log file is located at >> /home/epetmab/programming/yocto/alex_test_sstate/tmp/work/raspberrypi2-poky-linux-gnueabi/linux-raspberrypi/3.18.16+git1bb18c8f721ef674a447f3622273f2e2de7a205c-r0/temp/log.do_compile.4398) >> BR, Petter >> >> Hi Petter, >> >> Thanks for testing that out. That is indeed exactly what I was seeing >> before I added the directory creation. >> >> I did do the following test for both 3.18.x and 4.1.3 kernels (rpi2) >> >> bitbake -f -c cleansstate virtual/kernel >> bitbake -f virtual/kernel >> >> I've just re-run that again here and it works for me as-is. I thought >> cleansstate was causing me to build from scratch so I'm unclear as to >> why I'm not seeing the problem... >> >> NB. I'd also add that for preference I'd like to see the kernel build >> Makefile patched with whatever is in 4.1 to create that needed overlays >> directory but I've had a look and can't spot it. >> >> Cheers, >> >> Alex >> >> Hmm Ok, might be some "pebcak" from my side, since I was using an >> old sstate, but according to my history I did 'cleanall' before I >> got the problem. But will re-try this on a completely new build >> without any old savings (it will take some time to test >> however..). What struck me was that the failure occurred in >> do_compile (from what I can tell the failure in my logs occur >> before your _append had been able to do anything about it?). I >> will analyse the run.do_compile if the failure occurs again and >> see if that make any sense. I will let you know if the problem >> occurs again. But since both you and Herve haven't seen any >> problem I guess it's something I'm doing wrong.. >> >> >> Thanks. As I was trying to figure out what was going on I did also >> drop into a devshell and run the configure/compile/install steps >> manually and it was the install step failing so I'd be a little >> surprised but let's see. >> >> Cheer, Alex >> >> >> > > I think I know what the problem is. Are you building using poky:fido? > Because I found a very interesting commit in this area from May that > isn't included in 'fido' from what I can see. d2e26ef kernel: Build > DTBs early ... kernel: Build DTBs early Pull out the compilation of > the DTB blobs right after the kernel's own do_compile function > finishes. This makes them available just in time for the kernel image > construction functions. ... This is also confirmed in the below > run.do_compile log. So I guess a my suggestion with a _prepend instead > will solve the problem. > > do_compile() { > kernel_do_compile > if test -n " bcm2708-rpi-b.dtb bcm2708-rpi-b-plus.dtb bcm2709-rpi-2-b.dtb overlays/hifiberry-amp-overlay.dtb overlays/hifiberry-dac-overlay.dtb overlays/hifiberry-dacplus-overlay.d > tb overlays/hifiberry-digi-overlay.dtb overlays/iqaudio-dac-overlay.dtb overlays/iqaudio-dacplus-overlay.dtb overlays/lirc-rpi-overlay.dtb overlays/pps-gpio-overlay.dtb overlays/w1-gpio-overla > y.dtb overlays/w1-gpio-pullup-overlay.dtb "; then > for DTB in bcm2708-rpi-b.dtb bcm2708-rpi-b-plus.dtb bcm2709-rpi-2-b.dtb overlays/hifiberry-amp-overlay.dtb overlays/hifiberry-dac-overlay.dtb overlays/hifiberry-dacplus-ov > erlay.dtb overlays/hifiberry-digi-overlay.dtb overlays/iqaudio-dac-overlay.dtb overlays/iqaudio-dacplus-overlay.dtb overlays/lirc-rpi-overlay.dtb overlays/pps-gpio-overlay.dtb overlays/w1-gpio > -overlay.dtb overlays/w1-gpio-pullup-overlay.dtb ; do > if echo ${DTB} | grep -q '/dts/'; then > bbwarn "${DTB} contains the full path to the the dts file, but only the dtb name should be used." > DTB=`basename ${DTB} | sed 's,\.dts$,.dtb,g'` > fi > oe_runmake ${DTB} > done > fi > mkdir -p /tmp/work/raspberrypi2-poky-linux-gnueabi/linux-raspberrypi/3.18.16+git1bb18c8f721ef674a447f3622273f2e2de7a205c-r0/linux-raspberrypi2-standard-build/arch/arm/boot/dts/overlays > > } > > BR, Petter > > > Very interesting. fido - I am indeed. OK I'll modify and resubmit with do_compile_prepend(). Thanks! Cheers, Alex --------------080802070903060506000108 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit

On 11/08/2015 11:34, Petter Mabäcker wrote:

2015-08-11 11:03 skrev Alex Lennon:



On Tuesday, August 11, 2015, Petter Mabäcker <petter@technux.se> wrote:

2015-08-11 10:31 skrev Alex J Lennon:

On 11/08/2015 08:58, Petter Mabäcker wrote:
2015-08-10 13:08 skrev Alex J Lennon:
This requires some changes to KERNEL_DEVICETREE as the dtb layout has changed to support overlays. This change also makes us ready to support kernel 4.x series Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk <mailto:ajlennon@dynamicdevices.co.uk>> --- conf/machine/include/rpi-base.inc | 22 ++++++++++------------ recipes-kernel/linux/linux-raspberrypi_3.18.bb | 9 +++++++-- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/conf/machine/include/rpi-base.inc b/conf/machine/include/rpi-base.inc index 1dda207..8caa5ba 100644 --- a/conf/machine/include/rpi-base.inc +++ b/conf/machine/include/rpi-base.inc @@ -23,18 +23,16 @@ KERNEL_DEVICETREE ?= " \ bcm2708-rpi-b-plus.dtb \ bcm2709-rpi-2-b.dtb \ \ - ds1307-rtc-overlay.dtb \ - hifiberry-amp-overlay.dtb \ - hifiberry-dac-overlay.dtb \ - hifiberry-dacplus-overlay.dtb \ - hifiberry-digi-overlay.dtb \ - iqaudio-dac-overlay.dtb \ - iqaudio-dacplus-overlay.dtb \ - lirc-rpi-overlay.dtb \ - pcf8523-rtc-overlay.dtb \ - pps-gpio-overlay.dtb \ - w1-gpio-overlay.dtb \ - w1-gpio-pullup-overlay.dtb \ + overlays/hifiberry-amp-overlay.dtb \ + overlays/hifiberry-dac-overlay.dtb \ + overlays/hifiberry-dacplus-overlay.dtb \ + overlays/hifiberry-digi-overlay.dtb \ + overlays/iqaudio-dac-overlay.dtb \ + overlays/iqaudio-dacplus-overlay.dtb \ + overlays/lirc-rpi-overlay.dtb \ + overlays/pps-gpio-overlay.dtb \ + overlays/w1-gpio-overlay.dtb \ + overlays/w1-gpio-pullup-overlay.dtb \ " KERNEL_IMAGETYPE ?= "Image" diff --git a/recipes-kernel/linux/linux-raspberrypi_3.18.bb b/recipes-kernel/linux/linux-raspberrypi_3.18.bb index 6d8b155..18c2020 100644 --- a/recipes-kernel/linux/linux-raspberrypi_3.18.bb +++ b/recipes-kernel/linux/linux-raspberrypi_3.18.bb @@ -1,6 +1,11 @@ -LINUX_VERSION ?= "3.18.11" +LINUX_VERSION ?= "3.18.16" -SRCREV = "d64fa8121fca9883d6fb14ca06d2abf66496195e" +SRCREV = "1bb18c8f721ef674a447f3622273f2e2de7a205c" SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.18.y" require linux-raspberrypi.inc + +# Create missing out of tree 'overlays' directory prior to install step +do_compile_append() { + mkdir -p ${B}/arch/arm/boot/dts/overlays +} -- 1.9.1
Hi Alex, At least I get problems during compile step with above change (I'm building for rpi2). So are your sure '${B}/arch/arm/boot/dts/overlays' isn't needed during compile? I tried with changing above from append to prepand instead and then it worked fine for me (when building 3.18 kernel). (from log.do_compile, complete log can be found at: http://www.technux.se/logs/log.do_compile.4398.fail ) KSYM .tmp_kallsyms1.o KSYM .tmp_kallsyms2.o LD vmlinux SORTEX vmlinux SYSMAP System.map OBJCOPY arch/arm/boot/Image Kernel: arch/arm/boot/Image is ready NOTE: make -j 4 bcm2708-rpi-b.dtb DTC arch/arm/boot/dts/bcm2708-rpi-b.dtb NOTE: make -j 4 bcm2708-rpi-b-plus.dtb DTC arch/arm/boot/dts/bcm2708-rpi-b-plus.dtb NOTE: make -j 4 bcm2709-rpi-2-b.dtb DTC arch/arm/boot/dts/bcm2709-rpi-2-b.dtb NOTE: make -j 4 overlays/hifiberry-amp-overlay.dtb DTC arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dtb cc1: fatal error: opening output file arch/arm/boot/dts/overlays/.hifiberry-amp-overlay.dtb.dts.tmp: No such file or directory compilation terminated. make[3]: *** [arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dtb] Error 1 make[2]: *** [overlays/hifiberry-amp-overlay.dtb] Error 2 make[1]: *** [sub-make] Error 2 make: *** [__sub-make] Error 2 ERROR: oe_runmake failed ERROR: Function failed: do_compile (log file is located at /home/epetmab/programming/yocto/alex_test_sstate/tmp/work/raspberrypi2-poky-linux-gnueabi/linux-raspberrypi/3.18.16+git1bb18c8f721ef674a447f3622273f2e2de7a205c-r0/temp/log.do_compile.4398) BR, Petter
Hi Petter,

Thanks for testing that out. That is indeed exactly what I was seeing
before I added the directory creation.

I did do the following test for both 3.18.x and 4.1.3 kernels (rpi2)

bitbake -f -c cleansstate virtual/kernel
bitbake -f virtual/kernel

I've just re-run that again here and it works for me as-is. I thought
cleansstate was causing me to build from scratch so I'm unclear as to
why I'm not seeing the problem...

NB. I'd also add that for preference I'd like to see the kernel build
Makefile patched with whatever is in 4.1 to create that needed overlays
directory but I've had a look and can't spot it.

Cheers,

Alex

Hmm Ok, might be some "pebcak" from my side, since I was using an old sstate, but according to my history I did 'cleanall' before I got the problem. But will re-try this on a completely new build without any old savings (it will take some time to test however..). What struck me was that the failure occurred in do_compile (from what I can tell the failure in my logs occur before your _append had been able to do anything about it?). I will analyse the run.do_compile if the failure occurs again and see if that make any sense. I will let you know if the problem occurs again. But since both you and Herve haven't seen any problem I guess it's something I'm doing wrong..

 
Thanks. As I was trying to figure out what was going on I did also drop into a devshell and run the configure/compile/install steps manually and it was the install step failing so I'd be a little surprised but let's see.
 
Cheer, Alex 
 
 
 

I think I know what the problem is. Are you building using poky:fido? Because I found a very interesting commit in this area from May that isn't included in 'fido' from what I can see. d2e26ef kernel: Build DTBs early ... kernel: Build DTBs early Pull out the compilation of the DTB blobs right after the kernel's own do_compile function finishes. This makes them available just in time for the kernel image construction functions. ... This is also confirmed in the below run.do_compile log. So I guess a my suggestion with a _prepend instead will solve the problem.

do_compile() {
    kernel_do_compile
        if test -n "     bcm2708-rpi-b.dtb     bcm2708-rpi-b-plus.dtb     bcm2709-rpi-2-b.dtb         overlays/hifiberry-amp-overlay.dtb     overlays/hifiberry-dac-overlay.dtb     overlays/hifiberry-dacplus-overlay.d
tb     overlays/hifiberry-digi-overlay.dtb     overlays/iqaudio-dac-overlay.dtb     overlays/iqaudio-dacplus-overlay.dtb     overlays/lirc-rpi-overlay.dtb     overlays/pps-gpio-overlay.dtb     overlays/w1-gpio-overla
y.dtb     overlays/w1-gpio-pullup-overlay.dtb     "; then
                for DTB in      bcm2708-rpi-b.dtb     bcm2708-rpi-b-plus.dtb     bcm2709-rpi-2-b.dtb         overlays/hifiberry-amp-overlay.dtb     overlays/hifiberry-dac-overlay.dtb     overlays/hifiberry-dacplus-ov
erlay.dtb     overlays/hifiberry-digi-overlay.dtb     overlays/iqaudio-dac-overlay.dtb     overlays/iqaudio-dacplus-overlay.dtb     overlays/lirc-rpi-overlay.dtb     overlays/pps-gpio-overlay.dtb     overlays/w1-gpio
-overlay.dtb     overlays/w1-gpio-pullup-overlay.dtb     ; do
                        if echo ${DTB} | grep -q '/dts/'; then
                                bbwarn "${DTB} contains the full path to the the dts file, but only the dtb name should be used."
                                DTB=`basename ${DTB} | sed 's,\.dts$,.dtb,g'`
                        fi
                        oe_runmake ${DTB}
                done
        fi
  mkdir -p /tmp/work/raspberrypi2-poky-linux-gnueabi/linux-raspberrypi/3.18.16+git1bb18c8f721ef674a447f3622273f2e2de7a205c-r0/linux-raspberrypi2-standard-build/arch/arm/boot/dts/overlays

}

BR, Petter

 


Very interesting. fido - I am indeed. OK I'll modify and resubmit with do_compile_prepend(). Thanks!

Cheers, Alex

--------------080802070903060506000108--