Package Base Details: linux-clear

Git Clone URL: https://aur.archlinux.org/linux-clear.git (read-only, click to copy)
Keywords: clear clearlinux intel kernel
Submitter: metak
Maintainer: metak
Last Packager: metak
Votes: 71
Popularity: 1.74
First Submitted: 2018-01-18 21:47 (UTC)
Last Updated: 2024-04-18 17:48 (UTC)

Pinned Comments

metak commented on 2022-03-27 13:44 (UTC) (edited on 2022-04-02 13:20 (UTC) by metak)

The PKGBUILD file supports a few different configurable build-time options:
  • _makenconfig Tweak kernel options prior to a build via nconfig. Pseudo-graphical menu based on ncurses. 1 2
  • _localmodcfg Only compile active modules to VASTLY reduce the number of modules built and the build time.
  • Please read arch wiki page for detailed explanation on how to use it.
  • _subarch Enable additional optimization/tuning for kernel builds by adding more micro-architectures options. Default is Generic-x86-64 number 36 if nothing else is selected.
  • PKGBUILD file with the list of architectures
  • graysky kernel_compiler_patch
  • _use_current Use the current kernel's .config file. Enabling this option will use the .config of the RUNNING kernel rather than the ARCH defaults. Useful when the package gets updated and you already went through the trouble of customizing your config options. NOT recommended when a new kernel is released, but again, convenient for package bumps.
  • _use_llvm_lto Compile the kernel with LLVM/Clang.
  • _debug Enable y some additional debug features present in arch kernel, but not in Clear upstream. n to force disable or leave empty to ignore.
Lastly, build the kernel by setting your environment variable env _subarch=40 _localmodcfg=y.

metak commented on 2018-01-22 01:49 (UTC) (edited on 2021-12-01 12:47 (UTC) by metak)

1. Binaries available in my repo: http://download.opensuse.org/repositories/home:/metakcahura:/kernel/Arch_Extra_standard/x86_64/
[home_metakcahura_kernel_Arch_Extra_standard]
SigLevel = Never
Server = http://download.opensuse.org/repositories/home:/metakcahura:/kernel/Arch_Extra_standard/$arch
THIS IS OPTIONAL:
2. After install adjust your boot cmd line. ClearLinux uses clr-boot-manager which takes care of that. This is upstream default:
quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests initcall_debug intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1 rootfstype=ext4,btrfs,xfs,f2fs tsc=reliable rw 

Latest Comments

« First ‹ Previous 1 .. 3 4 5 6 7 8 9 10 11 12 13 .. 47 Next › Last »

rayzorben commented on 2022-03-30 16:53 (UTC)

@metak thanks for your work, having the options listed is very helpful. For somebody new coming to this project, it will be very beneficial.

Regarding _debug it looks like you check if it is set, and then enable the proper debug kernel flags. As far as I understand, the issue with btfids is because the default arch kernel has these on, and when we use _use_current it is pulling in those options even if they aren't enabled in clear. Because those are set, you need to run resolve_btfids.

I am thinking that this is one of those 'tradeoffs' of debug vs performance. I might want to disable these. If I pass _debug=n do you think you could disable these kernel flags instead of enabling them if it is set?

I know I could use _makenconfig to disable these, but then if I ever have to boot standard arch kernel and compile linux-clear I will likely forget and miss them again.

metak commented on 2022-03-27 13:59 (UTC)

@rayzorben resolve_btfids should be resolved with the latest update where I've added _debug option which enables some basic debug options.

Those are the default Clear linux boot parameters. I pasted it here for refference only, the kernel should boot just fine without any modifications. SERIAL_8250

metak commented on 2022-03-27 13:44 (UTC) (edited on 2022-04-02 13:20 (UTC) by metak)

The PKGBUILD file supports a few different configurable build-time options:
  • _makenconfig Tweak kernel options prior to a build via nconfig. Pseudo-graphical menu based on ncurses. 1 2
  • _localmodcfg Only compile active modules to VASTLY reduce the number of modules built and the build time.
  • Please read arch wiki page for detailed explanation on how to use it.
  • _subarch Enable additional optimization/tuning for kernel builds by adding more micro-architectures options. Default is Generic-x86-64 number 36 if nothing else is selected.
  • PKGBUILD file with the list of architectures
  • graysky kernel_compiler_patch
  • _use_current Use the current kernel's .config file. Enabling this option will use the .config of the RUNNING kernel rather than the ARCH defaults. Useful when the package gets updated and you already went through the trouble of customizing your config options. NOT recommended when a new kernel is released, but again, convenient for package bumps.
  • _use_llvm_lto Compile the kernel with LLVM/Clang.
  • _debug Enable y some additional debug features present in arch kernel, but not in Clear upstream. n to force disable or leave empty to ignore.
Lastly, build the kernel by setting your environment variable env _subarch=40 _localmodcfg=y.

rayzorben commented on 2022-03-27 04:57 (UTC) (edited on 2022-03-27 04:59 (UTC) by rayzorben)

I also had the resolve_btfids issue. I had it working, but when upgrading the kernel I forgot to modify the PKGBUILD and next thing you know, no dkms modules were installing.

Would be nice to have a _use_resolve_btfids option, or check for the correct kernel option if it is enabled and call it.

Also to note, what is the console=tty0 console=ttyS0,115200n8 line about? I had an issue with fstab, and nothing was being output during boot even with quiet removed. When I removed those I was able to see what it was outputting. This may make boot faster because its not dumping what it is doing to the screen but it made it a pain to debug.

metak commented on 2022-03-15 19:55 (UTC)

@rayzorben You should boot the default arch kernel, plug in all your devices so it loads appropriate modules and then create modprobe.db. It seems like something might be missing in your build and that's why bluetooth is not working? As for the options, I'll add some description in the future.

rayzorben commented on 2022-03-13 16:37 (UTC)

Would love to see some basic instructions pinned with what the options are. I discovered them through the PKGBUILD but still wasn't sure what to do with them.

That being said, I had a few trial and errors regardless. I felt like env _subarch=35 _localmodcfg=y _use_current=y would be the best combo while running my fully functioning system. However it seems that _localmodcfg for some reason is causing issues with bluetooth. Bluetooth was there, it could see devices, it said my mouse was connected, but it would not work. Rebuilding without _localmodcfg works though.

xuanruiqi commented on 2022-01-22 14:57 (UTC) (edited on 2022-01-22 15:11 (UTC) by xuanruiqi)

OK, turning debug info off works.

(Maybe because I have CONFIG_DEBUG_INFO_BTF turned on in my kernel config which causes resolve_btfids to be called during DKMS build. Let me try turning most debug options off.)

metak commented on 2022-01-22 12:41 (UTC)

@xuanruiqi After testing nvidia-dkms I couldn't reproduce it. It builds fine (gcc & llvm). It's definitely something on your system that's causing this. Try building in clean environment?

xuanruiqi commented on 2022-01-22 08:03 (UTC)

I was building nvidia-dkms. Some modules like nvidia need btf info to build properly, so maybe you want to put it under an option or something like that. AFAIK a lot of people use nvidia-dkms.