Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12603 Discussions

Where is the kernel header files for driver module?

Honored Contributor II


I have a Arrow Cyclone V FPGASoC kit, and am studying the linux driver.  

In order to compile the driver for the platform, I need the kernel header files which matches the kernel version running on my board. I made the zImage of my board using the source here:  

and the result of 'uname -r' on my board is '3.10.31-ltsi-05151-gc8b20a4'. 

However, the source code lacks its header files, and /usr/src, which usually contains the header file, is almost empty. 

So where can I find the header files I need? 

Thanks so much~~~
0 Kudos
1 Reply
Honored Contributor II

Please ignore the question in my post above. 


As far as I know, compiling driver for desktop linux requires kernel header files which are usually set under /usr/src, and with the same kernel version number; 

Compiling driver for embedded linux usually needs the linux source code direcory where you build your zImage for the board, not header files. 


In other words: 

(1) For desktop linux: make -C /usr/src/(header file directory) M=${PWD} modules; 

(2) For embedded linux: make ARCH=arm -C /linux-socfpga-ret-ltsi M=${PWD} modules; 


I have successfully compiled a simple driver for my Arrow SoC like this, but the difference are not sure. Could be that desktop linux is too large for you to have all source code; and embedded linux usually not that large so that you can work under its source code directory which already contains header files.
0 Kudos