commit 20a0b1636d883b186dd30838f22873df8252dc00
parent de4dac6ae21bcaf27459eb47d6dacfdb6aeaf2a9
Author: Jan Pobrislo <ccx@te2000.cz>
Date: Wed, 8 Oct 2025 14:24:15 +0000
Install kernel modules into kernel/ directory
Diffstat:
9 files changed, 73 insertions(+), 48 deletions(-)
diff --git a/templates/linux b/templates/linux
@@ -39,23 +39,28 @@ mkdir -p "$installdir/doc/linux" "$installdir/boot"
cp -v .config "$installdir/config"
mv Documentation/* "$installdir/doc/linux"
{{ linux_arch_personality|default('') }} make modules_install install \
- INSTALL_MOD_PATH="$installdir" \
+ INSTALL_MOD_PATH="$installdir/kernel" \
INSTALL_MOD_STRIP=1 \
- INSTALL_PATH="$installdir"/boot \
+ INSTALL_PATH="$installdir/boot" \
INSTALL_DTBS_PATH="$installdir/boot/dtbs"
{% endblock %}
{% block rules %}
$2 == "boot" { link($0); next }
-$2 == "lib" && $3 == "modules" { exit 3 } # TODO move to better location
+$2 == "lib" && $3 == "modules" { exit 3 } # make sure kernel modules do not mix with userspace libraries
+function mod_path(s) {
+ sub("^[.]/kernel/lib/", "./kernel/", s)
+ return s
+}
+$2 == "kernel" && $2 == "lib" && $3 == "modules" { link(mod_path($0)) }
{% endblock -%}
{% block genlinks_begin %}
kernel_name="{{ assertion(patch_version|default(tarball_version + ".0", True)) }}"
x["./boot/vmlinuz"]=1
x["./boot/System.map"]=1
- x["./lib/modules/" kernel_name "/modules.alias"]=1
- x["./lib/modules/" kernel_name "/modules.builtin"]=1
- x["./lib/modules/" kernel_name "/modules.dep"]=1
- x["./lib/modules/" kernel_name "/modules.order"]=1
- x["./lib/modules/" kernel_name "/modules.symbols"]=1
+ x["./kernel/modules/" kernel_name "/modules.alias"]=1
+ x["./kernel/modules/" kernel_name "/modules.builtin"]=1
+ x["./kernel/modules/" kernel_name "/modules.dep"]=1
+ x["./kernel/modules/" kernel_name "/modules.order"]=1
+ x["./kernel/modules/" kernel_name "/modules.symbols"]=1
{% endblock %}
diff --git a/variants/ccx-x86_64/kernel.environment b/variants/ccx-x86_64/kernel.environment
@@ -1,2 +1,2 @@
#!/usr/bin/env pthbs-build
-#+linux.d7c404ea8784ed3b9df0f5f5b4a59a7d73aa95994007caa15e9ae16c213742d6-
\ No newline at end of file
+#+linux.c7eaebc2133d424c056431c3d26b6107c290e1870986dc4a47df63bd1affe87e+
\ No newline at end of file
diff --git a/variants/ccx-x86_64/linux b/variants/ccx-x86_64/linux
@@ -34,9 +34,9 @@ mkdir -p "$installdir/doc/linux" "$installdir/boot"
cp -v .config "$installdir/config"
mv Documentation/* "$installdir/doc/linux"
make modules_install install \
- INSTALL_MOD_PATH="$installdir" \
+ INSTALL_MOD_PATH="$installdir/kernel" \
INSTALL_MOD_STRIP=1 \
- INSTALL_PATH="$installdir"/boot \
+ INSTALL_PATH="$installdir/boot" \
INSTALL_DTBS_PATH="$installdir/boot/dtbs"
cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
@@ -45,11 +45,11 @@ BEGIN {
kernel_name="6.1.34"
x["./boot/vmlinuz"]=1
x["./boot/System.map"]=1
- x["./lib/modules/" kernel_name "/modules.alias"]=1
- x["./lib/modules/" kernel_name "/modules.builtin"]=1
- x["./lib/modules/" kernel_name "/modules.dep"]=1
- x["./lib/modules/" kernel_name "/modules.order"]=1
- x["./lib/modules/" kernel_name "/modules.symbols"]=1
+ x["./kernel/modules/" kernel_name "/modules.alias"]=1
+ x["./kernel/modules/" kernel_name "/modules.builtin"]=1
+ x["./kernel/modules/" kernel_name "/modules.dep"]=1
+ x["./kernel/modules/" kernel_name "/modules.order"]=1
+ x["./kernel/modules/" kernel_name "/modules.symbols"]=1
}
function r1(s) {
@@ -69,7 +69,12 @@ $1!="."{exit 1}
$2 == "boot" { link($0); next }
-$2 == "lib" && $3 == "modules" { exit 3 } # TODO move to better location
+$2 == "lib" && $3 == "modules" { exit 3 } # make sure kernel modules do not mix with userspace libraries
+function mod_path(s) {
+ sub("^[.]/kernel/lib/", "./kernel/", s)
+ return s
+}
+$2 == "kernel" && $2 == "lib" && $3 == "modules" { link(mod_path($0)) }
$2 == "command" { link($0); next }
$2 == "bin" { link(s1("command", $0)); next }
diff --git a/variants/ccx-x86_64/linux-qemu-guest b/variants/ccx-x86_64/linux-qemu-guest
@@ -32,9 +32,9 @@ mkdir -p "$installdir/doc/linux" "$installdir/boot"
cp -v .config "$installdir/config"
mv Documentation/* "$installdir/doc/linux"
make modules_install install \
- INSTALL_MOD_PATH="$installdir" \
+ INSTALL_MOD_PATH="$installdir/kernel" \
INSTALL_MOD_STRIP=1 \
- INSTALL_PATH="$installdir"/boot \
+ INSTALL_PATH="$installdir/boot" \
INSTALL_DTBS_PATH="$installdir/boot/dtbs"
cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
@@ -43,11 +43,11 @@ BEGIN {
kernel_name="6.15.0"
x["./boot/vmlinuz"]=1
x["./boot/System.map"]=1
- x["./lib/modules/" kernel_name "/modules.alias"]=1
- x["./lib/modules/" kernel_name "/modules.builtin"]=1
- x["./lib/modules/" kernel_name "/modules.dep"]=1
- x["./lib/modules/" kernel_name "/modules.order"]=1
- x["./lib/modules/" kernel_name "/modules.symbols"]=1
+ x["./kernel/modules/" kernel_name "/modules.alias"]=1
+ x["./kernel/modules/" kernel_name "/modules.builtin"]=1
+ x["./kernel/modules/" kernel_name "/modules.dep"]=1
+ x["./kernel/modules/" kernel_name "/modules.order"]=1
+ x["./kernel/modules/" kernel_name "/modules.symbols"]=1
}
function r1(s) {
@@ -67,7 +67,12 @@ $1!="."{exit 1}
$2 == "boot" { link($0); next }
-$2 == "lib" && $3 == "modules" { exit 3 } # TODO move to better location
+$2 == "lib" && $3 == "modules" { exit 3 } # make sure kernel modules do not mix with userspace libraries
+function mod_path(s) {
+ sub("^[.]/kernel/lib/", "./kernel/", s)
+ return s
+}
+$2 == "kernel" && $2 == "lib" && $3 == "modules" { link(mod_path($0)) }
$2 == "command" { link($0); next }
$2 == "bin" { link(s1("command", $0)); next }
diff --git a/variants/ccx-x86_64/vm.environment b/variants/ccx-x86_64/vm.environment
@@ -1,2 +1,2 @@
#!/usr/bin/env pthbs-build
-#+linux-qemu-guest.6f5f29d09247982f1f635375689a619ad83817fbbf0f5ebc80e11da3957fd59c-
\ No newline at end of file
+#+linux-qemu-guest.0b8db497da90cc37ffc37f8adc5357be4b3a94af0491054aa111ec4a4625a302+
\ No newline at end of file
diff --git a/variants/root-x86_64/kernel.environment b/variants/root-x86_64/kernel.environment
@@ -1,2 +1,2 @@
#!/usr/bin/env pthbs-build
-#+linux.2d0d6eb48440f51fbd985bcd43507aa813c8c9ffa47b17064761b295efb49145-
\ No newline at end of file
+#+linux.e9af280c07ccd11a4bd9bc60e317fd0a915426802d29f7fe29aef4c587e658cf+
\ No newline at end of file
diff --git a/variants/root-x86_64/linux b/variants/root-x86_64/linux
@@ -34,9 +34,9 @@ mkdir -p "$installdir/doc/linux" "$installdir/boot"
cp -v .config "$installdir/config"
mv Documentation/* "$installdir/doc/linux"
make modules_install install \
- INSTALL_MOD_PATH="$installdir" \
+ INSTALL_MOD_PATH="$installdir/kernel" \
INSTALL_MOD_STRIP=1 \
- INSTALL_PATH="$installdir"/boot \
+ INSTALL_PATH="$installdir/boot" \
INSTALL_DTBS_PATH="$installdir/boot/dtbs"
cd "$pthbs_destdir/versions/$pthbs_package"
@@ -45,11 +45,11 @@ BEGIN {
kernel_name="6.1.34"
x["./boot/vmlinuz"]=1
x["./boot/System.map"]=1
- x["./lib/modules/" kernel_name "/modules.alias"]=1
- x["./lib/modules/" kernel_name "/modules.builtin"]=1
- x["./lib/modules/" kernel_name "/modules.dep"]=1
- x["./lib/modules/" kernel_name "/modules.order"]=1
- x["./lib/modules/" kernel_name "/modules.symbols"]=1
+ x["./kernel/modules/" kernel_name "/modules.alias"]=1
+ x["./kernel/modules/" kernel_name "/modules.builtin"]=1
+ x["./kernel/modules/" kernel_name "/modules.dep"]=1
+ x["./kernel/modules/" kernel_name "/modules.order"]=1
+ x["./kernel/modules/" kernel_name "/modules.symbols"]=1
}
function r1(s) {
@@ -69,7 +69,12 @@ $1!="."{exit 1}
$2 == "boot" { link($0); next }
-$2 == "lib" && $3 == "modules" { exit 3 } # TODO move to better location
+$2 == "lib" && $3 == "modules" { exit 3 } # make sure kernel modules do not mix with userspace libraries
+function mod_path(s) {
+ sub("^[.]/kernel/lib/", "./kernel/", s)
+ return s
+}
+$2 == "kernel" && $2 == "lib" && $3 == "modules" { link(mod_path($0)) }
$2 == "command" { link($0); next }
$2 == "bin" { link(s1("command", $0)); next }
diff --git a/variants/root-x86_64/linux-qemu-guest b/variants/root-x86_64/linux-qemu-guest
@@ -32,9 +32,9 @@ mkdir -p "$installdir/doc/linux" "$installdir/boot"
cp -v .config "$installdir/config"
mv Documentation/* "$installdir/doc/linux"
make modules_install install \
- INSTALL_MOD_PATH="$installdir" \
+ INSTALL_MOD_PATH="$installdir/kernel" \
INSTALL_MOD_STRIP=1 \
- INSTALL_PATH="$installdir"/boot \
+ INSTALL_PATH="$installdir/boot" \
INSTALL_DTBS_PATH="$installdir/boot/dtbs"
cd "$pthbs_destdir/versions/$pthbs_package"
@@ -43,11 +43,11 @@ BEGIN {
kernel_name="6.15.0"
x["./boot/vmlinuz"]=1
x["./boot/System.map"]=1
- x["./lib/modules/" kernel_name "/modules.alias"]=1
- x["./lib/modules/" kernel_name "/modules.builtin"]=1
- x["./lib/modules/" kernel_name "/modules.dep"]=1
- x["./lib/modules/" kernel_name "/modules.order"]=1
- x["./lib/modules/" kernel_name "/modules.symbols"]=1
+ x["./kernel/modules/" kernel_name "/modules.alias"]=1
+ x["./kernel/modules/" kernel_name "/modules.builtin"]=1
+ x["./kernel/modules/" kernel_name "/modules.dep"]=1
+ x["./kernel/modules/" kernel_name "/modules.order"]=1
+ x["./kernel/modules/" kernel_name "/modules.symbols"]=1
}
function r1(s) {
@@ -67,7 +67,12 @@ $1!="."{exit 1}
$2 == "boot" { link($0); next }
-$2 == "lib" && $3 == "modules" { exit 3 } # TODO move to better location
+$2 == "lib" && $3 == "modules" { exit 3 } # make sure kernel modules do not mix with userspace libraries
+function mod_path(s) {
+ sub("^[.]/kernel/lib/", "./kernel/", s)
+ return s
+}
+$2 == "kernel" && $2 == "lib" && $3 == "modules" { link(mod_path($0)) }
$2 == "command" { link($0); next }
$2 == "bin" { link(s1("command", $0)); next }
diff --git a/variants/root-x86_64/vm.environment b/variants/root-x86_64/vm.environment
@@ -1,2 +1,2 @@
#!/usr/bin/env pthbs-build
-#+linux-qemu-guest.90e05282ac7dc9bf6831ccb2932e2f2d37900d2b52bd65ec8cf8e909f0d2fb54-
\ No newline at end of file
+#+linux-qemu-guest.535f5031e7ac0b6d3c836db891371abc2c25cf51e6abbfd764700c673dd78cb2+
\ No newline at end of file