SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I'm very much liking 5.10.x kernels and presently using 5.10.12 on latest Current. It's so good I tried installing it on 14.2 but it won't compile with the older gcc on 14.2. So I copied /usr/src/linux-5.10.12, lib/modules/5.10.12 (and firmware) and all the /boot files and it runs great BUT because of the wide variation in gcc I can't either rebuild 5.10.12 or install the nvidia driver. I may just have to resort to nouveau since older kernels and firmware don't recognize the new wifi hardware and a few other items on my Z490 board.
I'm very much liking 5.10. kernels and presently using 5.10.12 on latest Current. It's so good I tried installing it on 14.2 but it won't compile with the older gcc on 14.2. So I copied /usr/src/linux-5.10.12, lib/modules/5.10.12 (and firmware) and all the /boot files and it runs great BUT because of the wide variation in gcc I can't either rebuild 5.10.12 or install the nvidia driver. I may just have to resort to nouveau since older kernels and firmware don't recognize the new wifi hardware and a few other items on my Z490 board.
compiles and runs fine using the kernel config in Slackware64-current iso
slackware64/source/k/config-huge-5.10.13x64. ( I use huge kernel)
This has worked with the entire 5.10 series on Slackware64-14.2
I can't offer any more help than:
Make any backups or copy any kernels you wish to save
Code:
cp -pv slackware64/source/k/kernel-huge-5.10.?.x64 /usr/src/linux-5.10/.config
make oldconfig
make
make modules_install
cp -pv .config /boot/config-5.10.13
cp -pv System.map /boot/System.map-5.10.13
cp -pv arch/x86/boot/bzimage /boot/vmlinuz-5.10.13
# include next line if you use UEFI
cp -pv arch/x86/boot/bzimage /boot/efi/EFI/SLACKWARE/vmlinuz-5.10.13
adjust lilo or elilo.conf as you always do
reboot into your new kernel
HTH
john
Last edited by AlleyTrotter; 02-06-2021 at 11:56 AM.
Reason: specify which .config file is being used for 'make oldconfig' for clarity
Distribution: VM Host: Slackware-current, VM Guests: Artix, Venom, antiX, Gentoo, FreeBSD, OpenBSD, OpenIndiana
Posts: 1,008
Rep:
Quote:
Originally Posted by enorbet
I'm very much liking 5.10.x kernels and presently using 5.10.12 on latest Current. It's so good I tried installing it on 14.2 but it won't compile with the older gcc on 14.2. So I copied /usr/src/linux-5.10.12, lib/modules/5.10.12 (and firmware) and all the /boot files and it runs great BUT because of the wide variation in gcc I can't either rebuild 5.10.12 or install the nvidia driver. I may just have to resort to nouveau since older kernels and firmware don't recognize the new wifi hardware and a few other items on my Z490 board.
I wonder if you tried to install 5.10.x Slackware-current kernels (download packages and install?).
Your problem with nvidia will not be alleviated because you will have still different gcc versions used for kernel and nvidia modules of course but this may be easier to mantain if you decide to use nouveau for your nvidia video.
I use nouveau module and it works pretty well (I am not a gamer).
Quote:
make oldconfig
will not work because (as you mentioned) latest kernels refuse to compile with older versions of gcc and oldconfig is just a way to copy previous version of config file.
personally I don't see a point of recompiling default Slackware kernels.
latest kernels refuse to compile with older versions of gcc and oldconfig is just a way to copy previous version of config file.
personally.
First copy the new (current) config to .config then make oldconfig. Probably should have included that in my answer. I think i did say which kernel config you should use.
You are wrong about older versions of GCC.
Code:
/usr/bin/gcc --version
gcc (GCC) 5.5.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
head /usr/src/linux-5.10/.config
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 5.10.13 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (GCC) 5.5.0"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=50500
CONFIG_LD_VERSION=201827250000
CONFIG_CLANG_VERSION=0
CONFIG_LLD_VERSION=0
Slackware64-14.2 compiles and runs the 5.10 series just fine no problems.
I have compiled every one of them without problems on 14.2
HTH
john
Last edited by AlleyTrotter; 02-06-2021 at 12:03 PM.
Perhaps my problems stem from never using generic config (I dislike initrd) and using huge for a few minutes only before I custom build my own config. This rebuilding is important to me for my main system because I use it as a DAW and also game, so top performance in realtime is essential. 14.2 always booted and installed proprietary nvidia drivers just fine on drop in kernels from Current up until 5.10.2 and beyond. I'm coming to terms with the fact that Current has become my Main and I don't require extreme performance from 14.2 anymore. I'll work with this (thanks for the feedback guys) but it's not a top priority. I just like to keep order on my boxen.
I use the configs from current and constantly get the error when using build-all-kernels.sh on 14.2.
Code:
LD [M] fs/xfs/xfs.o
CC fs/locks.o
CC fs/binfmt_script.o
CC fs/binfmt_elf.o
CC fs/compat_binfmt_elf.o
CC fs/posix_acl.o
CC fs/coredump.o
CC fs/drop_caches.o
CC fs/fhandle.o
CC fs/dcookies.o
CC [M] fs/binfmt_misc.o
CC [M] fs/mbcache.o
AR fs/built-in.a
mv: cannot stat '/tmp/kernel-source-5.10.13-noarch-1.txz': No such file or directory
The important part and clue, I am guessing, is the running of kernel-source.SlackBuild.
If that is run, I would assume the kernel source txz would be built and put into /tmp (or ${TMP}).
So in build-all-kernels.sh it is assumed that the source txz exists and is trying to move it around.
Why it actually fails for you I cannot say anything too useful about, but it not existing for whatever reason would be the reason it does fail. If it is built, or at least tried to build, is perhaps /tmp running out of disk space?
Thanks
--
KarlMag
Last edited by karlmag; 02-06-2021 at 06:08 PM.
Reason: too many fails..
been using this and other help files to build kernels since 1998
I guess the SlackBuild from current may work on 14.2, but I prefer following the above guide.
I believe the original was written by Linus himself.
HTH
john
PS taint easy until you do it about hundred times, then it becomes second nature.
Last edited by AlleyTrotter; 02-07-2021 at 09:31 AM.
Reason: clarification on use of SlackBuild
Distribution: VM Host: Slackware-current, VM Guests: Artix, Venom, antiX, Gentoo, FreeBSD, OpenBSD, OpenIndiana
Posts: 1,008
Rep:
Quote:
Originally Posted by AlleyTrotter
First copy the new (current) config to .config then make oldconfig. Probably should have included that in my answer. I think i did say which kernel config you should use.
You are wrong about older versions of GCC.
Code:
/usr/bin/gcc --version
gcc (GCC) 5.5.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
head /usr/src/linux-5.10/.config
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 5.10.13 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (GCC) 5.5.0"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=50500
CONFIG_LD_VERSION=201827250000
CONFIG_CLANG_VERSION=0
CONFIG_LLD_VERSION=0
Slackware64-14.2 compiles and runs the 5.10 series just fine no problems.
I have compiled every one of them without problems on 14.2
HTH
john
this is the most convoluted way of building kernel that I have recently seen:
cp -pv slackware64/source/k/kernel-huge-5.10.?.x64 /usr/src/linux-5.10/.config
make oldconfig - not needed
make
make modules_install
cp -pv .config /boot/config-5.10.13 not needed
cp -pv System.map /boot/System.map-5.10.13 not needed
cp -pv arch/x86/boot/bzimage /boot/vmlinuz-5.10.13
# include next line if you use UEFI
cp -pv arch/x86/boot/bzimage /boot/efi/EFI/SLACKWARE/vmlinuz-5.10.13
just copy .config from the last kernel to the new kernel sources and build (although why re-compile huge, I am not sure really). Then copy bzImage to /boot or /boot/efi/EFI/Slackware
you did suggest also to use localmodconfig
unless you know what you do, you will end up without all the modules that are loaded on demand.
localmodconfig scans for loaded modules and includes these in the .config. If module is not loaded, it will not be added to the new .config file
@enorbet
I don't use initrd for Slackware. I did use in past nvidia, but too much trouble, so now I am happy with nouveau
The important part and clue, I am guessing, is the running of kernel-source.SlackBuild.
If that is run, I would assume the kernel source txz would be built and put into /tmp (or ${TMP}).
So in build-all-kernels.sh it is assumed that the source txz exists and is trying to move it around.
Why it actually fails for you I cannot say anything too useful about, but it not existing for whatever reason would be the reason it does fail. If it is built, or at least tried to build, is perhaps /tmp running out of disk space?
Thanks
--
KarlMag
Thanks, but I'm not running out of disk space. Its something in the config files because if I use the older configs from 5.4 everything compiles. Once I use the 5.10 configs I'm presented with the error message. So I added all the changes from 5.10 to 5.4 and things compile. I can't use the 5.10 configs without error.
this is the most convoluted way of building kernel that I have recently seen:
cp -pv slackware64/source/k/kernel-huge-5.10.?.x64 /usr/src/linux-5.10/.config
make oldconfig - not needed
make
make modules_install
cp -pv .config /boot/config-5.10.13 not needed
cp -pv System.map /boot/System.map-5.10.13 not needed
cp -pv arch/x86/boot/bzimage /boot/vmlinuz-5.10.13
# include next line if you use UEFI
cp -pv arch/x86/boot/bzimage /boot/efi/EFI/SLACKWARE/vmlinuz-5.10.13
just copy .config from the last kernel to the new kernel sources and build (although why re-compile huge, I am not sure really). Then copy bzImage to /boot or /boot/efi/EFI/Slackware
you did suggest also to use localmodconfig
unless you know what you do, you will end up without all the modules that are loaded on demand.
localmodconfig scans for loaded modules and includes these in the .config. If module is not loaded, it will not be added to the new .config file
@enorbet
I don't use initrd for Slackware. I did use in past nvidia, but too much trouble, so now I am happy with nouveau
You may not like my method which is patterned after the Kernel documentation But
You are still wrong about older GCC
You obviously have little experience building kernel
Code:
ls /boot/*4.4.240*
/boot/System.map-generic-4.4.240 /boot/config-generic-4.4.240.x64 /boot/vmlinuz-generic-4.4.240
/boot/System.map-huge-4.4.240 /boot/config-huge-4.4.240.x64 /boot/vmlinuz-huge-4.4.240
The above "not needed" is also installed by the SlackBuild.
Last edited by AlleyTrotter; 02-07-2021 at 08:33 AM.
Reason: show evidence about "not needed"
I'm not sure if you were including me, AlleyTrotter, in kernel stuff beyond nvidia modules, but just to be sure I have to mention I always build a custom kernel NOT merely a Huge rehash and I've built hundreds in 20+ years. My 14.2 install could very well have some other quirky issues because as soon as "Pure Alsa" became available on Current, I adapted it to 14.2 and partly because my stem is multilib, there were sacrifices to dump pulse. It was a worthwhile tradeoff back then (not so much now) and I still have the older working 5.5.12 kernel option on it.
Current is considerably snappier than 14.2, so much so that I replaced my 14.2 install on an ancient laptop with Current and Plasma5. I no longer need 14.2 to game or do recording/editing work so nouveau is OK until I get around to either fixing 14.2 or upgrading it to Current... either that or just wipe the system and keep the partition as storage.
Anyway I agree that nouveau is more than adequate for 2D and moderate acceleration, but since my stroke I depend on games for a strenuous eye/hand workout and nouveau will not cut it there.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.