NTP on Debian reporting 95 years in the future – Part 5: Patching the Kernel

If you haven’t read part 1 yet, make sure you start there.

Okay — I can’t wait 24 hours — I’m an eager beaver. But 14 hours later, the system is still showing the correct time. Let’s play.

Okay – so I’m on the absolute most amazingly modern kernel ever. Great! So let’s fix that kernel.

We’ll check again to see if the timer workaround is implemented in our kernel:

So what does this tell us?

CONFIG_FSL_ERRATUM_A008585 shows whether the workaround for Freescale/NXP Erratum A-008585 is active. The workaround’s description is “This option enables a workaround for Freescale/NXP Erratum A-008585 (“ARM generic timer may contain an erroneous value”). The workaround will only be active if the fsl,erratum-a008585 property is found in the timer node.”

For those who are even nerdier than me, check out kernel.org’s log of the patch here: https://patchwork.kernel.org/patch/9487241/

You’re such a nerd!

Now I’m getting into the experimental. I’ve never changed a kernel config before. Funny, that. I guess if you’ve never needed to do something, you never learn to do it.

I have yet to find online instructions for doing this, and here’s what I’ll try.

Note for tl;dr – this didn’t work.

Alright, let’s change my default config as we prepare to re-compile the kernel. I’m unsure if changing this config will make the newly compiled kernel receive the change or not, but it’s worth trying.

Great, my config is now set to include this patch.

Okay, I’m obviously gonna need the kernel headers here…

Looks good, and the default setting is the same as my running kernel config:

Great! I think I’ve made a connection… this file has the same setting as my default kernel config.

So since I’ve already updated my own config, let’s compile with oldconfig – I’m assuming that means “grab the old config”… hmmm…. makes sense to me.

Alright, is it set now?

Weird… the setting is gone! Well, let’s see what happens? Maybe the kernel will default to “yes” if the setting … let’s try.

Oh – If it’s going to ask me to say yes to a crapload of defaults, I’ma abort that!

I’ll trust the kernel devs and my config 😛

Wow, that’s a lot of output.

Now, a quick reboot and re-connect, and then check the running kernel…

Darn.

Strangely, the default config (my config) shows that my setting remains there…

So maybe I just didn’t compile it correctly.

I wish someone in the threads would have posted how to actually add this. I mean, as a teacher, I try not to make assumptions. Saying to someone “set CONFIG_FSL_ERRATUM_A008585=y in your kernel” is a big assumption. Even I, the Bald Nerd, am not quite sure how to do that, yet I’m sure the people who make the statements are. Let’s instead post the actual commands or at least point the person in the right direction.

I’ll try to figure it out in the next couple days, and will post my step-by-step. I’ve posted a cry for help in the forum thread related to the Debian image I’m using. Hopefully they can point me in the right direction.

UPDATE: Ohmigosh, it just hit me… this is using make, yet I didn’t install!

Let’s try it, just for good measure:

Grr….

Yeah, there’s no install.sh there.

I’m sure it’s something simple I’m missing since I’m not experienced at this kind of thing.

More to come!

1
Leave a Reply

avatar
1 Comment threads
0 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Dave Thompson Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Dave Thompson
Guest
Dave Thompson

Err,, I’m not sure the kernel has a make install,, just make;make modules; make modules install.
I thought that you had to copy the image and set up the symlinks manually?