7

I need to use a custom kernel option at compile time (ACPI_REV_OVERRIDE_POSSIBLE) in order for my graphical card to work correctly with bumblebeed and nvidia drivers on my Dell XPS 15 9560. I'm using ArchLinux. Every few days, there is a new kernel release (4.11.5, 4.11.6, ...).

How should I handle those kernel updates ? Do I need to recompile the kernel manually each time ? (I made a small script to accelerate the process, but some stuff still need to be done manually, and it take a REALLY LONG TIME to compile). Is it possible to automate the process such as each time a kernel update shows in, the package manager compiles the kernel itself with the option I specified ? Or with a script ?

11
  • Is it possible to use a custom kernel command line parameter on a 'vanilla' kernel?
    – jc__
    Jun 21, 2017 at 16:55
  • Well, you can use a custom kernel command parameter off course. However, I need the parameter acpi_rev_override=1 and it doesn't work if the kernel hadn't been compiled with ACPI_REV_OVERRIDE_POSSIBLE=y option. Linux kernel doesn't seem to ship with this option enabled by default (4.11.6), unfortunatly.
    – tourdetour
    Jun 21, 2017 at 18:11
  • 1
    I ran zcat /proc/config.gs | grep CONFIG_ACPI_OVERRIDE_POSSIBLE on my Arch machine and it shows that the option is enabled on 4.11.6. Might want to check that on your machine as well.
    – Munir
    Jun 21, 2017 at 18:16
  • 1
    @user4838962 Sorry made a typo...it is /proc/config.gz not gs. If that file doesn't exist, you can check if the config file is present in /boot. That should be plain text, so no need for zcat. There might be multiple config files, so you'll have to identify the right one by running uname
    – Munir
    Jun 21, 2017 at 18:37
  • 1
    @user4838962 It might not be present if Ubuntu made changes to the kernel. You should check with Ubuntu regarding that. Also, the option is CONFIG_ACPI_REV_OVERRIDE_POSSIBLE...making too many typos today.
    – Munir
    Jun 21, 2017 at 18:57

1 Answer 1

1

That config line should exist in the /proc/config.gz file of any kernel you previously configured it in. You could do what I do, in a two-liner, on my Gentoo systems:

su -
cd /usr/src && cp -a linux-<new version> /dev/shm/ && ln -s /dev/shm/linux-<new version> linux && cd linux && zcat /proc/config.gz > .config && make olddefconfig && make -j<numcpus+1> bzImage modules && mount /boot && make modules_install install && grub-mkconfig > /boot/grub/grub.cfg && sync && reboot -hi

I'm typing this from memory on my mobile right now, and I always goof on the order of 'ln', and it might be "defoldconfig". But, basicallly, that's what I do every time. Works for me. :) YMMV. I'll edit later with corrections once I get a good terminal and shell. :)

I always compile on tmpfs, because nothing on a system is faster and more resilient to write-rot than RAM.

Check out 'make help' output when run in the kernel source directory for references, and the yummy Gentoo Wiki for even more good info.

https://wiki.gentoo.org/wiki/Kernel/Upgrade/ https://wiki.gentoo.org/wiki/GRUB2

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .