2015-08-11 11:03 skrev Alex Lennon:
> On Tuesday, August 11, 2015, Petter Mabäcker <[email protected]> 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 <[email protected] <mailto:[email protected]>> --- 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://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.18.y [2]" 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 [3] ) 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 Mabäcker Technux <[email protected]> www.technux.se Links: ------ [1] http://linux-raspberrypi_3.18.bb [2] http://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.18.y [3] http://www.technux.se/logs/log.do_compile.4398.fail
-- _______________________________________________ yocto mailing list [email protected] https://lists.yoctoproject.org/listinfo/yocto
