Index of /fxp/freeslack64-14.2/source/fxp/build/linux-libre
Name Last modified Size Description
Parent Directory -
COPYING 2020-01-09 08:20 34K
config-generic-4.4.14.x64 2020-01-09 08:20 156K
config-huge-4.4.14.x64 2020-01-09 08:20 156K
linux-libre-4.4.14-gnu.tar.xz.asc 2020-01-09 08:20 819
linux-libre-headers.SlackBuild 2020-01-09 08:20 1.9K
linux-libre-image.SlackBuild 2020-01-09 08:20 4.3K
linux-libre-source.SlackBuild 2020-01-09 08:20 1.9K
linux-libre.info 2020-01-09 08:20 217
slack-desc 2020-01-09 08:20 880
slack-desc.headers 2020-01-09 08:20 1.0K
slack-desc.source 2020-01-09 08:20 1.0K
stage.sh 2020-01-09 08:20 750
DOCUMENTATION FOR linux-libre-* build scripts.
CREATING THE PACKAGE
These scripts pre-suppose x86 or x86_64 architecture and Linux kernel
version >= 3. They will build and package the kernel located in
/usr/src/linux or $LINUX_SOURCE_PATH if the latter is defined. It is
up to you to make sure the kernel source is prepared.
Get the Linux-libre kernel source and cd into the source directory.
Create files config-generic and config-huge.
to become root (if you haven't already), cd into the build script
directory and run linux-libre-image.SlackBuild to create an image
package in /tmp. The script will use makefiles in the Linux source
tree to install modules and firmware, but (unlike the kernel modules
build script in Slackware) it won't ever write anywhere but /tmp and
the source tree.
After the image is done, you can opt to create the headers package
with linux-libre-headers.SlackBuild. Unless you are also upgrading
glibc, you never need to do this. For a more detailed explanation see
INSTALLING THE PACKAGES
After you installed the image package, you may have to configure your
boot loader. If you use lilo to boot, you now have to edit lilo.conf
and run lilo before you reboot with the new kernel. By default, this
script will create the traditional vmlinuz, System.map, and config
links in /boot, pointing at the huge image, as well as -huge -generic
links pointing at their respective targets. You can change that
You may have to create an initrd as well (see /boot/README.initrd for
If you blacklist the image package, you can have multiple kernel
packages installed, co-existing peacefully, each with a unique
$KERNEL_RELEASE, and have your boot loader point to different kernels.
REMOVING THE PACKAGE
Removing the kernel image package won't do anything about symbolic
links in /boot, so you may want to check them before running lilo (see
PACKAGE CONTENTS below).
The image package contains generic kernel image, huge kernel image,
their system maps and configs, generic kernel modules, and kernel
firmware. It omits kernel headers and the source tree.
All installed files have paths derived from the kernel release
$KERNEL_RELEASE, which is the same as $(uname -r) once the kernel
boots. This way we avoid collision with other packages, including the
ones in Slackware. You just have to make sure that the kernel release
is unique for each installed package. One way to do so is by setting
LOCALVERSION, but this is only truly needed if you want to install
several kernels with exactly the same version side by side.
Linux kernel image, system map, and .config are installed into /boot.
Optionally, symbolic links are made there according to Slackware
conventions. These links are the only intended points of collision
with other packages. Kernel modules are installed into
/lib/modules/$KERNEL_RELEASE. Kernel firmware is installed into
/lib/firmware/$KERNEL_RELEASE. The kernel will find both modules and
firmware automagically, and will look in the right place first. From
the kernel's drivers/base/firmware_class.c file:
Firmware files are looked up in:
The headers package contains the kernel include files and is needed
BUILDING OUT-OF-KERNEL DRIVERS
Building out-of-kernel drivers should be possible as long as you
retain the source tree, which is packaged separately.