SystemTap
This subsection contains articles on how to compile/modify/boot the Arch Linux kernels.
Systemtap provides free software (GPL) infrastructure to simplify the gathering of information about the running Linux system.
Contents
Easy and fast
Officially, it is recommended to build a linux-custom package to run systemtap, but rebuilding the original linux package can be very easy and efficient.
Prepare
You can run sudo abs; cp -r /var/abs/core/linux .
to get the original kernel build files.
modify config
Edit config (for 32-bit systems) or config.x86_64 (for 64-bit systems), turn on these options:
- CONFIG_DEBUG_INFO=y
- CONFIG_KPROBES=y
- CONFIG_RELAY=y
- CONFIG_DEBUG_FS=y
- CONFIG_MODULES=y
- CONFIG_MODULE_UNLOAD=y
- CONFIG_UTRACE=y
By default only CONFIG_DEBUG_INFO and CONFIG_KPROBES are not set.
With current core/linux (3.3.8) you can simply do this:
i686
echo "CONFIG_DEBUG_INFO=y" >> config echo "CONFIG_KPROBES=y" >> config
x86_64
echo "CONFIG_DEBUG_INFO=y" >> config.x86_64 echo "CONFIG_KPROBES=y" >> config.x86_64
update checksum
Run md5sum config[.x86_64]
to get a new md5sum.
In PKGBUILD file, the md5sums=('sum-of-first' ... 'sum-of-last')
has the same order with
source=('first-source' ... 'last-source')
, put your new md5sum in the right place.
Build and Install
Optional: you can set MAKEFLAGS="-j16"
in /etc/makepkg.conf
to speed up the compilation.
Run makepkg
to compile, then simply sudo pacman -U *.pkg.tar.gz
to install the packages.
pacman will tell you reinstall, That's great!
linux and linux-headers should be reinstalled, linux-docs does not matter.
Via this method, external modules (e.g. nvidia and virtualbox) don't need to be rebuilt.
Systemtap
Simply install systemtap from AUR: systemtapAUR, all done.
Build custom kernel
Please reference this README