Upgrade 181 can't restart error -> setfont: ERROR setfont.c:417

Hello all,
I’m writing this with my phone and 4g, so appologize for mistakes or typos…
I just upgrade from 180 to 181, and asked a reboot. But it hangs on a :

setfont: ERROR setfont.c:417 kfont_load_font: Unable to find file: eurlatgr dracut Warning: Could not boot.

Any help will be greatly appreciated.

Hello all,
As I didn’t quickly find any solution, I decide to reinstall 180 and avoid 181 for now.
Having other hardware available, I leaved the crashed host for autopsy. So, I did :

  • boot crashed FW with a live distro and grab /var/ipfire and /var/log from fourth partition (I don’t have any happy experiences with IPFire’s backups, while I still do some. I also have own backups, but the firewall is so central that nothing was working any more in my LAN ! Quickest and easiest for me was a live CD-USB) ;
  • downloaded 180 with my phone, and flashed an USB key ;
  • install 180 on other hardware ;
  • ssh’ed freshly installed FW, save /var/ipfire as /var/ipfire.180 (same for logs), then copy grabbed /var/ipfire and logs too (you need to https//FW.IP:444 and allow ssh first) ;
  • https//FW.IP:444, first visit network configs, and “validate” (press “save” or toggle a button twice…) to generate corresponding /etc configuration files. I also had to deal with MAC addresses for red interface and a few things… ;
  • reboot, reboot, reboot, test, and relax ;
  • think at a disaster solution for my customers (hopefully, it was my own FW !).

By the way, I searched for eurlatgr file inside the new FW, and didn’t find it (I don’t have all addons installed yet, and I’m on a 180) yet. But find some traces on git 181…

First thoughts : I was stupid launching upgrade late in an afternoon. I was stupid not having any disaster recovery solution.

I also got this error. Fix was to restore from a backup. IPFire is running in a ProxMox VM.

I can find eurlatgr mentioned here but it is commented out.

Hello all!

Many thanks to the developers for providing ipfire.

The same problem here: After upgrading to 181 the system hangs at reboot.

Boot hangs – first trial

  1. After upgrading from 180 to 181 without reboot, the firewall remained funtional.
  2. After a scheduled shutdown the firewall could not boot.

Boot hangs – second trial

I inserted a storage card with an ipfire-backup into the same APU2C4. The Symptoms again:

  1. After upgrading from 173 to 181 without reboot, the firewall remained functional.
  2. After a scheduled shutdown the firewall could not boot.

In both trials the error messages were identical. The following is an excerpt from those messages:

Run /init as init process
dracut: IPFire-2
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.47.0-ioctl (2022-07-28) initialised: dm-devel@redhat.com
udevd[337]: starting version 208
random: crng init done

setfont: ERROR setfont.c:417 kfont_load_font: Unable to find file: eurlatgr

dracut Warning: Could not boot.
dracut Warning: Could not boot.

dracut Warning: /dev/disk/by-uuid/<disk-uuid root-partition> does not exist
dracut Warning: /dev/disk/by-uuid/<disk-uuid root-partition> does not exist
. . .
Dropping to debug shell.

Adding rd.debug to the kernel command line produces a repetitive rdsosreport.txt file with several hundreds pages.

From my point of view, the following facts may be relevant:

  • During boot process, the contents of the boot-partition can be read.
  • dracut complains about a non-existing root partition.
    • However, the partition can be mounted without problems on my desktop computer.

The setfont error message emerges at first but may not point to the root cause.

My Hardware: APU2C4. I am using ipfire in a router cascade for several years. As a result of this error, I am working without ipfire now, but would like to use it again as soon as possible.

Does anyone have an idea or even a solution?
I would greatly appreciate your help.

Commongood

1 Like

The missing font file should not prevent the system from boot. (on an APU sentfont fails in every case because there is not video card set could set a font.)

the question is why it cannot find the root partition (looks like a missing kernel module in the ramdisk). Is there a problem with disc space or a file system error? Can you check the upgrade logs in /opt/pakfire/log/upgrade…

2 Likes

disk space

  • on the boot partition – size is 57 MiB – only 3.2 MiB are available.
  • on the root partition, 4.4 GiB are available.

check of filesystem

sudo fsck.ext2 /dev/sdc1
    e2fsck 1.46.4 (18-Aug-2021)
    ipfire_boot2: sauber, 311/15360 Dateien, 55104/61440 Blöcke
sudo fsck.ext4 /dev/sdc3
    e2fsck 1.46.4 (18-Aug-2021)
    ipfire_root2: sauber, 31359/472352 Dateien, 645635/1888000 Blöcke    

contents of upgrade logs

upgrade to 181: /opt/pakfire/logs/update-core-upgrade-181.log

  • “suspicious” lines marked by arrows
removed <file/directory name>          ##### until line 3602 #####

Extracting files ...                   ##### until line 14707 #####
...Finished.

removed '/etc/udev/rules.d/81-cdrom.rules'
removed '/etc/udev/rules.d/83-cdrom-symlinks.rules'
removed '/lib/libudev.so.1.6.3'
removed '/lib/udev/collect'
removed '/lib/udev/init-net-rules.sh'
removed '/lib/udev/rule_generator.functions'
removed '/lib/udev/write_cd_rules'
removed '/lib/udev/write_net_rules'

Searching in /usr/lib...
Searching in /lib...

Stopping udev daemon...
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m

Populating /dev with device nodes...
Starting udev daemon...
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m
Restarting Apache daemon...
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m
dracut: Executing: /usr/bin/dracut --kver=6.1.61-ipfire --force
dracut: *** Including module: modsign ***
dracut: *** Including module: i18n ***
dracut: *** Including module: dm ***
dracut: Skipping udev rule: 64-device-mapper.rules
dracut: Skipping udev rule: 60-persistent-storage-dm.rules
dracut: Skipping udev rule: 55-dm.rules
dracut: *** Including module: kernel-modules ***
dracut: *** Including module: kernel-modules-extra ***
dracut: *** Including module: lvm ***
dracut: Skipping udev rule: 64-device-mapper.rules
dracut: Skipping udev rule: 56-lvm.rules
dracut: Skipping udev rule: 60-persistent-storage-lvm.rules
dracut: *** Including module: mdraid ***
dracut: Skipping udev rule: 64-md-raid.rules
dracut: *** Including module: qemu ***
dracut: *** Including module: rootfs-block ***
dracut: *** Including module: terminfo ***
dracut: *** Including module: udev-rules ***
dracut: Skipping udev rule: 40-redhat.rules

dracut: Skipping program /bin/loginctl using in udev rule 71-seat.rules  < <
        as it cannot be found                                < < < < < < < <

dracut: Skipping udev rule: 91-permissions.rules
dracut: Skipping udev rule: 80-drivers-modprobe.rules
dracut: *** Including module: base ***
dracut: *** Including module: fs-lib ***
dracut: *** Including modules done ***
dracut: *** Installing kernel module dependencies ***
dracut: *** Installing kernel module dependencies done ***
dracut: *** Resolving executable dependencies ***
dracut: *** Resolving executable dependencies done ***
dracut: *** Hardlinking files ***
dracut: Mode:                     real
dracut: Method:                   sha256
dracut: Files:                    1070
dracut: Linked:                   5 files
dracut: Compared:                 0 xattrs
dracut: Compared:                 56 files
dracut: Saved:                    1.1 MiB
dracut: Duration:                 0.097195 seconds
dracut: *** Hardlinking files done ***
dracut: Could not find 'strip'. Not stripping the initramfs. < < < < < < < 
dracut: *** Generating early-microcode cpio image ***
dracut: *** Constructing AuthenticAMD.bin ***
dracut: *** Constructing GenuineIntel.bin ***
dracut: *** Store current command line parameters ***
dracut: *** Creating image file '/boot/initramfs-6.1.61-ipfire.img' ***
dracut: *** Creating initramfs image file '/boot/initramfs-6.1.61-ipfire.img' done ***
mv: cannot stat '/var/ipfire/ovpn/ovpnconfig.new': No such file or directory
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.1.61-ipfire
Found initrd image: /boot/initramfs-6.1.61-ipfire.img
fgrep: warning: fgrep is obsolescent; using grep -F
done

And for comparison the previous upgrade: /opt/pakfire/logs/update-core-upgrade-180.log

Extracting files...                    ##### until line 10280 #####
...Finished.
removed '/usr/lib/<file name>          ##### until line 10348 #####

Searching in /usr/lib...
Removing /usr/lib/libedit.so.0.0.70...
Removing /usr/lib/libfreetype.so.6.20.0...
Removing /usr/lib/libjson-c.so.5.2.0...
Removing /usr/lib/libmpfr.so.6.2.0...
Removing /usr/lib/libstdc++.so.6.0.31...
Removing /usr/lib/libtiff.so.6.0.0...
Removing /usr/lib/libtiffxx.so.6.0.0...
Removing /usr/lib/libunbound.so.8.1.21...
Searching in /lib...
Removing /lib/libproc2.so.0.0.1...
Removing /lib/libz.so.1.2.13...

Stopping SSH Server...
e[1Ae[0Ge[24G   e[1;33mNot running.
e[1Ae[0Ge[72Ge[1;34m[e[1;33m WARN e[1;34m]e[0;39m
Stopping vnstatd...
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m
Mounting vnstat ramdisk...
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m
Starting vnstatd...
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m
Stopping Unbound DNS Proxy...
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m
Starting Unbound DNS Proxy...
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m
Stopping udev daemon...
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m
Populating /dev with device nodes...
Starting udev daemon...
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m
Stopping Intrusion Detection System...
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m
Starting Intrusion Detection System...
e[1Ae[0Ge[72Ge[1;34m[e[1;32m  OK  e[1;34m]e[0;39m

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.1.45-ipfire
Found initrd image: /boot/initramfs-6.1.45-ipfire.img
fgrep: warning: fgrep is obsolescent; using grep -F
done

The bootpartition is too small. kernel+initrd more than 60MiB and grub is also not small.
This must be a very old installation we have changed the size 2018 to 128MB and later to 256MB because the kernel grow and grow…

2 Likes

@ V V:
Thank you for starting this thread. Did you edit the title? From my point of view, the setfont error message might be misleading.

  • It is always the very first message to be seen when the boot process begins to hang.
  • However, in my case there is also a warning that the root partition cannot be found.

By the way, I’ve been logged into ipfire via the serial port.
Could you also find such a warning?

Commongood

@ Arne F.
Thank you for your reply. Indeed, this is an installation from 2017.

I can resize the boot partition to 256 MB, or even to 512 MB. But would resizing alone solve the problem?

Presumably some files are missing now on the boot partition. What steps would you recommend to make the system functional again? I would like to avoid a complete re-installation.

You have right. I have overlooked that message because there was always a setfont message at my tests.

You can resize it and after this copy the kernel initrd and the modules from /lib/modules/ from an other installation. (Modules and kernelimage must from the same built because they are signed)

I would copy the flashimage to an usb-stick and use this kernel/modules as source.

1 Like

Would it be possible to check for empty space on partitions before upgrading ?

Yes, it was a quite old installation, and I had messages telling me my partition was a little bit too small, but nothing really alarming.

@ Arne.F
Would I need a complete installation or would the flashimage (https://downloads.ipfire.org/releases/ipfire-2.x/2.27-core181/) suffice?

I have not a good idea how this can implemented. I don’t have the information how much larger the new files are. I have to think about this…

There was a typo in my post that i have changed.
I would xzcat the flashimage to an usb stick (whick result in a install without swap partition) but you can also use the iso to install it on a spare disk.

@ Arne.F
I’ll try this at the weekend or at the beginning of the next week.
Thank you very much for your help!
Commongood

I can’t edit anymore. @Jon did add the error message to the title.

Hello V V @y96m7xoa9p - what would you like the title to be?

But you know that 60 (128) MB is definitely too small for a new version and you can then cancel the update process. This doesn’t help in all cases, but it’s better than nothing.

1 Like

I have just installed 180 a month ago and the boot partition is now 512MB.