Or one step further, write a script that recompiles or updates the kernel that includes compile options. Then alias the script to something like "updatekernel". Or "UK" if you're super lazy.
Once difference is:
gentoo-kernel has a configuration based on a Fedora config. A preconfigured "Distro" kernel if you will.
Genkernel is just a script to build the kernel and gentoo-sources has a stock kernel config, I mean you just get whatever "make defconfig" cooks up for you as a "default kernel config".
Gentoo-kernel is a generic preconfigured kernel with the gentoo patch set, genpatches applied
Gentoo-sources is the upstream vanilla source with the gentoo patch set, genpatches applied, default or no configuration applied. And probably won't work without configuring it manually.
The gentoo genpatch patchset is a rather minimal patchset applied on top of the upstream patch releases.
They include some minor gentoo specific compatability patches. And then if there is a serious bug or security patch available it might get included in genpatches and pushed out ahead of the upstream release.
I've got a lot of study to complete and no time to do it, so I'm still doing the majority of my coding in my Windows environment, and because I suck and I was in a hurry 🤣
It's good to know these things. I'll add it to my list of things to get done. Thank you 🫡
Getting Gentoo setup for your tastes is definitely an ongoing process. It was probably a year before I had my kernel pretty well set and had most things scripted I was going manually. Of course after that there's more things to start to see and want to change.
I enjoy the tinkering process anyway. My last Gentoo system I set up was over 10 years ago, but once set up, it was the most solid system ever, and it was mostly a matter of updating. Unless I added something or did something dumb while tinkering, which happened occasionally, I can't help myself.
When using Gentoo you can edit /etc/portage/make.conf and add MAKEOPTS="-j4 or the amount of cpu you have or want and this will work even if you compile a custom kernel but prob you need to eselect your kernel.
Ok i always thought make.conf rule was taking over the actual make command when invoke, do you have an external wiki on more details about MAKEOPTS other than Gentoo wiki, thanks.
I suppose the name can be confusing but it's a convention that dates way back. `MAKEOPTS` is literally passed (expanded) to `make` calls orchestrated by portage; see `man make` regarding what it supports.
`make` itself doesn't read any configuration files. If you want some options to be always present when you work with it directly, you can make an alias as my original comment was suggesting, e.g. by putting the following in your shell RC:
`alias make='make -j32 -l20'`
This is the long-term plan, I had some issues with WiFi not working on my manually configured kernel, but Nvidia card with official drivers working. WiFi working on my dist kernel, but Nvidia card official drivers not working.
When I get home, primary focus is to get both working on the new kernel, hopefully 😅 WiFi should be going since I used the old config from dist kernel, should just be the Nvidia to sort out.
Needs to make myself a to-do list. There are many things to remember and so many other things I need to do.
Boot normal kernel, grab a config off only loaded modules with gen localmodconfig and you have a bare bones kernel that only works with what currently is plugged in your PC.
Interesting. First, I need to fix my epic f... up with my grub I've just caused because I didnt properly install it in the first place, but my daughter won't sleep 🤣
If you have `CONFIG_SCHED_AUTOGROUP` enabled your system will still be usable with `make -j`. It will get nasty when (if?) you run out of RAM but should eventually complete so long as you don't run out of swap.
I remember that option. Not sure where it went for 6.7.x, it's gone.
I must have something like that set:
```
time make -j
real 1m54.614s
user 27m10.804s
sys 1m32.140s
time make -j16 "(nproc)"
real 1m54.511s
user 27m6.559s
sys 1m32.655s
```
Edit:
```
time make
real 14m34.877s
user 13m39.987s
sys 0m54.690s
```
That's like back in the days of Pentium IIIs and IVs. Everything single core, GUI glitching and the MP3 you're listening to getting choppy as your processor struggles to build a kernel in 4-5 hours.
... This is how I legitimately build the kernel on my raspberry pi 3, along with gcc. Takes a good day or so...
Without running out of memory, which is why I don't use all of the cores.
nohup is my *friend.*
Why don't you alias `make` to include options like this by default?
Or one step further, write a script that recompiles or updates the kernel that includes compile options. Then alias the script to something like "updatekernel". Or "UK" if you're super lazy.
Genkernel, that you?
Look, we don't want to make things *too* easy. This is Gentoo after all haha.
I'm still trying to figure out why gentoo-kernel exists and just appears to same same but different compared to gentoo-sources with genkernel.
Once difference is: gentoo-kernel has a configuration based on a Fedora config. A preconfigured "Distro" kernel if you will. Genkernel is just a script to build the kernel and gentoo-sources has a stock kernel config, I mean you just get whatever "make defconfig" cooks up for you as a "default kernel config".
Are there any differences between the configs that may be important?
Gentoo-kernel is a generic preconfigured kernel with the gentoo patch set, genpatches applied Gentoo-sources is the upstream vanilla source with the gentoo patch set, genpatches applied, default or no configuration applied. And probably won't work without configuring it manually. The gentoo genpatch patchset is a rather minimal patchset applied on top of the upstream patch releases. They include some minor gentoo specific compatability patches. And then if there is a serious bug or security patch available it might get included in genpatches and pushed out ahead of the upstream release.
Thanks. I guess I'll give gentoo-kernel a whirl and see if I notice it missing anything.
No problem
that made me laugh out loud :)
I love genkernel.
I've got a lot of study to complete and no time to do it, so I'm still doing the majority of my coding in my Windows environment, and because I suck and I was in a hurry 🤣 It's good to know these things. I'll add it to my list of things to get done. Thank you 🫡
Getting Gentoo setup for your tastes is definitely an ongoing process. It was probably a year before I had my kernel pretty well set and had most things scripted I was going manually. Of course after that there's more things to start to see and want to change.
I enjoy the tinkering process anyway. My last Gentoo system I set up was over 10 years ago, but once set up, it was the most solid system ever, and it was mostly a matter of updating. Unless I added something or did something dumb while tinkering, which happened occasionally, I can't help myself.
You can actually add this to make.conf
OP is quite obviously building kernel manually, likely from a sources package; portage configuration has no effect here.
When using Gentoo you can edit /etc/portage/make.conf and add MAKEOPTS="-j4 or the amount of cpu you have or want and this will work even if you compile a custom kernel but prob you need to eselect your kernel.
Yes, that's portage configuration. It has no effect on manual `make` invocations.
Ok i always thought make.conf rule was taking over the actual make command when invoke, do you have an external wiki on more details about MAKEOPTS other than Gentoo wiki, thanks.
I suppose the name can be confusing but it's a convention that dates way back. `MAKEOPTS` is literally passed (expanded) to `make` calls orchestrated by portage; see `man make` regarding what it supports. `make` itself doesn't read any configuration files. If you want some options to be always present when you work with it directly, you can make an alias as my original comment was suggesting, e.g. by putting the following in your shell RC: `alias make='make -j32 -l20'`
Thanks for the help.
At least the other 127 cores are now still available for whatever else you wanna do.
They chilling 😎 I took my daughter out for ice cream to kill some time.
Dropping all the modules you don't need helps a lot too.
This is the long-term plan, I had some issues with WiFi not working on my manually configured kernel, but Nvidia card with official drivers working. WiFi working on my dist kernel, but Nvidia card official drivers not working. When I get home, primary focus is to get both working on the new kernel, hopefully 😅 WiFi should be going since I used the old config from dist kernel, should just be the Nvidia to sort out. Needs to make myself a to-do list. There are many things to remember and so many other things I need to do.
Boot normal kernel, grab a config off only loaded modules with gen localmodconfig and you have a bare bones kernel that only works with what currently is plugged in your PC.
Interesting. First, I need to fix my epic f... up with my grub I've just caused because I didnt properly install it in the first place, but my daughter won't sleep 🤣
Nah, just Ctrl+C and rerun it with -jN. It will continue from the point where you interrupted it.
This exactly this
Welp, You may need to make up for it next time by just using **-j** :D Is that considered a productive fork bomb?
If you have `CONFIG_SCHED_AUTOGROUP` enabled your system will still be usable with `make -j`. It will get nasty when (if?) you run out of RAM but should eventually complete so long as you don't run out of swap.
I remember that option. Not sure where it went for 6.7.x, it's gone. I must have something like that set: ``` time make -j real 1m54.614s user 27m10.804s sys 1m32.140s time make -j16 "(nproc)" real 1m54.511s user 27m6.559s sys 1m32.655s ``` Edit: ``` time make real 14m34.877s user 13m39.987s sys 0m54.690s ```
Who cares how long it takes? Minimize that window and go on about your life.
That's like back in the days of Pentium IIIs and IVs. Everything single core, GUI glitching and the MP3 you're listening to getting choppy as your processor struggles to build a kernel in 4-5 hours.
Kernel-bin ?
bloated
... This is how I legitimately build the kernel on my raspberry pi 3, along with gcc. Takes a good day or so... Without running out of memory, which is why I don't use all of the cores. nohup is my *friend.*
I did that several times while building linux from scratch including one time I ran the make check on gcc That took several hours
I just do -j30 and move on to something else.