Choose of kernel version for Arrow CycloneV board


#1

Hi
Am a total newbie in SW and kernel developement. However I am an oldtimer in VHDL and HW.
Now I also need to do some SW as I we do not have an embedded SW guy, he left us. I have limited experience in writing C code, standard makefiles is something I have used, but never written etc.
The main problem is to make the best choices for SW and find my way through all the new SW tools.

Sofar:
I choose the latest 16.0 version of the SOCKIT.
I have a working SDCARD and have added VHDL code and updated the SDCARD with it successfull.
We have a working application code to an Arria 10 board, especially we have a modified version of udmabuf driver that allocates a buffer in SDRAM at a fixed address area as required for the VHDL code to use it directly through the HPS SDRAM port. I also managed to recompile the driver for our Arria10 board where we have the source code in our git. But when I checked out angstrom 2016 oct source I get this new kbuild recipe files and NO source. I have tried to google how to get the source from this but either it is not possible or I did not chose proper keywords for the search.

I am now considering whether to continue with sockit version 16.0 and this kbuild complication or go back to latest version before the kbuild recipe think was introduced to the kernel source. I don’t need nor want to change the kernel itself or learn kbuild, and properly never will need it again ,but I need to checkout the source headers from the opensource git so I can compile a device driver. Our application and driver code have standard make files.

Could someone please advice on how to proceed and perhaps which version of SOCKIT is the latest one before the kbuild was introduced on the source.
I also consider whether the driver can be guild on the target board this do not not like a possible way?
I have a windows PC used for VHDL part, but also access to the linux PC (and linux user experience) that can build the code for Arria10 so I think it would be easier to also build the CylconeV arrow board SW on that one.

Now I am even more confused, I downloaded source for 15.1, the download only gives you a structure and some download script to run. Runing the script ended with a fatal error saying git login failuare. It turns out the source has move git server to https://github.com/altera-opensource/angstrom-socfpga. But as far as I can figure out this server do not have source files that old. The 16.0 prebuild image has a kernel version 3. while this new git server only have kernel 4. version?
Is it correct that the source for prebuilt images is not available? So I will have to build a new kernel ? or I am I simply not able to find my may around on these open source pages?


#2

Hello, pso,
Linux kernel version 3.x are not available anymore at github of Altera. You have to use either a backup of such version of Linux kernel , if You had made for Arria10 in past, or use the available one. But I must warn You - there are some necessary changes at DeviceTree Blob (= .dtb file) for new Linux kernel versions. I advice You to browse this forum, because this theme has been discussed here in a quite deep way. Moreover, I highly recommend You to read following article carefully: https://rocketboards.org/foswiki/Documentation/EmbeddedLinuxBeginnerSGuide.
I am not sure, why are You thinking about writing kbuild-code. Do You thing that it is necessary for Your driver to be complied into kernel? Could not it be build as modular driver (i.e. build separately of the kernel and then inserted into the running kernel with ‘modprobe’ command)? By the way, adding a part into the kernel via kbuild is quite simple, do not worry. I could recommend You for example this great source of informations: https://bootlin.com/docs/.
I will looking forward to reading from You. Best wishes.
Jan Konečný.