From: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
To: petter@technux.se
Cc: yocto@yoctoproject.org
Subject: Re: [meta-raspberrypi][PATCH 1/2] linux-raspberrypi: Update kernel to 3.18.16
Date: Tue, 11 Aug 2015 14:10:05 +0100 [thread overview]
Message-ID: <55C9F42D.2050909@dynamicdevices.co.uk> (raw)
In-Reply-To: <034593ed817a9a220ef7074e598f9b2d@technux.se>
[-- Attachment #1: Type: text/plain, Size: 10833 bytes --]
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
>> <mailto: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
>> <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
>
>
>
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) 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
[-- Attachment #2: Type: text/html, Size: 13984 bytes --]
next prev parent reply other threads:[~2015-08-11 13:10 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-10 11:08 [meta-raspberrypi][PATCH 1/2] linux-raspberrypi: Update kernel to 3.18.16 Alex J Lennon
2015-08-10 11:08 ` [meta-raspberrypi][PATCH 2/2] linux-raspberrypi: support kernel 4.1.3 Alex J Lennon
2015-08-10 22:20 ` [meta-raspberrypi][PATCH 1/2] linux-raspberrypi: Update kernel to 3.18.16 Andreas Müller
2015-08-11 7:58 ` Petter Mabäcker
2015-08-11 8:31 ` Alex J Lennon
2015-08-11 9:00 ` Petter Mabäcker
2015-08-11 9:03 ` Alex Lennon
2015-08-11 10:34 ` Petter Mabäcker
2015-08-11 11:56 ` Alex J Lennon
2015-08-11 13:10 ` Alex J Lennon [this message]
2015-08-11 14:02 ` Petter Mabäcker
2015-08-11 15:00 ` Andreas Müller
2015-08-11 8:47 ` Herve Jourdain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55C9F42D.2050909@dynamicdevices.co.uk \
--to=ajlennon@dynamicdevices.co.uk \
--cc=petter@technux.se \
--cc=yocto@yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.