SUSE-Enceladus / azure-li-services

Azure Large Instance Services
GNU General Public License v3.0
7 stars 0 forks source link

New kernel params for VLI images #240

Closed jaiawasthi closed 4 years ago

jaiawasthi commented 4 years ago

Hi Marcus,

We have a new hardware coming up which requires a couple of parameters to be present in the image. Can you please provide a SLES15 SP1 VLI test image with these parameters set ?

  1. disable_mtrr_trim Setting the disable_mttr_trim parameter will prevent the OS from trimming any uncacheable memory out of your available memory.

  2. tsc=reliable Will mark tsc clocksource as reliable. This disables clocksource verification at runtime, as well as the stability checks done at bootup. It is primarily here to speed up boot time and avoid conflicts between the multiple tsc clocks. Because of the multiple mother-board configuration, the tsc clock may fail the stability checks.

  3. init=/bin/bash We have you add this to GRUB for safety, in case an init script does not specify the shell. It makes sure the init scripts are all able to be executed.

  4. DefaultTimeoutStartSec=900s We add this parameters due to timeout issues during the initialization of NVRAM (Optane) memory.

  5. DefaultTimeoutStopSec=900s We added this parameter for the same reason as sometimes the shutdown process for Optane memory takes longer than the default timeouts causing corruption of the Optane memory

  6. Nmi_watchdog = 0 This is absolutely required for the system to boot.

Thanks !!

jaiawasthi commented 4 years ago

These are additional parameters, on top of existing ones

schaefi commented 4 years ago

Hi Jai, I've added the new parameters except for one:

init=/bin/bash

I'm sorry I can't do that. The init value is evaluated by systemd and that setting would overwrite it. I also don't understand your explanation you gave about grub. See the open PR but we can't hardcode init=

jaiawasthi commented 4 years ago

Hi Marcus, What's the current value for init, can we change those, is it safe ? ? I'm supposing the there are some scripts getting initialized after grub, if there is no clarity, let me know, ill get more clarity on this one.

jaiawasthi commented 4 years ago

@schaefi , can you please help with the above question.

schaefi commented 4 years ago

What's the current value for init, can we change those, is it safe ? ?

As I said this parameter cannot be changed and managed as a permanent setting. The init system is the first process in a system that controls all other processes. On modern linux systems this first process is named systemd. It controls all your processes and services and is absolutely mandatory to let you use the system in a production environment. If you set

init=/bin/bash

as a permanent setting, the system will no longer boot in a usable state. It will replace systemd with a the /bin/bash process and stops the system leaving you alone with that shell. This setting is only useful for debugging purposes. The init parameter is evaluated by the kernel as the kernel issues the start of the very first process on linux.

So what you are requesting with init= doesn't make any sense to me and I'm sorry we can't set this as a permanent setting in the image description. But maybe I completely misunderstood your use case.

That having said are you 100% sure all the other parameters needs to be set as permanent kernel command line parameters or are these also only for debugging or some other reason ?

Thanks

jaiawasthi commented 4 years ago

It will replace systemd with a the /bin/bash process

Thanks got it, it makes complete sense, we should not need to chnage the systemd process with bash shell.

That having said are you 100% sure all the other parameters needs to be set as permanent kernel command line parameters or are these also only for debugging or some other reason ?

Yes, these are the recommendations made by the new H/W team, i have also cross checked it with the currently supported hardware team and they are fine with introduction of these new params. Can you please provide SLES15 SP1 test image after making the change ?

schaefi commented 4 years ago

Once I get your approval on the open PR, the merge of it will automatically create new images and I can send you a testing image once the build is done. So it's in your hand :) Thanks