Index of /fxp/freeslack64-14.2/source/fxp/build/linux-libre

Icon  Name                                    Last modified      Size  Description
[PARENTDIR] Parent Directory - [   ] COPYING 2019-02-07 14:12 34K [   ] config-generic-4.4.14.x64 2019-02-07 14:12 156K [   ] config-huge-4.4.14.x64 2019-02-07 14:12 156K [TXT] linux-libre-4.4.14-gnu.tar.xz.asc 2019-02-07 14:12 819 [   ] linux-libre-headers.SlackBuild 2019-02-07 14:12 1.9K [   ] linux-libre-image.SlackBuild 2019-02-07 14:12 4.3K [   ] linux-libre-source.SlackBuild 2019-02-07 14:12 1.9K [   ] 2019-02-07 14:12 217 [   ] slack-desc 2019-02-07 14:12 880 [   ] slack-desc.headers 2019-02-07 14:12 1.0K [   ] slack-desc.source 2019-02-07 14:12 1.0K [TXT] 2019-02-07 14:12 755
DOCUMENTATION FOR linux-libre-* build scripts.


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.

  su -

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


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,, 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
behavior with


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 kernel image package won't do anything about symbolic
links in /boot, so you may want to check them before running lilo (see


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:
  /lib/firmware/updates/$(uname -r)
  /lib/firmware/$(uname -r)

The headers package contains the kernel include files and is needed
for development.


Building out-of-kernel drivers should be possible as long as you
retain the source tree, which is packaged separately.