On Sun, May 10, 2015 at 4:20 PM, Petter Mabäcker <pet...@technux.se> wrote:
> Hi Andrei, > > See answers inline. > > BR, > Petter > > > On 05/10/2015 12:16 PM, Andrei Gherzan wrote: > > Hello Petter, > > On Fri, May 8, 2015 at 11:49 PM, Petter Mabäcker <pet...@technux.se> > wrote: > >> After '6392a63 rpi-base.inc: Use KERNEL_DEVICETREE by default' was >> introduced, kernel versions < 3.18 might not be buildable. Since full >> device tree support was introduced in 3.18 this change ensures that all >> kernel < 3.18 will automatically disable device tree. >> >> Signed-off-by: Petter Mabäcker <pet...@technux.se> >> --- >> classes/linux-raspberrypi-base.bbclass | 29 >> +++++++++++++++++++++++++++++ >> classes/sdcard_image-rpi.bbclass | 6 ++++-- >> recipes-kernel/linux/linux-raspberrypi.inc | 4 +++- >> 3 files changed, 36 insertions(+), 3 deletions(-) >> create mode 100644 classes/linux-raspberrypi-base.bbclass >> >> diff --git a/classes/linux-raspberrypi-base.bbclass >> b/classes/linux-raspberrypi-base.bbclass >> new file mode 100644 >> index 0000000..4bcadd0 >> --- /dev/null >> +++ b/classes/linux-raspberrypi-base.bbclass >> @@ -0,0 +1,29 @@ >> +inherit linux-kernel-base >> + >> + >> +def get_dts(d, ver): >> + staging_dir = d.getVar("STAGING_KERNEL_BUILDDIR", True) >> + dts = d.getVar("KERNEL_DEVICETREE", True) >> + >> + # d.getVar() might return 'None' as a normal string >> + # leading to 'is None' check isn't enough. >> + # TODO: Investigate if this is a bug in bitbake >> + if ver is None or ver == "None": >> + ''' if 'ver' isn't set try to grab the kernel version >> + from the kernel staging ''' >> + ver = get_kernelversion_file(staging_dir) >> + >> + if ver is not None: >> + min_ver = ver.split('.', 3) >> + else: >> + return dts >> + >> + # Always turn off device tree support for kernel's < 3.18 >> + try: >> + if int(min_ver[0]) <= 3: >> + if int(min_ver[1]) < 18: >> + dts = "" >> + except IndexError: >> + min_ver = None >> + >> + return dts >> diff --git a/classes/sdcard_image-rpi.bbclass >> b/classes/sdcard_image-rpi.bbclass >> index 1ff664d..ca94566 100644 >> --- a/classes/sdcard_image-rpi.bbclass >> +++ b/classes/sdcard_image-rpi.bbclass >> @@ -1,4 +1,5 @@ >> inherit image_types >> +inherit linux-raspberrypi-base >> >> # >> # Create an image that can by written onto a SD card using dd. >> @@ -88,7 +89,8 @@ IMAGE_CMD_rpi-sdimg () { >> ROOTFS_SIZE_ALIGNED=$(expr ${ROOTFS_SIZE_ALIGNED} - >> ${ROOTFS_SIZE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT}) >> SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + >> ${BOOT_SPACE_ALIGNED} + ${ROOTFS_SIZE_ALIGNED}) >> >> - echo "Creating filesystem with Boot partition >> ${BOOT_SPACE_ALIGNED} KiB and RootFS ${ROOTFS_SIZE_ALIGNED} KiB" >> > > Why do you remove this line? Maybe by mistake? > > Yes this is by mistake, thanks for finding it. Will send up a new version > with this fixed. > > Don't bother. I'll fix it before merging. > > >> + # Check if we are building with device tree support >> + DTS="${@get_dts(d, None)}" >> > > Aren't we able to use the same variable name, KERNEL_DEVICETREE? What > that be a little clearer? > > No, at least i couldn't get this working. When trying to set the > environment variable KERNEL_DEVICETREE in this context the values was only > ignored. Don't know if the image recipe (or at least the IMAGE_CMD func) > are doing something special. Perhaps it's possible to use 'eval' or > something similar to enforce the expansion of the variable. If you have any > good advice please share them, otherwise I can at least write some comment > about this. > I'll try it a little. But I didn't expect this. Will see. Otherwise this is fine. -- *Andrei Gherzan* *e: **and...@gherzan.ro <and...@gherzan.ro>* *w: *www.gherzan.ro
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto