#### Linux From Scratch - Version 9.0-systemd

### Chapter 6. Installing Basic System Software

- Prev

  Creating Essential Files and Symlinks

- Next

  Man-pages-5.02

- Up
- Home

# 6.7. Linux-5.2.8 API Headers

The Linux API Headers (in linux-5.2.8.tar.xz) expose the kernel's API for use by Glibc.

Approximate build time: less than 0.1 SBU
Required disk space: 960 MB

## 6.7.1. Installation of Linux API Headers

The Linux kernel needs to expose an Application Programming Interface (API) for the system's C library (Glibc in LFS) to use. This is done by way of sanitizing various C header files that are shipped in the Linux kernel source tarball.

Make sure there are no stale files and dependencies lying around from previous activity:

    make mrproper

Now extract the user-visible kernel headers from the source. They are placed in an intermediate local directory and copied to the needed location because the extraction process removes any existing files in the target directory. There are also some hidden files used by the kernel developers and not needed by LFS that are removed from the intermediate directory.

    make INSTALL_HDR_PATH=dest headers_install
    find dest/include \( -name .install -o -name ..install.cmd \) -delete
    cp -rv dest/include/* /usr/include

## 6.7.2. Contents of Linux API Headers

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

### Short Descriptions

`/usr/include/asm/*.h` | The Linux API ASM Headers
`/usr/include/asm-generic/*.h` | The Linux API ASM Generic Headers
`/usr/include/drm/*.h` | The Linux API DRM Headers
`/usr/include/linux/*.h` | The Linux API Linux Headers
`/usr/include/misc/*.h` | The Linux API Miscellaneous Headers
`/usr/include/mtd/*.h` | The Linux API MTD Headers
`/usr/include/rdma/*.h` | The Linux API RDMA Headers
`/usr/include/scsi/*.h` | The Linux API SCSI Headers
`/usr/include/sound/*.h` | The Linux API Sound Headers
`/usr/include/video/*.h` | The Linux API Video Headers
`/usr/include/xen/*.h` | The Linux API Xen Headers

- Prev

  Creating Essential Files and Symlinks

- Next

  Man-pages-5.02

- Up
- Home