imx6qsabrelite yocto switching kernel

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6qsabrelite yocto switching kernel

Jump to solution
4,460 Views
michaelhandford
Contributor II

Can some kind person suggest where I'm going wrong?

Whenever I try to switch kernel by adding to my local.conf something like:

PREFERRED_PROVIDER_virtual/kernel = "linux-imx"

PREFERRED_VERSION_virtual/kernel = "3.10.17"

I get a function failed install issue:

     make[1]: *** No rule to make target `arch/arm/boot/dts/imx6q-nitrogen6x.dtb'.  Stop.

I can see the imx6q-sabrelite.dtb is created, not sure why imx6q-nitrogen6x.dtb is needed.

I've only had success with "linux-boundary" so far but my goal is to use the realtime patches from linux-imx-rt_3.10.17.bb

Can anyone help a noob?

I've tried daisy, master-next and dora branches all with the same problem so I must have missed something obvious.

Thanks in advance,

Mike.

Labels (2)
1 Solution
1,706 Views
EricNelson
Senior Contributor II

Hi Michael,

Sorry for the delayed response.

It appears that you've essentially found the answer yourself. The Freescale kernel trees (linux-imx) do contain some level of support for SABRE Lite, but these are essentially untested and unsupported.

For this reason, we configured the machine 'imx6qsabrelite' to be an alias of 'nitrogen6x' and pointed it at linux-boundary in the machine file.

The only machines directly supported by linux-imx are the Freescale-branded machines in meta-fsl-arm/conf/machine/

     meta-fsl-arm/conf/machine at daisy · Freescale/meta-fsl-arm · GitHub

Regards,


Eric

View solution in original post

0 Kudos
13 Replies
1,706 Views
michaelhandford
Contributor II

Thanks for the help, just noticed that imx6qsabrelite machine conf uses the nitrogen6x.conf and that board is only supported by linux-boundary.

linux-imx supports imx6qsabrelite but not with the default conf :smileysad:!

To solve this issue I'm using a modified nitrogen6x.conf with the nitrogen6x.dtb removed from KERNEL_DEVICETREE.

Mike.

0 Kudos
1,706 Views
jamesbone
NXP TechSupport
NXP TechSupport

Is your question already answer?

0 Kudos
1,706 Views
michaelhandford
Contributor II

Yes thank you, I've marked Eric's answer as correct above.

I found a boundary Linux real time branch which I'm currently experimenting with.

Thanks.

0 Kudos
1,706 Views
EricNelson
Senior Contributor II

Hi Mike,

Note that the previous "-rt" kernel was based on the 3.10.17-beta kernel. I just merged the "-rt" patches onto a new branch (boundary-imx_3.10.17_1.0.0_ga-rt):

     https://github.com/boundarydevices/linux-imx6/tree/boundary-imx_3.10.17_1.0.0_ga-rt

1,706 Views
OtavioSalvador
Senior Contributor II

Eric, please send a recipe adding it ;-) 

0 Kudos
1,706 Views
EricNelson
Senior Contributor II

Hi Otavio,

I first need to grok what's being done with linux-imx-rt.

That recipe seems to define a new PROVIDER. Is that right?

It also seems to just apply the (presumably updated) "-rt" patches to the same SRCREV, which seems sensible and would prevent the need to download an entirely new kernel to test.

0 Kudos
1,706 Views
OtavioSalvador
Senior Contributor II

The provider is not need.

Yes, adding the patches makes sense.

Please, let's move this discussion to the mailing list ;-)

0 Kudos
1,707 Views
EricNelson
Senior Contributor II

Hi Michael,

Sorry for the delayed response.

It appears that you've essentially found the answer yourself. The Freescale kernel trees (linux-imx) do contain some level of support for SABRE Lite, but these are essentially untested and unsupported.

For this reason, we configured the machine 'imx6qsabrelite' to be an alias of 'nitrogen6x' and pointed it at linux-boundary in the machine file.

The only machines directly supported by linux-imx are the Freescale-branded machines in meta-fsl-arm/conf/machine/

     meta-fsl-arm/conf/machine at daisy · Freescale/meta-fsl-arm · GitHub

Regards,


Eric

0 Kudos
1,706 Views
michaelhandford
Contributor II

Thank you very much for your help, same day turn around is pretty quick in my book!

Mike.

0 Kudos
1,706 Views
michaelhandford
Contributor II

Part of log.do_install:

make: Leaving directory `/home/mike/fsl-community-daisy-bsp2/build/tmp/work/imx6qsabrelite-poky-linux-gnueabi/linux-imx/3.10.17-r0/image/usr/src/kernel'

| NOTE: make -j 8 imx6q-sabrelite.dtb

|   CC      scripts/mod/devicetable-offsets.s

|   GEN     scripts/mod/devicetable-offsets.h

|   HOSTCC  scripts/mod/file2alias.o

|   HOSTLD  scripts/mod/modpost

|   DTC     arch/arm/boot/dts/imx6q-sabrelite.dtb

| NOTE: make -j 8 imx6q-nitrogen6x.dtb

|   CC      scripts/mod/devicetable-offsets.s

|   GEN     scripts/mod/devicetable-offsets.h

|   HOSTCC  scripts/mod/file2alias.o

|   HOSTLD  scripts/mod/modpost

| make[1]: *** No rule to make target `arch/arm/boot/dts/imx6q-nitrogen6x.dtb'.  Stop.

| make: *** [imx6q-nitrogen6x.dtb] Error 2

| ERROR: oe_runmake failed

| WARNING: exit code 1 from a shell command.

| ERROR: Function failed: do_install (log file is located at /home/mike/fsl-community-daisy-bsp2/build/tmp/work/imx6qsabrelite-poky-linux-gnueabi/linux-imx/3.10.17-r0/temp/log.do_install.22321)

ERROR: Task 2 (/home/mike/fsl-community-daisy-bsp2/sources/meta-fsl-arm/recipes-kernel/linux/linux-imx_3.10.17.bb, do_install) failed with exit code '1'

0 Kudos
1,706 Views
LeonardoSandova
Specialist I

you may check what bitbake is doing with

bitbake -c install -f -e linux-imx

?

0 Kudos
1,706 Views
LeonardoSandova
Specialist I

I think the PREFERED_VERSION needs the PN also, so you can try

PREFERRED_VERSION_virtual/kernel_linux-imx = "3.10.17"

0 Kudos
1,706 Views
michaelhandford
Contributor II

Sorry my mistake above in the example I would have used PREFERRED_VERSION_linux_imx = "3.10.17"

I'm still seeing the same issue.

0 Kudos