Make lib/modules/*/vmlinuz a copy instead of a link

This is a step towards allowing kernel-install or similar handling.
This commit is contained in:
Jan Alexander Steffens 2018-11-27 19:09:53 +00:00
parent 7450fbb539
commit 0e343ada18
2 changed files with 8 additions and 11 deletions

View File

@ -2,7 +2,7 @@
Type = File
Operation = Install
Operation = Upgrade
Target = boot/vmlinuz-%PKGBASE%
Target = usr/lib/modules/%KERNVER%/vmlinuz
Target = usr/lib/initcpio/*
[Action]

View File

@ -28,7 +28,7 @@ validpgpkeys=(
sha256sums=('SKIP'
'e7fa30bb2de12d1a2488423e27c00f26d55668e310e69aaf93673c1afd89dbaf'
'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
'75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
'c043f3033bb781e2688794a59f6d1f7ed49ef9b13eb77ff9a425df33a244a636'
'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65')
_kernelname=${pkgbase#linux}
@ -73,21 +73,18 @@ _package() {
install=linux.install
local kernver="$(<version)"
local modulesdir="$pkgdir/usr/lib/modules/$kernver"
cd $_srcname
msg2 "Installing boot image..."
local image="$pkgdir/boot/vmlinuz-$pkgbase"
install -Dm644 "$(make -s image_name)" "$image"
msg2 "Installing modules..."
local modulesdir="$pkgdir/usr/lib/modules/$kernver"
mkdir -p "$modulesdir"
make INSTALL_MOD_PATH="$pkgdir/usr" modules_install
# systemd expects to find the kernel here to allow hibernation
# https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
ln -sr "$image" "$modulesdir/vmlinuz"
install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz"
install -Dm644 "$modulesdir/vmlinuz" "$pkgdir/boot/vmlinuz-$pkgbase"
msg2 "Installing modules..."
make INSTALL_MOD_PATH="$pkgdir/usr" modules_install
# a place for external modules,
# with version file for building modules and running depmod from hook