Package Details: linux-nitrous-fire 6.1.10-1

Git Clone URL: https://aur.archlinux.org/linux-nitrous-fire.git (read-only, click to copy)
Package Base: linux-nitrous-fire
Description: Modified Linux kernel optimized for Skylake and newer, compiled using clang, sacrificing security for performance. The 'nitrous-fire' kernel is insecure, only use it if you need the performance.
Upstream URL: https://gitlab.com/xdevs23/linux-nitrous
Keywords: insecure no-mitigations optimized performance speed
Licenses: GPL2
Provides: NTFS3-MODULE
Submitter: superboringdev
Maintainer: superboringdev (n0m4n904)
Last Packager: superboringdev
Votes: 1
Popularity: 0.000000
First Submitted: 2020-05-04 21:00 (UTC)
Last Updated: 2023-02-06 18:31 (UTC)

Pinned Comments

superboringdev commented on 2020-05-04 21:32 (UTC) (edited on 2021-07-01 20:05 (UTC) by superboringdev)

Note that this is not a secure kernel. It has things disabled that mitigate security bugs in the processor (for example retpoline, spectre/meltdown mitigation etc.) and some things tuned here and there. Do not use this on servers or on machines where security is important.

It looks like not many people are using this and thus the binary packages are not going to be available anymore. This will need to be built from source.

Latest Comments

1 2 Next › Last »

superboringdev commented on 2022-12-20 21:09 (UTC)

@Technetium1 thank you. I've updated the PKGBUILD and it will be available upon next release.

Technetium1 commented on 2022-12-20 19:05 (UTC)

Missing lzop in makedepends to build in clean chroot.

pipes80 commented on 2022-04-03 13:40 (UTC)

i have problem to install this kernel with nvidia module, these module cannot install

superboringdev commented on 2021-09-10 22:27 (UTC)

@tam1m Perfect, that's great. Thanks for letting me know.

tam1m commented on 2021-09-10 16:51 (UTC)

@superboringdev Yes, this works! Thank you!

superboringdev commented on 2021-09-10 16:34 (UTC)

@tam1m

Thank you for explaining and providing a patch! I applied the patch. Please test if it works for you.

tam1m commented on 2021-09-10 12:17 (UTC) (edited on 2021-09-10 12:36 (UTC) by tam1m)

@superboringdev

Thank you! But in order for this to really work, there are some more changes needed. I looked through the code of mkinitcpio and booster and found, that both of them come with install/remove hooks for kernel packages.

They both look for usr/lib/modules/*/vmlinuz on install/remove/upgrade and execute their respective scripts, which generate the initramfs images and copy vmlinuz to /boot. Dracut doesn't come with any pacman hooks itself, but the wiki describes how to set those up and these are working the same way. Also systemd seems to expect this (see https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344) .It also seems to be expected, that there is a usr/lib/modules/*/pkgbase which just holds the content if $pkgbase (in this case linux-nitrous-fire).

Setup like this, the initramfs generators will do all the work from copying vmlinuz to /boot to generating the initramfs and the reverse on uninstall. I tested this with mkinitcpio and booster and it seems to work nicely. I don't have dracut setup, but it should work aswell.

Here is a small patch with the changes need for PKGBUILD and linux-nitrous-fire.install.

diff --git a/PKGBUILD b/PKGBUILD
index 7088d72..b7aaea3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -89,7 +89,17 @@ _package() {

   mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot}
   $make_env_variant INSTALL_MOD_PATH="${pkgdir}" modules_install
-  cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${__kernelname}"
+
+  local modulesdir="$pkgdir/lib/modules/${_kernver}"
+
+  echo "Installing boot image..."
+  # systemd expects to find the kernel here to allow hibernation
+  # https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
+  # Also initramfs generators are using this for install/remove/upgrade detection
+  install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz"
+
+  # Used by mkinitcpio to name the kernel
+  echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"

   # set correct depmod command for install
   cp -f "${startdir}/${install}" "${startdir}/${install}.pkg"
diff --git a/linux-nitrous-fire.install b/linux-nitrous-fire.install
index 0ca7cbd..983bdd6 100644
--- a/linux-nitrous-fire.install
+++ b/linux-nitrous-fire.install
@@ -5,17 +5,11 @@ KERNEL_NAME=
 KERNEL_VERSION=

 post_install () {
-    echo ">>> Generating kernel initramfs..."
-    mkinitcpio -p ${KERNEL_NAME}
+    echo ">>> Don't forget to generate kernel initramfs, if this is not done automatically by your initramfs generator!"
 }

 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
-
-  echo ">>> Generating kernel initramfs..."
-  mkinitcpio -p ${KERNEL_NAME}
+  echo ">>> Don't forget to generate kernel initramfs, if this is not done automatically by your initramfs generator!"

   if [ $(vercmp $2 3.13) -lt 0 ]; then
     echo ">>> WARNING: AT keyboard support is no longer built into the kernel."
@@ -24,8 +18,4 @@ post_upgrade() {
   fi
 }

-post_remove() {
-  # also remove the compat symlinks
-  rm -f boot/initramfs-linux${KERNEL_NAME}.img
-  rm -f boot/initramfs-linux${KERNEL_NAME}-fallback.img
-}
+

superboringdev commented on 2021-09-09 23:01 (UTC)

@tam1m sure, I'll change that

tam1m commented on 2021-09-09 12:14 (UTC) (edited on 2021-09-09 12:14 (UTC) by tam1m)

Can we depend on initramfs instead of mkinitcpio directly? That way any tool providing initramfs can be used.

See https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=linux-xanmod#n209 for example

simona commented on 2021-07-08 07:54 (UTC)

now perfect. thx.