# [kind of solved] kernel update: make syncconfig doesn't work

## rogge

Hi,

linux changed from make silentoldconfig, which asked you about the new lines, to make syncconfig.

So want to update from 4.14.83 to 4.19.57 via this tool. But nothing happens:

 *Quote:*   

> 
> 
> root:~$ make syncconfig
> 
> scripts/kconfig/conf  --syncconfig Kconfig
> ...

 

Just this. Does anybody have a hint?

Best regards,

rogge

PS: The search function drive me nuts here. Searching for "syncconfig" doesn't show me any reliable results.Last edited by rogge on Fri Aug 02, 2019 7:50 am; edited 1 time in total

----------

## Jaglover

I just read this article. I have to say the advice there sucks big time. There are two ways to handle kernel in Gentoo.

1. Use genkernel and it will do its bloated job for you.

2. Roll your own. In this case you do not want accept any defaults without even looking at them, thus the only acceptable make target is "oldconfig". 

Every time I upgrade my kernels I go thru new options and every time there are some enabled by default which I want disabled and sometimes there are options disabled I want to be enabled. I recommend the same routine for everyone who is not using genkernel.

----------

## rogge

Yes, I never used genkernel and always rolledg out my one. And I never had problems with using silentoldconfig before.

Of course I could use oldconfig, but as you said it's not the proper way.

----------

## Jaglover

 *rogge wrote:*   

> Of course I could use oldconfig, but as you said it's not the proper way.

 

Is that what I said?   :Shocked: 

----------

## Jaglover

Example:

```
Page allocator randomization (SHUFFLE_PAGE_ALLOCATOR) [N/y/?] (NEW) ?

CONFIG_SHUFFLE_PAGE_ALLOCATOR:

Randomization of the page allocator improves the average

utilization of a direct-mapped memory-side-cache. See section

5.2.27 Heterogeneous Memory Attribute Table (HMAT) in the ACPI

6.2a specification for an example of how a platform advertises

the presence of a memory-side-cache. There are also incidental

security benefits as it reduces the predictability of page

allocations to compliment SLAB_FREELIST_RANDOM, but the

default granularity of shuffling on the "MAX_ORDER - 1" i.e,

10th order of pages is selected based on cache utilization

benefits on x86.

While the randomization improves cache utilization it may

negatively impact workloads on platforms without a cache. For

this reason, by default, the randomization is enabled only

after runtime detection of a direct-mapped memory-side-cache.

Otherwise, the randomization may be force enabled with the

'page_alloc.shuffle' kernel command line parameter.

Say Y if unsure.

Symbol: SHUFFLE_PAGE_ALLOCATOR [=n]

Type  : bool

Prompt: Page allocator randomization

  Location:

    -> General setup

  Defined at init/Kconfig:1755

```

As you can see there is a new option. It is 'N' by default, so that's what you get if you accept defaults without looking at them (make olddefconfig). However, the developer suggests "Say Y if unsure". It is clearly a case where you have to decide what you want and the default may be no good.

----------

## rogge

 *Jaglover wrote:*   

> Is that what I said?  

 

That's how I interpret your struggle with autmoted actived "recommendations"  :Wink: 

And yes, I could go through menuconfig and search for the alterations or just use olddefconfig,

but I wont. syncconfig should do his job and show me the alterations - beside it's the best practise, isn't it?

----------

## Jaglover

I see my communications skills are insufficient for this case. Well, I tried ...   :Sad: 

----------

## Ant P.

 *rogge wrote:*   

> syncconfig should do his job and show me the alterations - beside it's the best practise, isn't it?

 

You shouldn't be using syncconfig at all:

```
# Note:

#  syncconfig has become an internal implementation detail and is now

#  deprecated for external use
```

----------

## rogge

Now I got it (hopefully). Of course it's not a Gentoo, but rather a Linux issue, but I can't comprehend the decision to

kick out the function of silentoldconfig. Of course, it was a minomer from the beginning. But remaning it to

syncconfig frst and telling then, oh it's an internal command now and funtctionality gets lost. So my workaround now is

 *Quote:*   

> make listnewconfig

  and reading then in menuconfig and take my decision.

That's what I found on this topic:

http://lkml.iu.edu/hypermail/linux/kernel/1801.2/02420.html

https://patchwork.kernel.org/patch/10250477/Last edited by rogge on Tue Aug 20, 2019 5:43 pm; edited 1 time in total

----------

## rogge

Hi again,

now I'm  a bit confused. Yesterday I'd like to switch to kernel-4.19.66 and used

my config from 4.19.57 and it looks like this (again):

 *Quote:*   

> 
> 
> root:~$ /usr/src/linux-4.19.66-gentoo # make syncconfig
> 
>   HOSTCC  scripts/basic/fixdep
> ...

 

After doin a make mrproper I trided my older config from 4.14.83 (as described here)

and it works!

 *Quote:*   

> 
> 
> root:~$ /usr/src/linux-4.19.66-gentoo # make syncconfig
> 
>   HOSTCC  scripts/basic/fixdep
> ...

 

Is it a kind of bug?

----------

## Jaglover

You were told syncconfig is not a valid target, you are using it. You were told oldconfig is the target for upgrading that makes most sense. You are not using it. I wonder what are you after? Kernel developers do not know what kind of functionality you need, is it for a router, server, desktop, something else. Only you can decide what is right for you, thus 'make oldconfig' and read up and make your choices.

----------

## APolozov

IMHO the best choice would be olddefconfig

I use for updating kernel this script

```

#!/bin/bash

cd /usr/src/linux

if [ ! -e ./.config ]; then

   make olddefconfig

fi

make clean

make && make modules_install install

grub-mkconfig -o /boot/grub/grub.cfg

emerge -1 @module-rebuild && eselect opengl set nvidia

```

----------

## Jaglover

Certainly not. Kernel is the OS, the most important part of your Gentoo.

For instance, when you install Ubuntu you get optimized kernel for your desktop - if you choose a desktop version. When you install server version you get a kernel configured for server tasks. However, Ubuntu developers are restricted, their kernel still must be suitable for a wide range of possible use cases.

In Gentoo we can do better, build a kernel which fits exactly the need and is optimized for this particular purpose.

When you do 'make olddefconfig' you get someone else's choice applied to your kernel. This is Gentoo, remember? We have all these USE flags and variables we set carefully to build the userspace software. You suggest we neglect the most important part, kernel?

----------

## rogge

It wasn't me who wrote syncconfig isn't a valid target (anymore). Ant P. showed this. And that I "tried" it again was caused by habit. I'll have a look on it for further kernels.

----------

