# Linux-Headers-&linux-version;

The Linux Kernel contains a make target that installs sanitized kernel headers.

## Installation of Linux-Headers

For this step you will need the kernel tarball.

Install the kernel header files:

    make mrproper
    make headers_check
    make INSTALL_HDR_PATH=dest headers_install
    cp -rv dest/include/* /usr/include
    find /usr/include -name .install -or -name ..install.cmd | xargs rm -fv

## The meaning of the make commands:

`make mrproper`

- Ensures that the kernel source dir is clean.

`make headers_check`

- Sanitizes the raw kernel headers so that they can be used by userspace programs.

`make INSTALL_HDR_PATH=dest headers_install`

- Normally the headers_install target removes the entire destination directory (default `/usr/include`) before installing the headers. To prevent this, we tell the kernel to install the headers to a directory inside the source dir.

`find /usr/include -name .install -or -name ..install.cmd | xargs rm -fv`

- Removes a number of unneeded debugging files that were installed.

## Contents of Linux-Headers

Installed headers Installed directories
- /usr/include/{asm,asm-generic,drm,linux,mtd,rdma,scsi,sound,video,xen}/*.h /usr/include/asm, /usr/include/asm-generic, /usr/include/drm, /usr/include/linux, /usr/include/mtd, /usr/include/rdma, /usr/include/scsi, /usr/include/sound, /usr/include/video, /usr/include/xen

Short Descriptions

`/usr/include/{asm,asm-generic,drm,linux,mtd,rdma,sound,video}/*.h`

- The Linux API headers