Encrypted System does not Boot after Update: Busybox netconf hook stopped working

Hello

after one of yesterdays updates my machine does not start up. The last thing that is visible on the screen

running hook [netconf]
SIOCGIFFLAGS: No such Device
SIOCGIFFLAGS: No such Device
... endless

My system setup looks like this:

nvme0n1p1 /EFI
nvme0n1p2-5 Windowspartitions
nvme0n1p6 /boot
nvme0n1p7 / LUKS encrypted
nvme0n1p8 /home LUKS encrypted

The above mentioned netconf hook is needed to remotely unlock the system through a ssh connection.

How can I repair the system? (My guess: Live Stick, chroot. But how and what to do are the more precise questions.)

Thanks for any hints and suggestions.

Kind regards
Klinge

I have no idea - so a guess - the device has not yet initialised?

Did the interface name change?

I vaguely recall reading about such setup years ago - I get the idea - if the system is remote one would like to keep data under lock and key, hence the LUKS container.

I have never worked with such setup so I am guessing and speculating what a Windows dual-boot does in that scenario :slight_smile:

Has the init and the kernel been properly rebuild to match kernel changes?

I am thinking a unified kernel would be the way forward.

If file system is ext4:

  • boot live system, to eventually chroot

But before that can be done:

  • open the encrypted container
  • mount /
  • mount /boot
  • mount /EFI
    to the correct places - I usually mount to /mnt
    No need to open and mount /home to repair stuff - not needed for now

Then chroot.

blkid
or
lsblk -f
to identify the components

It looks a bit unusual that you have an /EFI and a /boot partition.

sudo cryptsetup open /dev/nvme0n1p7 encrypted
sudo mount /dev/mapper/encrypted /mnt
sudo mount /dev/nvme0n1p6 /mnt/boot

… I do not know where the separate EFI partition belongs - perhaps /mnt or /mnt/boot
You can look at /mnt/etc/fstab once you have mounted the root partition … to see where it belongs.

chroot:
manjaro-chroot /mnt /bin/bash

Then you can access logs and do what would need to be done.

If file system is BTRFS, the procedure is a bit more complex but there are posts and wiki articles here on how to do that.
I have zero experience and can’t advise.

Just for the test, did you try to remove that hook to verify if the problem is there?
There was a major version bump for systemd with some changes, maybe something in this hook changed and something Has to be reconfigured. If the problem is confirmed to be the hook see the systemd changelog for hints.

P.s. the efi should be mounted to /mnt/boot/efi i guess.

Yes. :backhand_index_pointing_up:

Thanks a lot for all the input. It was the netconf hook and chroot worked so far. I did not find the time jet to look into the netconf hook problem. If someone already knows what to do i happy for a solution.

The issue could be caused by the recent changes from busybox to systemd HOOKS in /etc/mkinitcpio.conf. According to [SOLVED] Systemd-networkd error 217 early boot netconf with mkinitcpio / Newbie Corner / Arch Linux Forums:

The linked instructions are here:

And the AUR package that may be required:

Disclaimer: I’ve never used encryption or remote access, so I am far from being an expert on this. Hopefully the above will point you in the right direction though.

4 Likes

Thanks, I did read into it a bit, but did not find a solution. Probably because I only partly understand the problem.
Did the busybox hooks stop working and I have to use systemd hooks instead? If yes are there more beginner-friendly instructions somewhere?

No they still work and will work for the foreseeable future. You can revert for the time being.

3 Likes

Did you remove the base entry from your HOOKS in mkinitcpio.conf?

As I recall the base hook installs busybox into the init, so removing it would change how init work

Not really if the systemd hook is used, because then systemd will handle the init. All the base hook then still does is add the busybox emergency shell, but systemd disables that for security reasons, making base useless.

Of course, if you do want to keep the rescue shell, then you still need to include the base hook, and add “SYSTEMD_SULOGIN_FORCE=1” to the kernel boot parameters.

2 Likes

I remember reading about remotely unlocking a luks encrypted system and tried to find back to it.

The only real clue is Arch Linux Wiki.

So I have begun searching

Thanks for all the help, you did lead me to the right tracks. What I finaly did, that solved the problem, was editing the grub entry.

from

ip=dhcp

to

ip=:::::eth0:dhcp

It seems that something with the NIC name resolving changed, so that the old entry did not work anymore.

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