10.5. Linux-Headers-2.6.17.1-06212006

The Linux Headers package contains the “sanitized” kernel headers.

10.5.1. Installation of Linux Headers

For years it has been common practice to use “raw” kernel headers (straight from a kernel tarball) in /usr/include, but over the last few years, the kernel developers have taken a strong stance that this should not be done. This gave birth to the Linux-Libc-Headers Project, which was designed to maintain an API stable version of the Linux headers. Recently this project stopped producing updates, so the Cross-LFS team started development on our own project to sanitize the headers.

Install the header files that are common to all architectures:

install -dv /usr/include/{asm,asm-generic,linux,net,mtd,scsi,sound}
cp -av include/asm-generic/* /usr/include/asm-generic
cp -av include/linux/* /usr/include/linux
cp -av include/mtd/* /usr/include/mtd
cp -av include/net/* /usr/include/net
cp -av include/scsi/* /usr/include/scsi
cp -av include/sound/* /usr/include/sound

Install the header files that are specific to this architecture:

cp -av include/asm-mips/* /usr/include/asm

Ensure that all the headers are owned by root:

chown -Rv root:root /usr/include/{asm,asm-generic,linux,mtd,net,scsi,sound}

Make sure the users can read the headers:

find /usr/include/{asm,asm-generic,linux,mtd,net,scsi,sound} -type d -exec chmod -v 755 {} \;
find /usr/include/{asm,asm-generic,linux,mtd,net,scsi,sound} -type f -exec chmod -v 644 {} \;

10.5.2. Contents of Linux-Headers

Installed headers: /usr/include/{asm,linux}/*.h

Short Descriptions

/usr/include/{asm,linux}/*.h

The Linux API headers