summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernels/linux-libre-pae/99-linux.hook11
-rw-r--r--kernels/linux-libre-pae/PKGBUILD27
-rw-r--r--kernels/linux-libre-pae/linux.install40
-rw-r--r--kernels/linux-libre-pae/linux.preset8
4 files changed, 46 insertions, 40 deletions
diff --git a/kernels/linux-libre-pae/99-linux.hook b/kernels/linux-libre-pae/99-linux.hook
new file mode 100644
index 000000000..985115199
--- /dev/null
+++ b/kernels/linux-libre-pae/99-linux.hook
@@ -0,0 +1,11 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Target = boot/vmlinuz-%PKGBASE%
+Target = usr/lib/initcpio/*
+
+[Action]
+Description = Updating %PKGBASE% initcpios
+When = PostTransaction
+Exec = /usr/bin/mkinitcpio -p %PKGBASE%
diff --git a/kernels/linux-libre-pae/PKGBUILD b/kernels/linux-libre-pae/PKGBUILD
index c8014de68..21d1f6bc1 100644
--- a/kernels/linux-libre-pae/PKGBUILD
+++ b/kernels/linux-libre-pae/PKGBUILD
@@ -18,7 +18,7 @@ _replacesoldmodules=() # '%' gets replaced with _kernelname
_srcname=linux-${_pkgbasever%-*}
_archpkgver=${_pkgver%-*}
pkgver=${_pkgver//-/_}
-pkgrel=1
+pkgrel=2
arch=('i686')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
@@ -36,6 +36,8 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/li
"https://repo.parabola.nu/other/linux-libre/logos/logo_linux_vga16.ppm.sig"
# the main kernel config files
'config'
+ # pacman hook for initramfs regeneration
+ '99-linux.hook'
# standard config files for mkinitcpio ramdisk
'linux.preset'
'change-default-console-loglevel.patch'
@@ -52,7 +54,8 @@ sha256sums=('d54e0f8a27e24f3666c19b395c19dba194635db26929c89e78ffa4b2b0e8ca3a'
'6de8a8319271809ffdb072b68d53d155eef12438e6d04ff06a5a4db82c34fa8a'
'SKIP'
'4d1026e82d40cac4e217be0934fe40c6a85bf1e5ba87ceff75647a0e3f2e3d2f'
- 'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c'
+ '834bd254b56ab71d73f59b3221f056c72f559553c04718e350ab2a3e2991afe0'
+ 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
'1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99'
'0376bd5efa31d4e2a9d52558777cebd9f0941df8e1adab916c868bf0c05f2fc3'
'351fd96be8cd5ebd0435c0a8a978673fc023e3b1026085e67f86d815b2285e25')
@@ -149,21 +152,17 @@ _package() {
cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}"
# set correct depmod command for install
- cp -f "${startdir}/${install}" "${startdir}/${install}.pkg"
+ sed -e "s|%PKGBASE%|${pkgbase}|g;s|%KERNVER%|${_kernver}|g" \
+ "${startdir}/${install}" > "${startdir}/${install}.pkg"
true && install=${install}.pkg
- sed \
- -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/" \
- -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" \
- -i "${startdir}/${install}"
# install mkinitcpio preset file for kernel
- install -D -m644 "${srcdir}/linux.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
- sed \
- -e "1s|'linux.*'|'${pkgbase}'|" \
- -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgbase}\"|" \
- -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgbase}.img\"|" \
- -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgbase}-fallback.img\"|" \
- -i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
+ sed "s|%PKGBASE%|${pkgbase}|g" "${srcdir}/linux.preset" |
+ install -D -m644 /dev/stdin "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
+
+ # install pacman hook for initramfs regeneration
+ sed "s|%PKGBASE%|${pkgbase}|g" "${srcdir}/99-linux.hook" |
+ install -D -m644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/99-${pkgbase}.hook"
# remove build and source links
rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build}
diff --git a/kernels/linux-libre-pae/linux.install b/kernels/linux-libre-pae/linux.install
index 70e177ef2..97a2a8133 100644
--- a/kernels/linux-libre-pae/linux.install
+++ b/kernels/linux-libre-pae/linux.install
@@ -1,37 +1,33 @@
-# arg 1: the new package version
-# arg 2: the old package version
-
-KERNEL_NAME=
-KERNEL_VERSION=
-
post_install () {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
- depmod ${KERNEL_VERSION}
- echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
- mkinitcpio -p linux-libre${KERNEL_NAME}
+ depmod %KERNVER%
+ if [ "$(uname -m)" = "armv7l" ]; then
+ echo ">>> WARNING: Using this kernel requires an updated U-Boot!"
+ fi
}
post_upgrade() {
- if findmnt --fstab -uno SOURCE /boot &>/dev/null && ! mountpoint -q /boot; then
- echo "WARNING: /boot appears to be a separate partition but is not mounted."
- fi
-
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
- depmod ${KERNEL_VERSION}
- echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
- mkinitcpio -p linux-libre${KERNEL_NAME}
+ depmod %KERNVER%
+ if [ "$(uname -m)" = "x86_64" ] || [ "$(uname -m)" = "i686" ]; then
+ if findmnt --fstab -uno SOURCE /boot &>/dev/null && ! mountpoint -q /boot; then
+ echo "WARNING: /boot appears to be a separate partition but is not mounted."
+ fi
- if [ $(vercmp $2 3.13) -lt 0 ]; then
- echo ">>> WARNING: AT keyboard support is no longer built into the kernel."
- echo ">>> In order to use your keyboard during early init, you MUST"
- echo ">>> include the 'keyboard' hook in your mkinitcpio.conf."
+ if [ $(vercmp $2 3.13) -lt 0 ]; then
+ echo ">>> WARNING: AT keyboard support is no longer built into the kernel."
+ echo ">>> In order to use your keyboard during early init, you MUST"
+ echo ">>> include the 'keyboard' hook in your mkinitcpio.conf."
+ fi
fi
}
+if [ "$(uname -m)" = "x86_64" ] || [ "$(uname -m)" = "i686" ]; then
post_remove() {
# also remove the compat symlinks
- rm -f boot/initramfs-linux-libre${KERNEL_NAME}.img
- rm -f boot/initramfs-linux-libre${KERNEL_NAME}-fallback.img
+ rm -f boot/initramfs-%PKGBASE%.img
+ rm -f boot/initramfs-%PKGBASE%-fallback.img
}
+fi
diff --git a/kernels/linux-libre-pae/linux.preset b/kernels/linux-libre-pae/linux.preset
index b06292d10..66709a8c1 100644
--- a/kernels/linux-libre-pae/linux.preset
+++ b/kernels/linux-libre-pae/linux.preset
@@ -1,14 +1,14 @@
-# mkinitcpio preset file for the 'linux' package
+# mkinitcpio preset file for the '%PKGBASE%' package
ALL_config="/etc/mkinitcpio.conf"
-ALL_kver="/boot/vmlinuz-linux"
+ALL_kver="/boot/vmlinuz-%PKGBASE%"
PRESETS=('default' 'fallback')
#default_config="/etc/mkinitcpio.conf"
-default_image="/boot/initramfs-linux.img"
+default_image="/boot/initramfs-%PKGBASE%.img"
#default_options=""
#fallback_config="/etc/mkinitcpio.conf"
-fallback_image="/boot/initramfs-linux-fallback.img"
+fallback_image="/boot/initramfs-%PKGBASE%-fallback.img"
fallback_options="-S autodetect"