[yocto] [meta-raspberrypi][PATCH 1/2] linux-raspberrypi: Update kernel to 3.18.16

Alex J Lennon ajlennon at dynamicdevices.co.uk
Tue Aug 11 04:56:02 PDT 2015



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 at technux.se
>> <mailto:petter at 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 at dynamicdevices.co.uk
>>                 <mailto:ajlennon at dynamicdevices.co.uk>> ---
>>                 conf/machine/include/rpi-base.inc | 22
>>                 ++++++++++------------
>>                 recipes-kernel/linux/linux-raspberrypi_3.18.bb
>>                 <http://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
>>                 <http://linux-raspberrypi_3.18.bb>
>>                 b/recipes-kernel/linux/linux-raspberrypi_3.18.bb
>>                 <http://linux-raspberrypi_3.18.bb> index
>>                 6d8b155..18c2020 100644 ---
>>                 a/recipes-kernel/linux/linux-raspberrypi_3.18.bb
>>                 <http://linux-raspberrypi_3.18.bb> +++
>>                 b/recipes-kernel/linux/linux-raspberrypi_3.18.bb
>>                 <http://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
>>                 <http://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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20150811/e38998e5/attachment.html>


More information about the yocto mailing list