Bug#1102604: debian-installer: Rescue mode can not execute shell when root filesystem is btrfs
On 18/04/2025 at 01:24, Tyler Riddle wrote:
I think it would be fine if the btrfs sub
volumes were enumerated and a list of options was provided to me to select
from and the chosen sub volume was used as the location to launch the
shell.
Do you mean the following ?
- list the partitions (same as now)
- let the user choose a partition (same as now)
- if the filesystem is btrfs,
  - mount the top level subvolume on /target
  - list the subvolumes
  - if there are subvolumes (other than top level),
    - let the user choose a subvolume (including top level and default)
    - if the selected subvolume is not top level,
      - unmount the top level subvolume
      - mount the selected subvolume on /target
Other concerns notwithstanding I think it would make sense to
continue to have the contents of /target be the btrfs volume mounted with
no subvolume specified (continuing the behavior as it is now) and that when
the menu is used to pick a subvolume it only tells the Debian installer
what the chroot directory should be.
I see two issues with this:
- If the default subvolume is not the top level subvolume, then other 
subvolumes which are not in its path are hidden.
- rescue.d/ scripts which may belong to other packages than rescue-mode 
such as grub-install expect the system root to be in /target.
The first issue can be solved by mounting the top level subvolume 
instead of the default subvolume. However the second issue requires to 
change the interface between rescue-mode and rescue.d scripts.
If there is only a single subvolume present I don't see why it would be
necessary to prompt the user to select the only option from a list
Do you mean if the filesystem has only the top level subvolume ? Or only 
one subvolume such as @rootfs in the top level subvolume ?
Reply to: