Building any kernels 4.14.x and above

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

Building any kernels 4.14.x and above

Jump to solution
2,143 Views
adharankar
Contributor II

Hello.

My context is LSDK_1812 (was LSDK_1809 until yesterday), LS1046ARDB for evaluation, with the intent to use a latest kernel source from mainline. Following questions as a newbie to NXP:

  1. I am given to understand that NXP pushes all changes to mainline Linux (kernel.org). E,g. any changes NXP makes to 4.14 are also incorporated into 4.20, which is the latest today AFAIK. Is this correct?
  2. Should I expect flex-builder with command line 'flex-builder -m ls1046ardb -a arm64 -c linux:linux:v4.20' to build and function properly on the RDB? I ask because I attempted this and notice that when Linux comes up the Ethernet interfaces (e.g. RMII1/2) does not show up in 'ifconfig -a'. If it should come up, what am I likely missing?
  3. Assuming somehow the networking and other drivers come up, should I expect the other user space apps/libraries/frameworks to function properly? In other words, are the other components included in the LSDK are qualified to function as documented/intended? If not, which version kernel versions are expected to be qualified, or only the kernel version 4.14 that is the default?
0 Kudos
1 Solution
1,664 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Arun Dharankar,

1. The latest tested Linux Kernel in Upstream is v5.0-rc2, the latest Kernel version in LSDK is 4.14. Not all the features integrated in LSDK Linux Kernel 4.14 is integrated in the upstream Linux Kernel.

2. Please execute the follow command to build Linux Kernel.

$ flex-builder -c linux:linux:LSDK-18.12-V4.14 -a arm64 -m ls1046ardb

For details, please refer to the section "Build Linux kernel with Flexbuild" in the document LSDK-KC-REV18.12.pdf

3. In LSDK 1812, Linux Kernel 4.14 and 4.9 are provided and full tested, the repo tag is LSDK-18.12-V4.14 and LSDK-18.12-V4.9.


Have a great day,
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

6 Replies
1,664 Views
adharankar
Contributor II

I think it will help to tag a custom kernel version to the 'LSDK-18.12-V4.14' build, such that 'uname -r' should include the suffix 'LSDK-18.12' so that it appears as '4.14.83-LSDK-18.12' instead of just '4.14.83'.

0 Kudos
1,665 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Arun Dharankar,

1. The latest tested Linux Kernel in Upstream is v5.0-rc2, the latest Kernel version in LSDK is 4.14. Not all the features integrated in LSDK Linux Kernel 4.14 is integrated in the upstream Linux Kernel.

2. Please execute the follow command to build Linux Kernel.

$ flex-builder -c linux:linux:LSDK-18.12-V4.14 -a arm64 -m ls1046ardb

For details, please refer to the section "Build Linux kernel with Flexbuild" in the document LSDK-KC-REV18.12.pdf

3. In LSDK 1812, Linux Kernel 4.14 and 4.9 are provided and full tested, the repo tag is LSDK-18.12-V4.14 and LSDK-18.12-V4.9.


Have a great day,
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

1,664 Views
adharankar
Contributor II

Build for the LSDK 4.14.83 kernel seems to work when built using 'flex-builder -m ls1046ardb -a arm64 -c linux:linux:LSDK-18.12-V4.14'. Using 'ex-builder -m ls1046ardb -a arm64 -c linux:linux:v4.14.83' does not seem to work. I still need the instructions/process to be able to build 4.14.90 and 4.20, both latest as of now, or any latest. If these are not expected to work, then which versions etc per questions I have already asked.

0 Kudos
1,664 Views
adharankar
Contributor II

Adding more observation/problem: /usr/bin/perf script which calls /usr/lib/linux-tools/4.14.83/perf does not work. Essentially '/usr/lib/linux-tools/4.14.83/perf' is not found. even though the executable is present. Note this was the last flex-builder build where I did a full build after doing a full clean. With this the network interfaces come up and kernel version shows '4.14.83'.

0 Kudos
1,663 Views
adharankar
Contributor II

After playing around with switching the kernel versions, I am unsure if the observation I posted in my last reply is correct. With the latest build where I did not specify the Linux kernel version, I did not see the network interfaces that I had seen earlier. So the question now is what is the recommended procedure to perform builds when I wish to change the kernel versions. A full clean and build of everything takes a much longer time.

0 Kudos
1,664 Views
adharankar
Contributor II

Adding more to the context:

Building the kernel using 'flex-builder -m ls1046ardb -a arm64 -c linux' seems to have built a 4.14.83 kernel, and the network interfaces come up ok. But if I build the kernel using 'flex-builder -m ls1046ardb -a arm64 -c linux:linux:v4.14.83' the network interfaces do not come up.  In both cases 'uname -a' shows same kernel version:

  • 'Linux buildroot 4.14.83 #1 SMP PREEMPT Fri Dec 28 19:37:45 UTC 2018 aarch64 GNU/Linux' and
  • 'Linux buildroot 4.14.83 #1 SMP PREEMPT Sun Dec 30 02:24:38 UTC 2018 aarch64 GNU/Linux'.

Why would the two kernels behave thus?

0 Kudos