BlendOS booting issue

Hello everyone my current setup is:
Ryzen 5 3600, 32gb ddr4, rtx 3070
Im currently multi-booting Linux Mint, Windows 11 and BlendOS on separate nvme’s. My problem is when I install BlendOS eveything works fine. However once I reboot I get an error message:

[FAILED] error failed to start generate locales using locale-gen.

The system just hangs there and does not boot after that. I have re-installed multiple times and I still get that error. Any help would be appreciated.

1 Like

What does the following command report:

grep -v ^# /etc/locale.gen

locale-gen takes the locales in /etc/locale.gen to generate files that are compatible with your locale. It sounds like no locale is specified.

Make sure that en_US.UTF-8 is un-commented in /etc/locale.gen. Then re-generate the file with:

locale-gen
1 Like

using the grep command it lists en_US.UTF-8 UTF-8. Also it is un-commented in locale.gen. When I run locale.gen it tells me that it’s a read only file system, cannot create temporary file.

So the result from the above grep command is what would be expected. That part (/etc/locale.gen) seems to be correct.

There are at least two reasons why the file system is read only:

  1. This is the design of the distro as an immutable file system. If that is the case, I offer my apologies for not recognizing the "read only " attribute of BlendOS. The inability to generate the locale-gen file could be related to the core design of the OS. I’m limited here as I don’t have any experience on BlendOS.

  2. A second reason the file system is ready only is based on errors on the disk that are encounter on the boot. Run this command and look at the contents of /etc/fstab:

cat /etc/fstab

If the 4th field in the line defining your disk parameters contains ‘errors=ro,’ it signifies that your fstab file instructs the system to mount the file system as read-only in the event of any errors. Here is the line from my /etc/fstab file that defines my system disk:

UUID=d2e38fc7-1ea4-41d9-9522-8176b0993d2d /               ext4    errors=remount-ro 0       1

If #2 is the case, consider looking for errors on the drive with:

# X below is the designation for your drive in question
sudo smartctl -H /dev/sdX

Additionally, you could load a live version of the distro on a USB device and then do a check disk on the UNMOUNTED drive:

# X below is the designation for your drive in question
fsck /dev/sdX
1 Like

Thank you so much for your time. BlendOS is a immutable system. I went into it thinking that it would ‘just work’ after install. Im going to have to do a little homework on how immutable systems work and then have another go at it. Again thank you very much for your time.

I suspect there is something to do with the multi-booting or the nvidia support. I am not doing either so I am not running into that kind of thing but at first glance this is what I am leaning to. I have forwarded this thread to the lead dev of blendOS, hopefully we’ll get an answer.

3 Likes

Has there been any update on this issue. I am running into it as well

Nope! I just moved on to a different distro.

1 Like

That’s a shame. I really like the look of BlendOS.

I’ve now spent 9.5 hours trying to fix this but can’t find a way of requesting systemd to not run locale-gen on every boot. I don’t understand why I would be getting this issue but others wouldn’t? Maybe because I am using “en_GB.utf8” as my locale and everyone else has chosen “en_US.utf8”, but then why have that selection of your preferences on the install app? I even tried to edit the systemd local-gen.service unit config file to set it to run \bin\bash -c ":" instead of the locale-gen command but that didn’t work either.

So I’m just very confused & disappointed that I can’t make it work

What are the results of :

locale -a ?

If your desired locale isn’t listed, generate it using sudo locale-gen <locale> (e.g., sudo locale-gen en_GB.utf8 ).

Set Default Locale: Use sudo update-locale LC_ALL=en_GB.utf8 to set the default locale

Apply Changes: Execute . /etc/default/locale to apply changes to the current session


Side note. . . If you like Immutable Distros, Fedora has several spins that are pretty good.

locale -a gives:

C
C.UTF-8
en_GB
en_GB.iso88591
en_GB.utf8
POSIX

My desired locale (en_GB.utf8) is listed, however I cannot run locale-gen because blendOS has an immutable file system.
Previously my desired locale was not available so I used this tool: Asterisk / blendOS Mutifier · GitLab to make the /usr/ directory writeable, then edit /etc/locale.gen to uncomment # en_GB.utf8 & # en_GB.iso88591 & then run locale-gen.

The issue is that systemd also wants to run locale-gen every boot (which it cannot because locale-gen needs to edit /usr/lib/locale/locale-archive which is read only). Why does locale-gen need to run every boot when the desired locale has already been generated?

I also cannot set the default locale because: -bash: update-locale: command not found.

And also: -bash: /etc/default/locale: No such file or directory


Response to your side note: I enjoy more than just the immutability benefits that blendOS brings, its bigger selling point to me is its use of containerised distro repos. I recommend you take a quick look at the blendOS homepage to see its more than “just another immutable distro”.

Definitely a bug that should be reported upstream. @MichaelTunnell forwarded it to the maintainers, crickets. . . Not a good sign IMO for a bug thats months old now.

Yeah, but all containers can do this already. toolbox is kind of messy without a config.json, Podman is just this but does need some tweaking IMO, distrobox is just a better toolbox and systemd-nspawn just needs you to set the sandbox_web_t or container_t context for SELinux if you want isolation from the OS.