Support booting from devices exposed as non-removable
Tails refuses to boot from devices that expose themselves as non-removable. Historically, all USB sticks said they were removable, even if this is not correct according to the specification (removable is rather for devices that can be fed with removable medium, such as a floppy drive). But:
- Some USB sticks (especially Sandisk) expose themselves as non-removable.
- Some external USB hard drives expose themselves as non-removable.
- There’s recurring interest in installing Tails on internal hard disks (e.g. for performance reasons, or to dedicate a machine to Tails, or to avoid having a USB stick protruding outside of a laptop, or to install Tails on a tablet’s internal storage): see #8422 for use cases and what it would take to support it.
A plan could be to:
pass the syslinux SYSAPPEND variable a bitmask that enablesDONE in d421f38e
FSUUID=functionality (bit 0x40000): this feature appends, to the kernel command-line, the UUID of the partition the kernel is booted from (added in 6.03-pre9, see commit 386b59e1 in syslinux Git)
- add support to live-boot to search the SquashFS only on the
filesystem specified by the FSUUID kernel command-line parameter,
when present; when present, FSUUID should override any
live-media=found on the command-line, so that we would still pass
live-media=removable, that would only be taken into account when booting from DVD.
Parent Task: #8422