bedrocklinux / bedrocklinux-userland

This tracks development for the things such as scripts and (defaults for) config files for Bedrock Linux
https://bedrocklinux.org
GNU General Public License v2.0
597 stars 62 forks source link

openSUSE tarball? #292

Closed alemontn closed 12 months ago

alemontn commented 12 months ago

I really love this project but there's one thing that's been annoying me recently. I know you can get a stage 3 tarball from Gentoo's website but I can't see any tarballs for openSUSE.

I also haven't seen stage 3-style tarballs from any other distribution except Funtoo and Arch. I'm not sure why this is because these tarballs are a great way to get a system running.

When I download the ISO for openSUSE, I was expecting something similar to Arch Linux's airootfs.sfs that I could just unsquash and then brl import. However, there's just a load of .RPMs with no obvious way on how to install them.

Any help appreciated :)

alemontn commented 12 months ago

Found a workaround: 1: Flash ISO to thumbdrive 2: Reboot to thumbdrive and load openSUSE 3: Reboot to Bedrock Linux 4: Mount thumbdrive's main partition at /mnt 5: Make directory $HOME/tumbleweed and then unsquashfs /mnt/LiveOS/squashfs.img to $HOME/tumbleweed 6: Mount $HOME/tumbleweed/LiveOS/rootfs.img 7: Copy everything to $HOME/opensuse 8: Run chown -R $USER $HOME/opensuse 9: Remove $HOME/opensuse/home/linux 10: Run brl import opensuse-tumbleweed $HOME/opensuse 11: Disable automatic login

paradigm commented 12 months ago

If brl fetch isn't available, most people just brl import a VM, especially for a one-off stratum that doesn't need a repeatable/automatable setup. For a lot of people that's easier than finding a tarball or playing with ISOs as you're describing here.

I don't know about OpenSUSE, but in general the technique you're using is intended for a live system and may not necessarily be one-to-one with a normal install. After you've mounted the rootfs.img, consider chrooting into it the unsquashed/mounted filesystem and use it to have zypper do an actual, fresh OpenSUSE install without live system assumptions.

The normal brl fetch method would be to download and extract the packages from a mirror rather than a full install ISO. It saves bandwidth/disk by skipping unnecessary data and can cache packages for future brl fetching. I started working on such a brl fetch backend for OpenSUSE but redirected efforts to more pressing items and never got back to it. Feel free to look at /bedrock/share/brl-fetch/distros/.opensuse if you want to visit that effort; just rename it to remove the preceeding .. Also take a peak at the new brl fetch backend documentation

alemontn commented 12 months ago

Thank you, I'll definitely take a look at that in my spare time. I think I'll go ahead and delete the openSUSE strata I made previously and follow your guide instead. :)