Hello everyone, I’m new to Manjaro, and in fact, new to Linux altogether (about a month of use). I bet this has been asked countless times before, so my apologies. I’ve upgraded to Anh-Linh and now I have a mkinitcpio.conf.pacnew file. I’ve done some research and I know I should merge this with the old mkintcpio.conf, but the problem is I don’t know what to modify, and I’m afraid I might break the system, which is working perfectly. The differences are these:
So the differences are that the new version doesn’t load the crc32c-intel module, which I believe is related to Secure Boot, if I’m not mistaken, and that udev is replaced by systemd, consolefont is replaced by sd-vconsole, Plymouth is removed (I think this is to support animations at boot time), and fsck has been added (I think it’s for file system integrity or something like that).
Would someone please tell me what edits I need to make so I don’t mess things up? I understand that after editing mkinicpio.conf, I’ll have to run the command:
sudo mkinitcpio -P
I do not know if I should change my current settings. Again sorry bother you and my apologies about these doubts.
Technically, using meld as diff program has been very helpful:
You need to compare and then make an educated decision how to manage the differences. If you have settings relevant for your system keep them (in your existing config). For the others you can use the new default of the pacnew file (merge them from the pacnew file to your config file).
After merging you can delete the pacnew file.
If you are unsure, post your config and pacnew files here (as you did).
If you search here in the forum you will find lots of helpful threads with similar questions.
More background information:
With regard to MODULES:
In your specific case I would keep
MODULES=(crc32c-intel)
With regard to the HOOKS:
You can stick to the old HOOKS, they still will be supported for a while, or you use the new HOOKS (don’t wildly mix and pay attention to the order of the HOOKS). If you want, you could keep plymouth, but this is not needed (I won’t keep it). Also base is optional if systemd HOOK is applied. I would recommend to have fsck as HOOK.
With other word, if you want to adapt to the new default you could have:
Well, first things first… A .pacnew file is only a suggestion based upon upstream defaults, and should never be copied over an existing configuration file.
The reason why it exists in the first place is that it differs from your existing configuration file, and most of the time, this would be because your existing configuration file was modified away from the defaults, either by yourself or by the distribution’s packagers.
Secondly, crc32c-intel is related to checksumming (as in btrfs), not to Secure Boot — neither Arch upstream nor Manjaro support Secure Boot, although the Arch Wiki has a section on how to enable it, for those who absolutely want it.
The crc32c-intel module was dropped for kernels from 6.14 onwards. So if you’re using a 6.1 LTS or 6.12 LTS kernel, then you still need it — provided that you’ve got an Intel processor and you want to make use of its inbuilt CRC32 acceleration — but if you’re using the new 6.18 LTS kernel, then it is no longer required, as the kernel will apply the correct CRC method on its own accord.
Thirdly, here’s what the new hooks do…
The systemd hook replaces the udev hook, and, if they’re present, also the usr and/or resume hooks.
The sd-vconsole hook should be used together with the systemd hook — i.e. it should not be used with the udev hook — and it replaces both the keymap and consolefont hooks. So right away, the .pacnew already does it wrong, because it still contains the keymap hook.
The sd-encrypt hook — if present — replaces the encrypt hook, and as with sd-vconsole, it is meant to be used in conjunction with the systemd hook. It is needed if you use encrypted volumes.
The plymouth hook is only needed if you have plymouth installed, which is a graphical splash screen that hides your boot-up messages. In general, it tends to slow down the boot process somewhat, and it is often a source of headaches, especially in combination with Nvidia graphics.
The fsck hook isn’t really needed if you’re using btrfs, because btrfs uses its own filesystem integrity checking mechanism, and it’ll automatically do this whenever the filesystem is mounted.
Note: If you use disk encryption and you have a non-US keyboard, then the keyboard hook should be placed before the autodetect hook.
Yes. This command (re-)generates the initramfs for each of your installed kernels with the hooks and modules specified in /etc/mkinitcpio.conf.