A few weeks ago on macOS I tried installing Nix. I saw it created its own volume. “Oh gosh” I thought “is this going to permanently allocate some part of my small 250GB SSD to itself?” Imagine my surprise when I looked at the volume manager and saw both the main partition & Nix volume had the same max size of 250GB. It was at that moment I realized filesystems had in fact advanced since the early 2000s and statically-allocated exclusive contiguous partitions weren’t actually the way things had to be done anymore. Logical volumes can coexist in the same partition, using only however much space they need to use! This led me to discover the FOSS filesystem that has this feature (and is included in the Linux kernel), BTRFS.
I asked on Unix SE about installing different distros as subvolumes of a single BTRFS partition so they only take up as much space as they actually need, and you can do it but a lot of distro kernel upgrade workflows don’t account for it (as the author mentions, Windows updates might also have trouble with this). So I ended up using logical volumes instead, which are very well-supported and make partitions easy to manually grow/shrink & ensure you don’t have to worry about contiguous or empty space. So that got me most of the way there. Still, I look forward to a future where you can just set your entire disk (or multiple disks, using logical volumes) as one giant BTRFS partition and install everything into subvolumes so we never again have to worry about partition juggling.
The boot menu of Quibble looks like if you took grub, made it HiDPI aware, and added nicer fonts.
Underrated feature, I love when boot code acknowledges that monitors have been manufactured after 1990. I use systemd-boot which I don’t think has this.
The 13-in-1 multiboot image for rapid distro-hopping on the PinePhone is such a BTRFS partition, with a subvolume for each distro’s root and (IIRC) a shared kernel and initiramfs.
I remember a tool (around the 2.0 or 2.2 days) for doing this the other way around that provided a bootable memory disk that had symlinks into a FAT32 filesystem for most of the Linux FS. Running Linux on a filesystem that didn’t have UNIX-style permissions was interesting. There was also a DOS program that took advantage of the fact DOS ran in real mode to boot Linux from a DOS .EXE, so you could run Windows 9x, drop to DOS, and then run Linux as if it were a normal DOS program. For extra fun, you could then run DOSEMU to run DOS programs from your DOS filesystem in Linux.
UMSDOS was another way of doing something like this but in the other direction. It kept ownership, permission bits and the mappings to 8.3 FAT filenames in a special file.
A few weeks ago on macOS I tried installing Nix. I saw it created its own volume. “Oh gosh” I thought “is this going to permanently allocate some part of my small 250GB SSD to itself?” Imagine my surprise when I looked at the volume manager and saw both the main partition & Nix volume had the same max size of 250GB. It was at that moment I realized filesystems had in fact advanced since the early 2000s and statically-allocated exclusive contiguous partitions weren’t actually the way things had to be done anymore. Logical volumes can coexist in the same partition, using only however much space they need to use! This led me to discover the FOSS filesystem that has this feature (and is included in the Linux kernel), BTRFS.
I asked on Unix SE about installing different distros as subvolumes of a single BTRFS partition so they only take up as much space as they actually need, and you can do it but a lot of distro kernel upgrade workflows don’t account for it (as the author mentions, Windows updates might also have trouble with this). So I ended up using logical volumes instead, which are very well-supported and make partitions easy to manually grow/shrink & ensure you don’t have to worry about contiguous or empty space. So that got me most of the way there. Still, I look forward to a future where you can just set your entire disk (or multiple disks, using logical volumes) as one giant BTRFS partition and install everything into subvolumes so we never again have to worry about partition juggling.
Underrated feature, I love when boot code acknowledges that monitors have been manufactured after 1990. I use systemd-boot which I don’t think has this.
I know it’s amazing when I can see my bootloader
The 13-in-1 multiboot image for rapid distro-hopping on the PinePhone is such a BTRFS partition, with a subvolume for each distro’s root and (IIRC) a shared kernel and initiramfs.
https://xnux.eu/p-boot-demo/ https://xnux.eu/log/#046
I remember a tool (around the 2.0 or 2.2 days) for doing this the other way around that provided a bootable memory disk that had symlinks into a FAT32 filesystem for most of the Linux FS. Running Linux on a filesystem that didn’t have UNIX-style permissions was interesting. There was also a DOS program that took advantage of the fact DOS ran in real mode to boot Linux from a DOS .EXE, so you could run Windows 9x, drop to DOS, and then run Linux as if it were a normal DOS program. For extra fun, you could then run DOSEMU to run DOS programs from your DOS filesystem in Linux.
Yes, this was how Zipslack worked IIRC. There was also Wubi for Ubuntu.
I was expecting something like old Wubi, this is so much cooler.
UMSDOS was another way of doing something like this but in the other direction. It kept ownership, permission bits and the mappings to 8.3 FAT filenames in a special file.