Gave up waiting for root file system device

Have installed the distro as a guest OS on VirtualBox, running on macOS (host OS).

However, when it attempts to boot up, I get the following error:
Gave up waiting for root file system device.
ALERT! /dev/mapper/pbxvg0-lvroot does not exist.
Note that /dev/ exists, but not /dev/mapper/.

The error message also says to:
Check rootdelay= (did the system wait long enough?)
This refers to the contents of /proc/cmdline, which is as follows:
BOOT_IMAGE=/vmlinuz-6.1.0-53-cloud-amd64 root=/dev/mapper/pbxvg0-lvroot ro single

I read in the Debian installation manual that, if the installation succeeds, any
boot problem ought to be fixable.

The obvious first thing to try is to set the rootdelay param in /proc/cmdline,
but I’m new to Linux, and can’t find any instructions for doing that.
Nor have I found instructions about what value to assign to it.

Please could sb help.

Best regards, Rob

Did you let the system partition the disk? If you didn’t you need to make this line match the way you have actually partitioned it.

Although I haven’t installed FreePBX on Debian, this sounds like such a fundamental failure, that I don’t see how it could happen if you did an automated install of the OS/FreePBX combination.

Howdy! Welcome to the FreePBX Community forums.

From the GRUB boot menu – the one near the start up of your computer that shows the Sangoma and FreePBX logos – you might be able to press the letter ‘e’ on your keyboard to enter interactive editing mode. Then, using the arrow keys, navigate to the end of the longest line, and where it says ‘quiet’ change that to ‘rootdelay=10’ for a ten second delay. Then press ‘F10’ or ‘Ctrl-x’ (CTRL key and x key at the same time) to boot up the system with that new setting and let us know how it goes.

A big aha and thank you for these instructions, which worked as described.

However, even with rootdelay=10, I got the same ‘Gave up waiting’ error.

With ‘quiet’ gone, I also saw the following:

…

Begin: Loading essential drivers … done.

Begin: Running /scripts/init-premount … done.

Begin: Mounting root file system … Begin: Running /scripts/local-top … done.

Begin: Running /scripts/local-premount … done.

Begin: Waiting for root file system … Begin: Running /scripts/local-block … done.

[ …

Begin: Running /scripts/local-block … done.

… above line repeated many times

done.

Gave up waiting …

Thanks for responding. I don’t recall being asked to do anything to do with partitioning, by the installer.

Have just installed and successfully booted into vanilla Debian 13,
also as a guest OS on VirtualBox.
(using the net-install .iso and default installation options).
Note that the Debian 12 .iso is no longer available.
So I can at least run basic Debian 13, if not the distro that includes freeBPX.

You can still download Debian 12 ISOs from official sources e.g. Index of /cdimage/archive/12.15.0/amd64/iso-cd then run the FreePBX v17 shell installer script manually.

Work for FreePBX v18 on Debian 13 is in progress.

Also you might be able to bump up the timeout even further, like 60 or 90 seconds, to see if that works for you.

Setting rootdelay=90 didn’t help.

But another big aha and thank you for that link.
Debian 12 installed and booted okay,
and the FreePBX installer script appears to completed successfully - hooray!

I know how to use my (UK) landline, like I know how to travel by air,
but it feels like I’ve just been handed the keys to my own aircraft, which I have no idea how to fly!