6.9. Linux-4.0.3 API Headers

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

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

6.9.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, placing them in the standard package staging directory:

make INSTALL_HDR_PATH=debian/tmp/usr headers_install

Remove some hidden files used by the kernel developers and not needed by LFS from the staging directory:

find debian/tmp/usr/include \( -name .install -o -name ..install.cmd \) -delete

Create the package archive:

buildpkg --package=linux-headers

Install the package:

dpkg -i ../linux-headers_4.0.3_*.deb
[Note]

Note

linux-headers-pass1 cannot be removed yet as the toolchain built in the previous chapter still requires it.

6.9.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/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/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/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