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

Petter Mabäcker petter at technux.se
Tue Aug 11 07:02:26 PDT 2015


 

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

> 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>
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 [1] | 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 [1]
b/recipes-kernel/linux/linux-raspberrypi_3.18.bb [1] index
6d8b155..18c2020 100644 ---
a/recipes-kernel/linux/linux-raspberrypi_3.18.bb [1] +++
b/recipes-kernel/linux/linux-raspberrypi_3.18.bb [1] @@ -1,6 +1,11 @@
-LINUX_VERSION ?= "3.18.11" +LINUX_VERSION ?= "3.18.16" -SRCREV =
"d64fa8121fca9883d6fb14ca06d2abf66496195e" +SRCREV =
"1bb18c8f721ef674a447f3622273f2e2de7a205c" SRC_URI = "git://
[2]github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.18.y [3]"
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 [4] ) 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
> 
> Petter, hopefully that v2 patch-set
addresses the issue. I have re-built here and it still works ok under
fido.
> 
> I also have a patch-set for Redmine #44
(http://redmine.gherzan.com/issues/44 [5]) to Yocto-ify the kernel build
to support fragments. This consists of a patch to make fragments work
and a test patch with fragment to build audio into the kernel.
> 
>
Andrei doesn't want audio built into the kernel, which I understand, but
it works for a test. 
> 
> That "yoctoification" work is older than the
3.x/4.x changes but should still be relevant I think. I'd like to get
that in before others start doing the clever stuff around vc4 and so
forth. If I send up to the list can you review?
> 
> Thanks,
Alex

Sounds good. I agree we should try to get that issue integrated as
soon as possible. Send it and I will help review, if my time allows it I
can start by reviewing the series that is linked to in redmine
meanwhile. 

/Petter 

Links:
------
[1]
http://linux-raspberrypi_3.18.bb
[2] git://
[3]
http://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.18.y
[4]
http://www.technux.se/logs/log.do_compile.4398.fail
[5]
http://redmine.gherzan.com/issues/44
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20150811/437d4a2c/attachment.html>


More information about the yocto mailing list