Question

I have downloaded the sources for a Linux kernel from kernel.org and created the header files by calling

make ARCH=arm headers_check

I have an embedded platform and ask myself if this is enough because I don't have the header files from the vendor. What are the dependencies of header files? It looks to me that header files are quite hardware specific and I expect that they depend on the CPU type etc.. Is it enough to specify the architecture just by ARCH=arm? Is it probable that a vendor of an arm system creates its own header files for a Linux kernel?

Was it helpful?

Solution

If you have a specific ARM board in mind for your project, you can select that board’s defconfig.A defconfig is the kernel’s way of storing the default set of build settings and then sets the configuration for the kernel build.

e.g.

1)make mrproper

2)make ARCH=arm integrator_defconfig

--> here above command sets configuration for the kernel build to the settings in the integrator_defconfig file. The integrator is a device created by ARM for doing development work and is the closest thing in the ARM architecture to a generic device.

same thing can be done for others by settting their respective specific board like versatilepb,vexpress, exynox,...etc.

You can find default configuration in ../arch/arm/configs/ in kernel source-code. next

3)make ARCH=arm INSTALL_HDR_PATH=dest headers_install

which installs specific board configured header files so that these files have information about how to call kernel services that the C libraries use to access kernel functionality

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top