Lots of formatting changes with /etc/default/grub.pacnew

I’m new to this .pacnew game and therefore pacdiff -o lists a bunch of .pacnew files I haven’t paid attention to since I installed Manjaro last year.

I’m currently checking those files with DIFFPROG=meld pacdiff -s and came across /etc/default/grub.pacnew. It looks like there’s a lot of formatting changes to the file which go back to a commit from 11 months ago. A lot of text passages get moved to different lines or rewritten/improved.

The only notable difference apart for the reformatting/reshuffling of text are two lines.

/etc/default/grub.pacnew:
GRUB_CMDLINE_LINUX_DEFAULT="quiet udev.log_priority=3"

/etc/default/grub: 
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash apparmor=1 security=apparmor resume=***UUID_number*** udev.log_priority=3"

and

/etc/default/grub.pacnew:
#GRUB_THEME="/path/to/gfxtheme"

/etc/default/grub: 
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

I’m pretty sure I have to keep the original GRUB_THEME but what about the GRUB_CMDLINE_LINUX_DEFAULT?

I’ve read in an old forum topic that it would be best practice to add custom entries to GRUB_CMDLINE_LINUX below which would mean:

GRUB_CMDLINE_LINUX_DEFAULT="quiet udev.log_priority=3"
GRUB_CMDLINE_LINUX="splash apparmor=1 security=apparmor resume=***UUID_number***"

Is this correct/still valid today? My CMDLINE doesn’t have a resume_offset like the one in the old forum topic though. I haven’t made any changes to /etc/default/grub since installation. I wonder why Manjaro adds everything into GRUB_CMDLINE_LINUX_DEFAULT then.

Apart from that I also vaguely remember reading somewhere about having to do another step when messing around with grub files. What do I have to do in case I make all these changes to /etc/default/grub? Or am I confusing this with /boot/grub/grub.cfg

Both those changes should be acceptable, and they are the defaults.

You can check if you have that file for the theme first. ex

ls /usr/share/grub/themes/

But the options also arent a requirement

  • splash is for boot splash things like plymouth
  • apparmor is for … apparmor (access control security, notably for SNAPs)
  • resume is for hibernation

In my case I dont use any of those things so I dont use any of those options.

That is something I would suggest … but these arent custom … these are the upstream defaults. So add them where they are on DEFAULT.
(you would want to put extra things you want to add, like nowatchdog, on the second line)

This would be

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

(equivalent to sudo update-grub, which is no longer included by default)

4 Likes

I don’t understand, we no longer should use update-grub?

It was never really needed.
Its something from ubuntu … you can look at it if you want;

which update-grub
cat /usr/bin/update-grub

You will see its a tiny script that just does grub-mkconfig -o /boot/grub/grub.cfg
(with some unnecessary extra lines)

If you have it you can use it.

I just no longer suggest it in instructions, as it is no longer included in (most?) the ISOs.

Hmm, thats sad… i dont like to trade a simple command for a much longer one :frowning:

Theres multiple arguments the other way though.

First - the path is hardcoded … so what happens if your grub config file is not at exactly /boot/grub/grub.cfg ?
Second - Its only ‘simpler’ in that the literal text typed is shorter in this example … but as far as package dependencies, and the local filesystem go … its more complicated and ‘messy’ … this does the job of an alias by having a whole package and extra bin script to provide functionality already present from existing tools.

You are free to keep the package and use it.

(up til now there was still some work to be done with mhwd having update-grub as a hard dependency in the code, but thats arguably a different topic)

Or in some future where thats the way, and update-grub does not exist … again, I think an alias makes more sense. ex

~/.bashrc

alias update-grub="grub-mkconfig -o /boot/grub/grub.cfg"
1 Like

What is an alias? Is this some kind of a link?

With your alias command, its possible to adjust the update-grub command?

An alias is just a replacement.
The above example, when placed in a relevant file, like your shells rc file (.bashrc, .zshrc, etc) would act very much like the previous package … typing

sudo update-grub

would then be the same as

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

And, yes, this means you could augment it any number of ways, including a different path.

Some people use aliases to change the default function of a command.
If you check your shellrc file you will probably notice something like

alias grep="grep --color=auto"

Which would mean whenever you use grep its actually the listed command, so grep always shows color.

Similarly people use it for their preferred update string, ex:

alias updoot="sudo pacman -Syu && paru -Sua && sudo pacman -Fy && paccache -rvk2"

So then they could type updoot … and it would perform that string.

Hopefully that helps.
Archwiki:
https://wiki.archlinux.org/title/Bash#Aliases

2 Likes

Linux is just a never ending learning story… thanks for the explanations. :slight_smile:

Funny enough, i try’d to switched few days ago /boot (boot-partition) to rootfs /boot… but it didnt worked as i expected.

Somehow this confused and worried me even more now, that i do something wrong with this commands :face_with_diagonal_mouth:

Not sure how you did that … but in this example it would be the same path whether you had a partition mounted to /boot or not (still is /boot/grub/grub.cfg unless something else changed).

For what its worth … when I changed /boot/efi to /efi I just changed the fstab entry (after creating the relevant directory) … in your case it sounds like you would just … remove the entry, with /boot just mounted along with / as usual. Hard to say without looking.

:point_down:

Also of additional interest might be this:point_down:

2 Likes

I’ve checked and the file /usr/share/grub/themes/manjaro/theme.txt exists. So I’ve kept GRUB_THEME from the original grub file. :+1:

Thanks for elaborating. Good to know what these options stand for.

Glad I asked for clarifiation. Since these are upstream defaults as you say, I made no changes and let them live in GRUB_CMDLINE_LINUX_DEFAULT :slight_smile:

I checked and update-grub is installed on my system. After all the necessary changes to /etc/default/grub I decided to use your grub-mkconfig command though. Not gonna lie, I held my breath when rebooting but I’m glad to report everything went fine. :+1: :sweat_smile:


There are still some .pacnew files left now.

/etc/pamac.conf.pacnew
/etc/pacman.conf.pacnew
/etc/pam.d/polkit-1.pacsave
/etc/default/useradd.pacnew

Does any of these files also require some additional steps (similar to grub-mkconfig for /etc/default/grub) after making the changes? Especially asking for pamac.conf and pacman.conf since I’ve read somewhere in the forum you can badly screw up your system when messing with these config files.

They don’t.

1 Like

Thanks. :smile:

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.