linux kernel headers (sanitized for use with musl)
Clone or download
bachp and rofl0r add missing module.h header
The header defines constants needed for module loading and unloading
It is installed in 4.x kernel but seems to be missing in 3.x
Latest commit 9b7ef77 Jul 17, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
arm/include remove bogus arch directory which contains tilera code Mar 2, 2014
arm64/include add aarch64 aka arm64 (kernel calls it that way) arch headers Mar 2, 2014
generic/include add missing module.h header Jul 18, 2018
microblaze/include remove bogus arch directory which contains tilera code Mar 2, 2014
mips/include remove bogus arch directory which contains tilera code Mar 2, 2014
openrisc/include add or1k aka openrisc Sep 16, 2014
powerpc/include remove bogus arch directory which contains tilera code Mar 2, 2014
sh/include add sh aka superh architecture headers Mar 2, 2014
test add as an initial test a file that includes all headers to see what e… Oct 13, 2013
tools use musl's install.sh instead of install Jul 20, 2014
x86/include remove bogus arch directory which contains tilera code Mar 2, 2014
Makefile Makefile: obey $(includedir) during "make install" Mar 20, 2018
README.md update README and rename to README.md Mar 2, 2014
UPDATE.sh Add module.h it is missing in the 3.16 kernel Jul 18, 2018
aarch64 add aarch64 aka arm64 (kernel calls it that way) arch headers Mar 2, 2014
create-dist.sh create-dist: use xz -e Jan 22, 2014
i386 use x86 as the directory name in line with kernel, symlink i386 and x… Jan 17, 2014
or1k add or1k aka openrisc Sep 16, 2014
x32 add x32, symlink to x86 Jan 20, 2014
x86_64 use x86 as the directory name in line with kernel, symlink i386 and x… Jan 17, 2014

README.md

sabotage's linux kernel headers

linux headers are often broken for userspace, and downloading the entire kernel tarball just to get the headers is overkill.

thus we provide our own copy for the archs supported by sabotage.

some minor issues are fixed, plus libc-compat.h is patched to offer the same level of support for musl libc as the vanilla headers offer for glibc.

we currently use the headers of kernel 3.12.6, which is what Debian is now using. There is a previous 3.3.4 branch.

Installation:

make ARCH=xxx prefix=/usr DESTDIR=/opt/package install

where ARCH is the name of one of the arch-specific directories. for example, i386, x86_64, x32, powerpc, mips, microblaze.

Download mirrors for release tarballs:

Adding a new arch:

export ARCH=xxx
tar xf linux-3.12.6.tar.xz && cd linux-3.12.6
CC=false make V=1 ARCH=$ARCH INSTALL_HDR_PATH=dest headers_install
rm dest/include/asm/.*install*
cd ..
cp -r sh $ARCH
rm -rf $ARCH/include/asm
cp -r linux-3.12.6/dest/include/asm $ARCH/include
rm -rf linux-3.12.6