Peppermint Devuan install issues

I did a hard install of PeppermintOS Devuan Edition, onto a machine with several other Linuxes. It is based on Devuan5 (Daedalus)
I had a hard time convincing the Calamares installer to just write the OS to disk partition (/dev/sda12) and not write anything else, especially not grub.
I got there, using the manual partition section in Calamares, and doing nothing other than mount /dev/sda12 to /.

So after the install copy finished, I rebooted, went to MX, which controls my grub, did update-grub , rebooted and I get Peppermint in the grub menu and it boots.

Nice. My next culture shock was , its Xfce terminal has no scrollbar. So fix that and it is time for bed…

Next day I start up computer, try to boot Peppermint, an it fails!
Message is

Waiting for root filesystem
Warning /dev/sda12 does not exist....

So what is wrong is, I have 2 disks, sda and sdb… but the labels yesterday were hd0=sda, hd1=sdb, whereas today it is hd0=sdb, hd1=sda
Normally , we can cope with that, by putting UUID numbers into /etc/fstab.

So take a look at /etc/fstab in Peppermint

# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=881e5d2e-e2a4-426c-9351-c283ddb1aa99 /              ext4    defaults,noatime 0 1

So it has the correct UUID… I checked it carefully.

So what is wrong?
I take a look in MX at /boot/grub/grub.cfg
The Peppermint entry is

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'PeppermintOS Devuan (on /dev/sda12)' --class peppermint --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-881e5d2e-e2a4-426c-9351-c283ddb1aa99' {
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt12'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt12 --hint-efi=hd0,gpt12 --hint-baremetal=ahci0,gpt12  881e5d2e-e2a4-426c-9351-c283ddb1aa99
        else
          search --no-floppy --fs-uuid --set=root 881e5d2e-e2a4-426c-9351-c283ddb1aa99
        fi
        linux /vmlinuz root=/dev/sda12
        initrd /initrd.img
}

So 2 things wrong there
set root='hd0,gpt12' should be hd1
and
linux /vmlinuz root=/dev/sda12 should use the UUID

But,
No point editing /boot/grub/grub.cfg… that would be temporary

How do I fix it permanantly?
Surely I dont have to go to /etc/grub.d and write a 40_custom entry?
Why did os-prober get it wrong?
I cant see anywhere in the Peppermint filesystem where /dev/sda12 is stored so where did grub get it from?

2 Likes

You need to build a machine around VirtualBox and build your different distros in a VM, there is very little lost with running a Linux in a VM, compared to a hard install. I will see if PeppermintOS Devuan will install in Ubuntu with VirtualBox.

I tried to install this using VirtualBox, it would get to 73% “removing 9 packages” and just quit. I tried several different ways, do not have all day long for Peppermint to remove 9 packages.

It did not do that to me.
I spent a couple of hours trying to figure out Calamares.
I has one good point… it tells you exactly what it is going to do, before doing the install step… I had to back out several times… hard installs are dangerous.
Telling it to do what you want with partitions is confusing.
I wanted a hard install to compare it with straight Devuan.

1 Like

The multi-boot / distro hopper use would be a good for something like Rosika does: boot from USB drives. Just swap in the one you want and away you go. It has always booted much slower for me, but maybe with newer versions of USB it is speedier. This would avoid the multi-boot Grub issues since there is just one distro installed at any given time. A second drive could be where all documents and persistent data is kept.

2 Likes

What was the solution?

@4dandl4 ,
I dont know how you got the solution tag? I removed it.

Not there yet.
Obviously I can boot Peppermint by editing the grub menu,
but that is not a solution
I am thinking overnight Peppermint may have an unusual
/etc/default/grub file. I have to check

1 Like


Peppermint OS running in VirtualBox.

No it is not that.
There is an option

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

but it is commented out.

Does anyone know if grub looks at

  • the /etc/default/grub file in the distro controlling grub, or
  • the /etc/default/grub file in the distro it is constructing a grub.cfg for
    when it is constructing the grub.cfg file during an update-grub?

I assumed the latter?

Looks different to mine. Have you got Peppermint Devuan Edition?
I have a menu and a system tray, no icons.
I am in Peppermint now… I can boot it, but the grub.cfg is not right.

SUCCESS!!
In the /etc/default/grub file in PeppermintOS, I put

GRUB_DISABLE_LINUX_UUID=false

Then rebooted into MX, which controls grub, did update-grub
and looked at the /boot/grub/grub.cfg file.
The Peppermint entries now have
set root='hd1,gpt12'
and
linux /boot/vmlinuz....... root=UUID=....... ro quiet splash
that looks correct
So reboot and choose Peppermint, and it boots first go.

So why did Peppermint require that, while the other 3 distros I have are happy with the default /etc/default/grub?
The answer has to be, Peppermint has a different default for that parameter, so if you leave it out you get a different setting. The Peppermint default must be true.

What this also does is answer my question in
reply no 9.
To influence grub.cfg entry for a distro, fiddle the /etc/default/grub file in that distro…
at least for parameters like
GRUB_DISABLE_LINUX_UUID

Did you notice the confusing double negative
in this parameter?
grub is full of such bad syntax
GRUB_DISABLE_OS_PROBER
has it too.

Looks like my list of ways to keep multiboot grub happy needs an addendum

2 Likes

Yes, with Openrc init not the SysVinit.

Good choice.
mine is with runit init… because I wanted to see how it configured runit
Working towards installing runit in Gentoo. I need to understand it first. Seeing what other distros do is a good way to learn.

1 Like

I think distros, like Peppermint, is one of the reasons I have spent so much time learning and using Gentoo!!! I control what is installed, not by some dev, whom may think every piece of software, under the sun, is needed.
I am sure there are scripts on git that can be used to run “runit” with Gentoo, although I fail to see the difference. Post me a message and explain exactly what SysVinit, Openrc init and runit is along with systemd.

1 Like

That is actually a big ask… I am only half up to it… that is why I am looking around.
Here goes

  • they all start the first process (after the kernel). It is generally called init
  • all other processes are children of init … obtained by
    forking, or children of children… etc. All running processes firm a heirarchy.
  • they all deal with daemon processes… jobs that run forever in background. Sometimes called services.
  • they all provide a means to start or stop a daemon… or to
    autostart it at boot
  • some of them also ‘manage’ running daemons…ie if the thing fails, they automatically start it again

The thing that bothers me is , Freebsd gets by without any of this nonsense. It just uses a script called ‘rc’ to start things at boot. Nothing else.
Remember Freebsd would be the most stable and the best long-running distro … that is why it is favoured for servers.
Freebsd can do without all this init nonsense… so why does Linux need it? Has Linux gone off the deep end with elaborate
process management?

That is what I am looking into. How can I get the simplest
and most cut down init system into Linux?
Both OpenRC and Runit go close… but I think there is a better way…
When I used BSD in 1980’s the method of starting a daemon
was to type its name on the command line… just like any other process. You can still do it that way. We need to get back to that.

https://wiki.gentoo.org/wiki/Runit
One of the best accounts

1 Like

AH!!! Yes and i will do a command line start of a new app when installed in Gentoo!!! Why? Because it will usually put the app in the application menu for the GUI start. Only one app is different, because it is a flatpak install and is sandboxed. AisleRiot Solitare has to have the xdg-portal emerged along with canberra, for it to show in the games application menu.
I think Linux, over the years, has or has tried to become more “Windows-Like” with the GUI approach for starting apps, so Linux has init. You and I are a dying breed, destined for an old-folks-home or some other merciful way out of this world. I guess that is why we still use Gentoo!!!

Dont forget hyperbola
and
you can build any distro like Gentoo … start from the minimal CD ( sometimes called network install)
It can be difficult… see my recent failure with Antix.

I think Linux, over the years, has or has tried to become more “Windows-Like” with the GUI approach for starting apps

The trouble with using a GUI for system work is you have no record of what you have done.
We should do it at the CLI and script it.

I loaded it in Gnome Boxes. Looks exactly the same, works fine.

1 Like

Did you see the thing called Xdaily in the control centre?
Its is like an enhanced version of apt update/upgrade.

No control center, no Xdaily. There’s a Peppermint Update in the panel that starts a script in Terminal to run all the available/necessary updates.