From Novice to Gentoo

By the way, i just realized, that gentoo installs a 4.X kernel by default. From those who have been running Gentoo for longer: Is an upgrade to a 5.x Kernel advised? And, would i have to go through the whole kernel configuration again, or would it reuse my initial settings from install?

1 Like

I’m sure a lot of my install is unoptimized

You can’t optimize without a target. Gentoo helped me recognize that.

It’s way more interesting to take to Gentoo users about why they customized their system the way they did. You run into stories about the time they found out their favorite media player supported hardware acceleration, but it was disabled at compile time on nearly every distro. :slight_smile:

I’m running sys-kernel/git-sources on my main desktop and I did have an issue with the jump from 4.20 to 5.0 but it seemed to be something with my machine and I was able to fix it within about a day.

I think you can copy your .config file from a previous kernel source or take your currently running config (if you’ve enabled live viewing of configs) then make oldconfig (or some variation) to get a current config, then run make menuconfig to configure as normal.

As always though, it helps to Read The Fabulous Manual :wink:

1 Like

protip: run emerge with --jobs (# of jobs) and you can have multiple packages building at the same time. It’s dependency aware and everything too so no need to worry about it doing things out of order. Gets larger builds with many deps done much quicker than they otherwise would.

2 Likes

Don’t run with with -j by itself. That runs with unlimited jobs. I did that and everytime I compiled GCC it rebooted my server. Took me forever to figure out. Normally, they say do -j $(( $(nproc) +1 )).

You can also specify that stuff in your /etc/portage/make.conf file. I have MAKEOPTS="-j17" for an 8 core with SMT (so 16 threads). Setting -l will allow you to set a max load. Doing that in conjuction with -j will allow you to use 8 threads, unless it gets to 50% load or something like that, to garauntee that you can do stuff in the background.

I also have EMERGE_DEFAULT_OPTS="-a --with-bdeps=y --autounmask-continue --quiet-build=y" set in that file so whenever I build something with emerge vim, it changes it to emerge -a --with-bdeps=y --autounmask-continue --quiet-build=y vim. Definitely read the options before putting them in the make.conf (especially with autounmask) but it makes life simpler

1 Like

Having tried it before on my old system i had reservations. But those are no longer relevant so i think I’ll give it another go…

Thing that keeps nagging in the back of my head having toyed with other distro’s is optimizations, leaving free performance on the table doesn’t sit right with me. How much difference it makes in benchmarks i don’t know, probably not as much as Clear linux but in use that distro feels quite a bit snappier than others. But it has quirks i don’t want to deal with.

Anyway i also have a spare ssd laying around so I’ll just run it along side Fedora and win10, see how it goes.

1 Like

I’m not talking about makeopts. I’m talking about emerge opts. For example, my EMERGE_DEFAULT_OPTS line in my make.conf:
EMERGE_DEFAULT_OPTS="--jobs 1024 --load-average 24"
This means that emerge will start compilation on a maximum of 1024 packages simultaneously, with a maximum load average of 24. Do know that it will never hit that maximum jobs, but will stop early due to depsolving, and rarely hit the load average. But it does make a large difference.

1 Like

So would you have to balance that with the MAKEOPTS? Like if I have an 8 core / 16 thread cpu, I don’t think I could have MAKEOPTS="-j 17 -l 17" and EMERGE_DEFAULT_OPTS="--jobs 1024 --load-average 16", right?

I have MAKEOPTS="-j16" (the cores+1 is a myth, its actually slower) and it will still manage to emerge 10 things at the same time without hitting the load average. My load average is set to cores*2

2 Likes

changing that now. Thanks! You learn something new everyday!

2 Likes

:gentoo: :mage:

4 Likes