this post was submitted on 05 Sep 2023
47 points (92.7% liked)
Linux
48083 readers
848 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Warning: this is definitively doable, but messier than it looks like. I'd recommend you to partition it manually, before installing any distro, like this:
Don't worry too much on getting the space right though - if necessary you can always resize a few partitions after installation. It's a bit of a bother though.
Do not share /home across distros, it's simply more trouble than it's worth. Instead, mount that "storage" partition in each distro, inside your /home/[$username] directory.
Another thing that you might want to consider is virtualisation. Odds are that you won't use a lot of those distros in your everyday, and that you're just curious about their differences. In that case, consider installing one of them, install Virtualbox in it, and then the other distros get installed inside Virtualbox. I'm suggesting that because it'll use overall less space, and make distro management less messy.
Thanks. I do not want to mess around with virtualization; I went down that rabbithole before and got lost and broke stuff lol. I need to do a bit more research and learning before im more confident with virtualization. So how large should the swap be? and what about a bootloader?? Are all three compatible with grub? also how large should the bootloader partition be? thanks, this is all a bit foreign to me.
VM are as easy as point and click with GNOME Boxes, also available as standalone.
Gotcha. Never explored Gnome boxes yet; probably just waiting for the right time. I've been trying to learn a whole lot of other tech stuff, so I sorta put virtualization on the back burner for now. Definitely wanna learn about KVM, lxd and lxc and even gnome boxes. just not right now
Happy hacking ✌️
All those distros are compatible with grub, and come with their own copies of it. You just need to install your distros, and then when you say "I want THIS ONE to manage boot", you follow this tutorial. (It's supposed to help you reinstalling grub after Windows, but it works fine for grub after another Linux instal).
Or, if you want to be lazy - install last the distro that you want to manage boot, then tell it "screw the current boot, reinstall it".
I wouldn't bother with a bootloader partition. The bootloader runs fine from any distro partition, and it's small enough so you don't need to worry about it wasting space.
I've been running my system without swap whatsoever for quite some time, and it runs fine. But if you're planning to use hibernation or similar, reserve the same amount of swap space as you have RAM; for example if you have 8GB RAM then at least 8GB swap.
IMPORTANT: if hibernating a distro, don't boot another distro, otherwise the hibernation data will get wiped.
Perfect! I will be disabling hibernation in Bios. Also, how exactly do you choose a default bootloader when each distro automatically installs their own? not sure on that process. Or do things like display managers matter? or is Xorg or Wayland pretty much good for all three?
I'd probably let Debian or LMDE do it simply because I'm more used to those distros, but you can simply roll a die if you want.
Or, if you already chose which distro should manage boot, and you want to know how to do it - the tutorial in the link does the trick. I'll adapt and copypaste a simplified version here:
how to let the distro of your choice manage boot
Install all distros the way that you want. Make sure that you know in which partition each is installed.
Pick the distro of your choice to manage boot. Let's say that it's Foobar Linux, and it's installed in /dev/sda69. (why 69? Because it's funny, so you'll remember to replace it with the right number later on.)
Boot in some live USB. The distro in that USB doesn't matter.
Open a terminal. Type the following junk in it:
sudo sudo mount /dev/sda69 /mnt for i in /sys /proc /run /dev; do sudo mount --rbind "$i" "/mnt$i"; done sudo chroot /mnt update-grub
5. This should be enough. Now restart your computer without the live USB, and your Foobar Linux should be managing the boot.
And just now I realised that some random distro might decide to take over the boot, once it updates kernel (as it triggers updating grub). So when installing the other distros, look for some configuration that allows you to not install grub in it. (It's also possible to remove it after the installation of the distro.)
That's a per-distro choice, you could go with Wayland for some and Xorg for others. I would probably go with Xorg for all three because it works for me.
Thanks! still a tad confusing for me, but it's something to work with at least. so you only mount the one that you want to handle the bootloader? what about the storage drive? do I just mount all the partitions to that drive and they will all automatically save to that storage drive? I ought to look up diagrams and such just to see it visually I think. Also, someone mentioned creating the partition first. how would that work out if you're still running a distro? would rebooting wipe that out and keep the partition in tact and then you work from there? or do you just partition as you go along with each install?
I think that this might help you, since you said that you mentioned diagrams:
The numbers after /dev/sda will change depending on how you partition your SSD, as well as their order, and I'm assuming that your username will be "macaroni" for simplicity, but look at the idea. (Also, you don't need to mount your personal files partition in /home/macaroni/storage. It could be mounted anywhere you want, even /randomjunk/catpix/dogpix/mypartition.)
If I recall correctly you don't need to mount the partition with grub (the bootloader), but do check it with other users as I'm not sure of that. Once you update grub in that distribution, it'll automatically detect "look! There are other systems here! I'll add them to the boot options!".
You should only create, delete or modify partitions of your SSD from a live USB. Never do it while the system installed in your SSD is running. Those partitions will stay even after you reboot.
I recommend creating the partitions first, then installing your distros. This way you'll have better control on how to organise your partitions. For example, if you decide to install Arch on the third partition, you can simply say it "hey, you shall be installed in /dev/sda3", no matter the order that you're installing Arch vs. other distros.
this is very very helpful, thanks alot. I love lemmy over reddit. you guys are actually kind and helpful here. so I mentioned in other posts, I don't store a whole lot of things at all and anything important is stored in a cloud. So do I necessarilly need to create a storage partition? can't I just use storage within each distro partition for trivial stuff like downloads or whatever? I hope that makes sense
You don't need to create a storage partition if you don't want to. You could theoretically reduce that partition table from the diagram to three partitions - one for each distro. It's up to you, really.
The problem that I see with that is organisation and security:
Oh ok, so scratch that idea then lol see, this is the stuff I have no clue about! thank you
Hibernation is an OS feature, so you can't disable it in the BIOS. You can either disable it in all your distros or simply not use it.
Oh, believe me: There are so many messy BIOS and UEFI implementations out there that you can definitely deactivate it in the BIOS for some. Which just introduces even more mess where hibernation triggered on the OS level then fails.
Oh ok thanks. I just coulda swore I saw a hibernation setting in BIOS. That's another thing, would I have to create a Bios partition? this is a tad more confusing that I thought. Also determining the proper sizes of everything. What about an efi partition? or is that only associated with Windows? I have no clue
~~There are no BIOS partitions - you may be confusing the term with the BIOS partition scheme, but that doesn't matter in this context~~ "BIOS partitions" do exist, but they are irrelevant on modern machines - they are for booting GPT disks on systems that only support MBR disks.
If you need an EFI partition, the first installer will create one. As for the sizes, the recommendation in the other comment makes sense to me (one ≈60 GB partition per distro, one swap partition and one partition for your personal files that uses the remaining space on the disk).
I mean SHOULD I make an efi partition? I have no clue if I need it or if it's optional. Simple is better in my case lol. SOO just trying to put it all together so far. first create a roughly 8gb fat32 partition for swap? Then a 60gb ext4 partition for distro 1, then so on with the other two partitions and thats it? how does the storage partition work? what format should that be? and I was reading about mount points and stuff, what ought I know about those?
If this is a plain computer (desktop/laptop): I'd simply turn EFI off and call it a day.
If the installer doesn't automatically create an EFI partition, you can create a small FAT16 or FAT32 partition (a few hundred MB should be enough).
The swap partition is just a swap partition - that is the partition type you select in your partitioning tool.
The storage partition can be any format you want. If you don't need to access it from Windows, just use ext4.
Mount points are similar to drive letters, but more flexible. You can read these Wikipedia articles: https://en.wikipedia.org/wiki/Mount_%28computing%29 https://en.wikipedia.org/wiki/Fstab
Thanks again. So did you mention it's not really necessary to install an efi partition? Idk if I need it or not? or is it just better safe than sorry, sorta like a swap?
If you install your first distro without creating any partitions manually, the installer will probably create an EFI partition. Maybe it wouldn't need to create one on your specific system, but it will probably do it anyway.
gotcha! now how would that storage partition work? like do you point each distro to that partition? is that how that works?
Usually you create an entry in /etc/fstab that tells the system which partition should be mounted where. I'd do that in each distro once you have installed all of them.
Grub is compatible with pretty much everything.
What?
virt-manager qemu qemu-kvm
Important note: using
distrobox
ortoolbox
you can run packages of pretty much any distro on your Laptop. I am currently using Ubuntu PPA VLC 4.0 on Fedora Kinoite.So virt manager, KVM, and qemu is the recommendation solution for this? Opposed to other methods like virtual box or gnome boxes or the other various virtualization platforms out there?
Hmm, I use Virt-manager as it supports some things with no GUI in Gnome boxes. Gnome boxes seems nice, but after trying certain things you get to a limit of functionalities.
Kvm ans qemu are always needed.
Gnome boxes has a flatpak, but that one has no usb support for some weird reason.
Really nice idea with the shared swap and storage!
Caveats:
Apart from that, great recommendation!
In the end you can simply delete all partitions except your storage partition, reinstall any distro and mount that partition to
/home
Fedora's swap on zram shouldn't pose a problem - at most it won't use the disk swap, but other distros still would.
Encryption is important but I wonder if OP would make much use out of it, given that he plans to bulk store his items in the cloud. The storage partition would be mostly for things "at hand". And if necessary, as you said, some elbow grease lets you have encryption and still access it from all distros.
I don't recommend OP to mount that partition directly to
/home
itself. It's bound to create problems later on due to software in different versions interacting with software that may or may not be present depending on the distro. Mounting it inside some other directory (even inside /home, e.g. /home/username/storage) feels considerably safer.Right you would then have something like
...
What a mess. But if you kinda keep track of what is what (maybe search for the packages
dnf
apt
yay
and so on) it can workOh I just watched a video about home. So is that a partition of it's own? the guy was saying he was using different homes for each distro and it became a mess, so he planned to install one home directory for all distros.... idk?
/home is a directory ("folder"). Inside that directory, there's one subdirectory for each user, where you're expected to keep your personal files, configuration files, user data from software (e.g. save games from your games), stuff like this, personal data.
And Linux allows you to mount any partition in any directory of your choice.
Because of those two things, a lot of people create a partition and mount it as /home. So if something bad happens with the distro, and you need to reinstall it, ~~your princess is in another castle~~ your data is in another partition, safely stored. It's usually a good idea, but in your case it's a bad idea - because your /home/[insert username] directory from one distro will be likely the same as in the other distros, so they'll interfere on each other, and software user data will become a mess.
Instead, what I recommend you is to not create a /home partition. Let each distro have its own /home. However, do create a partition to store your data, and mount it inside your /home/[insert your username] directory. That way you can access all your files from all your distros, but the software user data won't be mixed.
Ahh brilliant! so create ONE storage partition and just mount that one partition in each distro's home directory?
Yup. Check the diagram that I posted as a reply to another comment. It's a clean way and it allows you to access your files from all your distros.
At least in theory you could even use a /home partition if you really, really wanted, but then you'd need to make sure that your username is different for each distro. It's more work than it's worth, and muscle memory will make you to try to log into one system with the username of another system.