You are not logged in.
Is ~/GCC-10.1.0/bin/gcc executable?
And, try
hash gcc
after the export command, to make sure the new path has been picked up.
Test it with some other random executable, in some arbitary path.
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
All items in the folder are executable.No gcc, but gccgo. Tried linking directly to that as well. hash gcc showed nothing. Maybe I didn't build in the right items?
sleekmason@ai:~/GCC-10.1.0$ ls bin
c++ gfortran x86_64-pc-linux-gnu-g++
g++ lto-dump x86_64-pc-linux-gnu-gccgo
gccgo x86_64-pc-linux-gnu-c++ x86_64-pc-linux-gnu-gfortran
Test it with some other random executable, in some arbitary path.
I have executables in ~/bin I can move around, but don't understand how to test the path? will gladly do so if you tell me how sir:)
Offline
All items in the folder are executable. No gcc, but gccgo.
No gcc, then 'which gcc' will of course show the one in /usr/bin. What executable are you trying to override here?
'hash <executable>' shows nothing if the executable exists (else an error message) - it just caches the path. Sometimes I've found it necessary when adding a new executable to PATH, to prevent the stale cached path being used.
don't understand how to test the path?
I just meant to put an executable file in some non-standard location, add that path to PATH and see if the system can find it. Or make some executable testfile in ~/GCC-10.1.0/bin, run your export command again and see what 'which testfile' returns.
But I think the issue is that you haven't got anything called gcc in ~/GCC-10.1.0/bin.
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
But I think the issue is that you haven't got anything called gcc in ~/GCC-10.1.0/bin.
Looks like I may have some further exploring to do:) Thank you for your suggestions. Hopefully I can get it figured out.
Offline
Guide updated.
As a side note, linux-image-4.19.0-10-amd64 (currently installed with bl-welcome), has the BFQ scheduler enabled as a module. This can be checked with:
sudo cat /sys/block/sda/queue/scheduler
You can try it for the existing session with:
sudo echo bfq > /sys/block/sda/queue/scheduler
Run cat again to check.
If you want to make BFQ default, look in the guide for instructions. Just need to change a file, and add a file:)
Offline
Thought I would share the difference in times between the kernel as is, and one that has been optimized to get rid of some of the debugging, and a few other easy optimizations.
The native configuration needs some tweaking.
Just after install:
sleekmason@ai:~$ systemd-analyze
Startup finished in 7.524s (kernel) + 49.303s (userspace) = 56.828s
graphical.target reached after 49.282s in userspace
After customization:
sleekmason@ai:~$ systemd-analyze
Startup finished in 4.259s (kernel) + 28.872s (userspace) = 33.132s
graphical.target reached after 28.847s in userspace
This translates to opening of apps, taskes, etc.
My computer is a 2009 Dell dual-core with 2 gigs ram. Probably doesn't matter with a newer system, but sure makes these old boxes fly!
Offline
A look at what is coming down the pike:
510 Features
Expected Features
And my new favorite info tool for flags and such is cpuid.
Sudo apt install cpuid
cpuid | less
Gives readable info about everything. Wanna know what flags are supported? Here ya go.
Offline
Quick note -
Rc Kernel 5.10 uses schedutil as the default governer, and shows no option in the configuration for on-demand. No idea if it will be re-introduced or not, and probably isn't worth the bother.
This means if you are compiling by putting your old .config in the kernel folder to run the build, it will fail.
You must run "make oldconfig" first. The other fun way is to run a "make localmodconfig" if you have never done so. Just make sure to have everything plugged in that you may need, or it will not be recognized, and will not function in the new kernel.
Offline
Quick note -
Rc Kernel 5.10 uses schedutil as the default governer, and shows no option in the configuration for on-demand. No idea if it will be re-introduced or not, and probably isn't worth the bother.
Ondemand is back in 5.10rc4. Guess we'll just have to wait and see if they finally decide to do away with it or not. I didn't really notice any issues running schedutil, so probably doesn't make much difference. The 5.10 kernel in general seems to run quite smoothly. Very scientific, I know.
Offline
Kernel 5.12 has been out for a bit. Currently on 5.12-rc5.
Anyway, one of the new features in 5.12 is a whole subsection of Dell settings! Maybe these were spread out into different areas before, but looks pretty cool.
You will find them under /drivers - X86 Platform Specific Device Drivers in menuconfig. Still not activated by default . . .yet.
Offline
Just built kernel 5.11.12 without all of the debugging here: https://github.com/sleekmason/Kernel-Stable
If you have had difficulty getting a build using the Debian kernel for "oldconfig", try installing this kernel first, and then build with whatever options you like from here.
See my github "readme" for instructions, and the guide for any additional questions.
I've added a "march.patch" I am currently using from https://github.com/graysky2/kernel_gcc_patch) to the zip file as well for patching against 5.11 Sources - provides all the possible processor family optimizations ("Ice Lake" "Sky Lake" "Atom" etc . . )
Also, the pesky "ath10 firmware" error warnings I was getting on boot are gone in 5.11. yay!
Be aware that this kernel is for Bullseye/Sid.
You may get firmware warnings on boot if used with Buster.
Last edited by sleekmason (2021-04-08 23:07:11)
Offline
Tried this and ended up in a mess which prompted me to reinstall the whole system. Lucky it's vanilla, so nothing essential lost.
Problem came here:
Make oldconfig only needs to be done (and should be) at the change of the major kernel release number, i.e. from 4.15 to 4.16.
Accept all of the defaults by hitting enter repeatedly (just hold it down), or look through them if you want.
Now "Accept all etc." implies that at this point some kind of configuration window should have opened where options are chosen. Didn't happen. Make oldconfig spat out a few lines of text and apparently created a file in /somewhere/.config, but that was all.
Is there maybe something missing, or did I miss "open /somewhere/.config/foo in text editor"?
Offline
Tried this and ended up in a mess which prompted me to reinstall the whole system. Lucky it's vanilla, so nothing essential lost.
Problem came here:
sleekmason wrote:Make oldconfig only needs to be done (and should be) at the change of the major kernel release number, i.e. from 4.15 to 4.16.
Accept all of the defaults by hitting enter repeatedly (just hold it down), or look through them if you want.
Now "Accept all etc." implies that at this point some kind of configuration window should have opened where options are chosen. Didn't happen. Make oldconfig spat out a few lines of text and apparently created a file in /somewhere/.config, but that was all.
Is there maybe something missing, or did I miss "open /somewhere/.config/foo in text editor"?
----------------------------------
Howdy, Sorry you had problems. A few questions:)
Were you able to install 5.11.12 without issues?
Did you install the required packages to build a kernel?
sudo apt install build-essential libncurses5-dev libssl-dev libelf-dev bison flex bc fakeroot
Did you follow the guide to get started?
"Make oldconfig" uses the current configuration based on whichever kernel is active at the time.
You should never need to reinstall your system because of a faulty kernel. You should have an option in your grub menu on boot to change into whichever kernel you want based on what you have installed. (several different kernels, several choices.)
The default choices during make oldconfig are what you would generally have in any kernel made for any distro, meaning, they are the standard choice for any new configuration, designed to not interfere with your system.
5.11.12 was directly built from https://www.kernel.org/ to allow for an easy build sans any Debian patches. It is possible that you require a package that Debian has added for some reason.
It is always possible this kernel simply won't work for you.
Basically, If you installed the 5.11.12 kernel and have zero issues, and have the required packages for building a kernel, you shouldn't have any issues with a new build. (In theory).
If the kernel doesn't work, simply reboot and change to your prior kernel through the grub screen within the options. Then remove the 5.11.12 kernel using "apt remove"
Hope you will give it another go:) Once you have a working kernel to build against, there is no end to fun to be had changing the different settings. You will still want to run "make menuconfig" after "make oldconfig" to get into the settings. Hope this helps!
Last edited by sleekmason (2021-08-11 20:15:44)
Offline
No probs mate :-)
Were you able to install 5.11.12 without issues?
I wasn't even actually trying that, just wanted to get a newer kernel than 4.19.0-13, as Virtualbox required the headers which weren't available with apt anymore. 0-17 got installed as well, but for some reason Ubuntu (the first installed Linux) didn't add that to the menu when I run sudo upgrade-grub for the first time (yes, under Ubuntu). Second time it decided to pick the installed 0-17 as well, and I'm now happily running that one
Now I'm trying to figure out how to promote BL as the master so I can scrap that Ubuntu altogether. Not a fan
Did you install the required packages to build a kernel?
sudo apt install build-essential libncurses5-dev libssl-dev libelf-dev bison flex bc fakeroot
Did you follow the guide to get started?
Yes and yes, and everything went exactly as described. The stumbling block was "Accept all defaults" as it indicates that another window should have opened at that point. Noting was, hence I was wondering if there's just a piece of text missing at that specific point.
I think I found the stumbling block... you say:
run "make menuconfig" after "make oldconfig" to get into the settings
So do I understand correctly that you will only get the settings-window after "make menuconfig", and nothing similar is actually even supposed to happen after "make oldconfig"?
At one point I actually just soldiered on and got the settings-window, but I didn't know whether there should've been another similar window after "make oldconfig". Anyway by then my system was already so messed up with missing dependencies and whatnot that it was easier just to reinstall
I'd suggest re-wording that part of the instruction, maybe even adding a screenshot, for clarity. I've been curious about kernel building for quite a while, but haven't managed to find a clear enough workflow to actually take a plunge. So thanks for an otherwise good job
Offline
So do I understand correctly that you will only get the settings-window after "make menuconfig", and nothing similar is actually even supposed to happen after "make oldconfig"?
--------------
Yep! Only the main terminal window will be open during "make oldconfig" as it runs through the questions. If the versions are only off by a little, you may not see any changed configuration questions at all, and it will end as such.
"Make menuconfig" is where the settings can be accessed and changed at will. (There are other options for changing settings as well in the guide).
Running "make oldconfig" while booted into the standard Debian kernel is where you likely ran into problems. The 5.11.12 kernel has to be installed and running on your system when performing "make oldconfig", to draw from it's settings. You can always change back using grub at boot if you run into problems:)
*Edit - Guide updated to show that no extra window is opened during "make oldconfig" Thank you for the suggestion!
Last edited by sleekmason (2021-08-12 16:12:45)
Offline
Yep! Only the main terminal window will be open during "make oldconfig" as it runs through the questions. If the versions are only off by a little, you may not see any changed configuration questions at all, and it will end as such.
Oki, so that's why no questions!
I'll probably be upgrading to a 5-kernel at some point, good to have more clarity on this. Thanks mate
Offline
Hey there!
At first: I am a frequent user of this guide, and thank you very much for your constant work on it!
Besides any controversy on security this may bring up:
Is anyone of you aware of a comprehensible guide on signing the kernel(-modules) created for use with secureboot? I know that all the tools needed for this are at hand in the repos, but I just seem to be unable to propperly use them.
Thanks in advance an keep safe and sound!
naik --greetz
"Kaum macht [Mensch]* es richtig, funktioniert es sofort!"
BL-Kitchen Codeberg
Offline
But that was already 7 months ago.
Whereby I always trust @towo. With "snake oil" he means "secureboot".
Offline
Thanks, this will help me get stuff done.
Though I just still don`t know what I am doing there.
... get rid of "the snake oil" would be preferable. But I at least wanted to learn about signing and certificates.
And also the compay letting me this machine allowed me to dualboot, but won`t like me to disable secureboot.
I`m gonna ask them why!
naik --greetz
Last edited by Naik (2021-11-26 11:42:54)
"Kaum macht [Mensch]* es richtig, funktioniert es sofort!"
BL-Kitchen Codeberg
Offline