Hi Gábor, Gábor Boskovits writes: [...] >> Christopher suggested I might be able to at least mount the filesystem >> with the degraded option in the guix rescue environment, which might be >> something like: >> >> --8<---------------cut here---------------start------------->8--- >> (mkdir "/mnt/broken-root") >> (mount "/dev/sda3" "/mnt/broken-root" "btrfs" 0 "degraded") >> --8<---------------cut here---------------end--------------->8--- >> >> but we do not know how to proceed from there. > > I don't know what would work from here, but here are a few ideas: > 1. somehow hack the degraded root option into the bootloader config, like > here: > https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1229456 Oh great! I was not able to find what it seems a solution to boot: add "degraded" to the "rootflags=" kernel parameters (ah my ignorance!) I also find (just now :-S) this message very helpful: https://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg31265.html > 2. try to switch_root, using /bin/sh as init, and try to fix the bootloader > config from there. This is not strictly needed, all I need to boot is entering the grub editing mode, boot degraded and solve the problem with "btrfs replace..." and "btrfs balance..." I was thinking to permanently add "rootflags=[...],degraded" as kernel parameter but reading the message I mentioned above: --8<---------------cut here---------------start------------->8--- Altho if it is indeed true that btrfs will now refuse to mount writable if it's degraded like that, that's not such a huge issue either, as the read-only mount can serve as the same warning. Still, I certainly prefer the refusal to mount entirely without the degraded option, if indeed the filesystem is lacking a component device. There's nothing quite like forcing me to actually type in "rootflags=degraded" to rub my face in the reality and gravity of the situation I'm in! =:^) --8<---------------cut here---------------end--------------->8--- I changed my mind: booting in degraded mode should be done "manually" just to solve the issue :-) > 3. see what the original script is doing, either by having a look at how it > is composed: > see for example: gnu/system.scm: > operating-system-default-essential-services, > gnu/services.scm: %boot-service and most prominently: > gnu/services/shepherd.scm: shepherd-boot-gexp > > Wdyt? I'm certailny going to study how Guix instruments the booting of a machine, but I need time... and I'm late :-S Thank you very much for the pointers, indeed! [...] Ciao, Gio'. -- Giovanni Biscuolo Xelera IT Infrastructures