@Osleg Moved acpi_rev_override as a choice. As for those additional patches, I don't know, this kernel is meant for newer intel skylake processors...
Search Criteria
Package Details: linux-clear 6.13.9-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/linux-clear.git (read-only, click to copy) |
---|---|
Package Base: | linux-clear |
Description: | Linux kernel with patches from Clear Linux which allow for higher performance. This package includes the kernel and compiled modules. |
Upstream URL: | https://git.staropensource.de/JeremyStarTM/aur-linux-clear |
Keywords: | clear clearlinux intel kernel linux |
Licenses: | GPL-2.0-only |
Provides: | KSMBD-MODULE, VIRTUALBOX-GUEST-MODULES, WIREGUARD-MODULE |
Submitter: | metak |
Maintainer: | JeremyStarTM |
Last Packager: | JeremyStarTM |
Votes: | 74 |
Popularity: | 0.49 |
First Submitted: | 2018-01-18 21:47 (UTC) |
Last Updated: | 2025-04-04 21:08 (UTC) |
Dependencies (16)
- coreutils (coreutils-gitAUR, coreutils-uutilsAUR, coreutils-selinuxAUR, coreutils-uutils-symlinkAUR)
- initramfs (booster-gitAUR, booster-wip-gitAUR, dracut-gitAUR, mkinitcpio-gitAUR, booster, dracut, mkinitcpio)
- kmod (kmod-gitAUR)
- bc (bc-ghAUR) (make)
- cpio (cpio-gitAUR) (make)
- gettext (gettext-gitAUR) (make)
- git (git-gitAUR, git-glAUR) (make)
- libelf (elfutils-gitAUR) (make)
- pahole (pahole-gitAUR) (make)
- perl (perl-gitAUR) (make)
- python (python37AUR, python311AUR, python310AUR) (make)
- tar (tar-gitAUR) (make)
- xz (xz-gitAUR) (make)
- zstd (zstd-gitAUR, zstd-staticAUR) (make)
- linux-firmware (linux-libre-firmwareAUR, linux-firmware-uncompressedAUR, linux-firmware-gitAUR) (optional) – firmware images needed for some devices
- wireless-regdb (optional) – to set the correct wireless channels of your country
Required by (6)
- ksmbd-tools (requires KSMBD-MODULE)
- mullvad-wg.sh-git (requires WIREGUARD-MODULE) (optional)
- piavpn-bin (requires WIREGUARD-MODULE) (optional)
- piavpn-manual-git (requires WIREGUARD-MODULE)
- virtualbox-guest-utils-nox-svn (requires VIRTUALBOX-GUEST-MODULES)
- virtualbox-guest-utils-svn (requires VIRTUALBOX-GUEST-MODULES)
Sources (5)
Latest Comments
« First ‹ Previous 1 .. 44 45 46 47 48 49 50 51 52 Next › Last »
metak commented on 2018-05-07 19:46 (UTC) (edited on 2018-06-05 00:32 (UTC) by metak)
Osleg commented on 2018-05-02 02:16 (UTC)
@metak I'm not sure it should be enabled by default as this is rarely used. Tho on the other hand vanilla kernel has it enabled so I don't know which approach would be better. imho tho providing prompts to enable/disable features like it happens in linux-ck, including the -mnative builds requested below would be the best option to allow every user to chose the options he needs the most.
metak commented on 2018-05-01 07:26 (UTC)
@enihcam I'll take a look and maybe I'll add it in as an option if it's not a problem.
enihcam commented on 2018-04-27 23:56 (UTC) (edited on 2018-04-28 00:05 (UTC) by enihcam)
This is a great kernel.
Suggestions: 1. Users should have a change to nconfig the kernel before build. 2. To allow -mnative build, please apply the patch enable_additional_cpu_optimizations_for_gcc.tar.gz
Please refer to https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=linux-ck
metak commented on 2018-04-24 16:17 (UTC)
@stephencox Sorry, somehow I missed the part where you said you can't boot with clear kernel. (facepalm)
@Osleg I've enabled CONFIG_ACPI_REV_OVERRIDE_POSSIBLE
by default if it'll make life a bit easier?
Osleg commented on 2018-04-24 10:36 (UTC)
@stephencox
I'm not sure that this is indeed the case but could you try to add nvidia
to modprobe.blacklist
and see if you can boot your microserver?
Osleg commented on 2018-04-22 21:42 (UTC)
I found what was causing problem in my setup.
My laptop have nvidia discreet card and I'm using bbswitch to turn it off.
For bbswitch to work I have to set acpi_rev_override=1
to kernel parameters but linux-clear
compiled without CONFIG_ACPI_REV_OVERRIDE_POSSIBLE
.
I have updated PKGBUILD to have the key to optionally enable it
# Maintainer: Josip Ponjavic <josipponjavic at gmail dot com>
# Contributor:
pkgbase=linux-clear
__basekernel=4.16
_minor=3
pkgver=${__basekernel}.${_minor}
_clearver=${__basekernel}.2-552
pkgrel=2
arch=('x86_64')
url="https://github.com/clearlinux-pkgs/linux"
license=('GPL2')
makedepends=('bc' 'git' 'inetutils' 'kmod' 'libelf' 'linux-firmware' 'xmlto')
options=('!strip')
# If you have laptop with optimus and it hangs on boot one solution might be
# to set acpi_rev_override. Yet for this to happen kernel should be compiled
# with `CONFIG_ACPI_REV_OVERRIDE_POSSIBLE`. Set next variable to `y` to enable.
_rev_override="y"
source=(
"https://www.kernel.org/pub/linux/kernel/v4.x/linux-${__basekernel}.tar.xz"
"https://www.kernel.org/pub/linux/kernel/v4.x/linux-${__basekernel}.tar.sign"
"https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz"
"https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.sign"
"clearlinux::git+https://github.com/clearlinux-pkgs/linux.git#tag=${_clearver}"
'https://downloadmirror.intel.com/27591/eng/microcode-20180312.tgz'
'60-linux.hook' # pacman hook for depmod
'90-linux.hook' # pacman hook for initramfs regeneration
'99-linux.hook' # pacman hook for remove initramfs
'linux.preset' # standard config files for mkinitcpio ramdisk
)
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
sha256sums=('63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9'
'SKIP'
'336252cb15f2f2574461c1d3daabf5dc207842526085802270e1e5223f645db3'
'SKIP'
'SKIP'
'0b381face2df1b0a829dc4fa8fa93f47f39e11b1c9c22ebd44f8614657c1e779'
'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
'75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
'5f6ba52aaa528c4fa4b1dc097e8930fad0470d7ac489afcb13313f289ca32184'
'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65')
_kernelname=${pkgbase#linux}
prepare() {
cd linux-${__basekernel}
# add upstream patch
patch -p1 -i ../patch-${pkgver}
cp -Tf $srcdir/clearlinux/config .config
cp -a /usr/lib/firmware/i915 firmware/
cp -a ${srcdir}/intel-ucode firmware/
rm -f firmware/intel-ucode/0f*
# Apply clearlinux patches
for i in $(grep '^Patch' ${srcdir}/clearlinux/linux.spec | grep -Ev '^Patch0115|^Patch0410|^Patch0500|^Patch200' | sed -n 's/.*: //p'); do
msg "Applying ${i}"
patch -p1 -i "$srcdir/clearlinux/${i}"
done
if [ "${_kernelname}" != "" ]; then
sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" ./.config
fi
# set extraversion to pkgrel and empty localversion
sed -e "/^EXTRAVERSION =/s/=.*/= -${pkgrel}/" \
-e "/^EXTRAVERSION =/aLOCALVERSION =" \
-i Makefile
# set ACPI_REV_OVERRIDE_POSSIBLE to prevent optimus lockup
if [ "${_rev_override}" = "y" ]; then
sed -i "s|# CONFIG_ACPI_REV_OVERRIDE_POSSIBLE is not set|CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y|g" ./.config
fi
# don't run depmod on 'make install'. We'll do this ourselves in packaging
sed -i '2iexit 0' scripts/depmod.sh
make olddefconfig
}
build() {
cd linux-${__basekernel}
make bzImage modules
}
_package() {
pkgdesc="The ${pkgbase/linux/Linux} kernel and modules"
depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7')
optdepends=('crda: to set the correct wireless channels of your country')
backup=("etc/mkinitcpio.d/${pkgbase}.preset")
install=linux.install
cd linux-${__basekernel}
# get kernel version
_kernver="$(make kernelrelease)"
_basekernel=${_kernver%%-*}
_basekernel=${_basekernel%.*}
mkdir -p "${pkgdir}"/{boot,usr/lib/modules}
make INSTALL_MOD_PATH="${pkgdir}/usr" modules_install
cp arch/x86/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}"
# make room for external modules
local _extramodules="extramodules-${_basekernel}${_kernelname:--ARCH}"
ln -s "../${_extramodules}" "${pkgdir}/usr/lib/modules/${_kernver}/extramodules"
# add real version for building modules and running depmod from hook
echo "${_kernver}" |
install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modules/${_extramodules}/version"
# remove build and source links
rm "${pkgdir}"/usr/lib/modules/${_kernver}/{source,build}
# now we call depmod...
depmod -b "${pkgdir}/usr" -F System.map "${_kernver}"
# add vmlinux
install -Dt "${pkgdir}/usr/lib/modules/${_kernver}/build" -m644 vmlinux
# sed expression for following substitutions
local _subst="
s|%PKGBASE%|${pkgbase}|g
s|%KERNVER%|${_kernver}|g
s|%EXTRAMODULES%|${_extramodules}|g
"
# hack to allow specifying an initially nonexisting install file
sed "${_subst}" "${startdir}/${install}" > "${startdir}/${install}.pkg"
true && install=${install}.pkg
# install mkinitcpio preset file
sed "${_subst}" ../linux.preset |
install -Dm644 /dev/stdin "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
# install pacman hooks
sed "${_subst}" ../60-linux.hook |
install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/60-${pkgbase}.hook"
sed "${_subst}" ../90-linux.hook |
install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/90-${pkgbase}.hook"
sed "${_subst}" ../99-linux.hook |
install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/99-${pkgbase}.hook"
}
_package-headers() {
pkgdesc="Header files and scripts for building modules for ${pkgbase/linux/Linux} kernel"
cd linux-${__basekernel}
local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build"
install -Dt "${_builddir}" -m644 Makefile .config Module.symvers
install -Dt "${_builddir}/kernel" -m644 kernel/Makefile
mkdir "${_builddir}/.tmp_versions"
cp -t "${_builddir}" -a include scripts
install -Dt "${_builddir}/arch/x86" -m644 arch/x86/Makefile
install -Dt "${_builddir}/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s
cp -t "${_builddir}/arch/x86" -a arch/x86/include
install -Dt "${_builddir}/drivers/md" -m644 drivers/md/*.h
install -Dt "${_builddir}/net/mac80211" -m644 net/mac80211/*.h
# http://bugs.archlinux.org/task/13146
install -Dt "${_builddir}/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
# http://bugs.archlinux.org/task/20402
install -Dt "${_builddir}/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
install -Dt "${_builddir}/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
install -Dt "${_builddir}/drivers/media/tuners" -m644 drivers/media/tuners/*.h
# add xfs and shmem for aufs building
mkdir -p "${_builddir}"/{fs/xfs,mm}
# copy in Kconfig files
find . -name Kconfig\* -exec install -Dm644 {} "${_builddir}/{}" \;
# add objtool for external module building and enabled VALIDATION_STACK option
install -Dt "${_builddir}/tools/objtool" tools/objtool/objtool
# remove unneeded architectures
local _arch
for _arch in "${_builddir}"/arch/*/; do
[[ ${_arch} == */x86/ ]] && continue
rm -r "${_arch}"
done
# remove files already in linux-docs package
rm -r "${_builddir}/Documentation"
# remove now broken symlinks
find -L "${_builddir}" -type l -printf 'Removing %P\n' -delete
# Fix permissions
chmod -R u=rwX,go=rX "${_builddir}"
# strip scripts directory
local _binary _strip
while read -rd '' _binary; do
case "$(file -bi "${_binary}")" in
*application/x-sharedlib*) _strip="${STRIP_SHARED}" ;; # Libraries (.so)
*application/x-archive*) _strip="${STRIP_STATIC}" ;; # Libraries (.a)
*application/x-executable*) _strip="${STRIP_BINARIES}" ;; # Binaries
*) continue ;;
esac
/usr/bin/strip ${_strip} "${_binary}"
done < <(find "${_builddir}/scripts" -type f -perm -u+w -print0 2>/dev/null)
}
_package-docs() {
pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase/linux/Linux} kernel"
cd linux-${__basekernel}
local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build"
mkdir -p "${_builddir}"
cp -t "${_builddir}" -a Documentation
# Fix permissions
chmod -R u=rwX,go=rX "${_builddir}"
}
pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-docs")
for _p in ${pkgname[@]}; do
eval "package_${_p}() {
$(declare -f "_package${_p#${pkgbase}}")
_package${_p#${pkgbase}}
}"
done
# vim:set ts=8 sts=2 sw=2 et:
stephencox commented on 2018-04-22 18:39 (UTC)
@metak, I can't boot linux-clear at all on my hp microserver. The lsmod is from linux-mainline which boots. What is the likelyhood of a combination of the default kernel and linux-clear?
metak commented on 2018-04-22 15:32 (UTC) (edited on 2018-04-22 15:32 (UTC) by metak)
@stephencox I'm just packaging this as it is upstream and they are not making this to be a generic kernel, hence many things are not enabled. Like your wifi module.
Have you tried booting in default arch kernel and running lsmod and then compare that to clr kernel? Maybe you need something else that's not enabled in this kernel by default?
Pinned Comments
JeremyStarTM commented on 2024-08-06 19:37 (UTC) (edited on 2025-02-03 12:44 (UTC) by JeremyStarTM)
Information comment
This comment provides useful information about this package. Make sure to read it through, you won't regret it.
Repository URL
This package is hosted at sos!git. If you want to contribute to the package, you can do it here: https://git.staropensource.de/JeremyStarTM/aur-linux-clear
Issue handling
Please only submit issues in the package's repository if they aren't bug reports about the package or help requests. Please keep them to the AUR only. This prevents unnecessary signups.
Updates
I usually publish updates 0-3 days after a kernel release, depending on how busy I am.
If I however get wind of security-relevant updates or any vulnerabilities I will try to update the kernel as soon as possible and write a comment about the vulnerability/update. So make sure to subscribe to this package's comment mailing list.
PKGBUILD environment variable customization
The PKGBUILD file supports customization via environment variables. Here's a list of all of them:
-
_makemenuconfig
: Invokesmake menuconfig
(ncurses-based default configuration menu) before compilation starts-
_makenconfig
: Invokesmake nconfig
(ncurses-based nicer configuration menu) before compilation starts-
_makexconfig
: Invokesmake xconfig
(X11-based GUI configuration menu) before compilation starts-
_use_current
: Will use the configuration of the running kernel, if the running kernel is compiled withIKCONFIG_PROC
-
_optimize_defconfig
: Applies package maintainer-picked configuration changes to your defconfig. Only takes effect with_use_current
being enabled-
_copyfinalconfig
: Copies the final kernel configuration into the repository root askconfig-new
before compilation starts-
_localmodcfg
: Only compiles modules found in modprobed-db's database (which decreases compilation time and kernel size)-
_use_llvm_lto
: Compiles the kernel with LLVM instead of GCC. Should work, if not open an issue-
_subarch
: Specifies the subarchitecture to compile for (see the PKGBUILD file for a list of all subarches). Default is41
/MGENERIC_CPU
(Generic x86-64), which is compatible with all amd64 processors. Must be a number or subarch name-
_subarch_microarch
: Specifies the microarchitecture to compile for. Only applies to and is required by theMGENERIC_CPU
subarch. Must be a number between1
and4
(click for more information)-
_debug
: Force enables debug options when set toy
, force disables debug options when set ton
or uses the config defaults when unset-
_show_compile
: Enables verbose-er compilation output and displays all executingmake
targets. Enabled by default, unset for 'pv' outputAll of these variables just need to be set for them to apply, except for
_subarch
and_debug
. For more information please check their documentation inside thePKGBUILD
fileGPG errors
If makepkg complains about invalid PGP keys, try running this command first:
gpg --locate-keys torvalds@kernel.org gregkh@kernel.org sashal@kernel.org benh@debian.org
. This command only needs to be executed once.Build tool
If you want a dead simple way to compile this package, you can try out my build tool. It includes a few no nonsense changes to the kernel configuration and allows you to configure the PKGBUILD file in a simple manner and decrease build time. And if you don't want that, using
makepkg
as-is works fine too.