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

Before version 0.8 is updated, how to add a manual installation method to the 0.7 version of Bedrock Linux (like 0.6)? Is it possible to use Chroot to test whether this Bedrock tarball can be "Cross Strata" normally? #276

Open txmu opened 1 year ago

txmu commented 1 year ago

This will make it easy to make a "distro based on Bedrock" :-)

txmu commented 1 year ago

Can I manually install 0.6 first, and then use Updater to 0.7.28?

paradigm commented 1 year ago

Before version 0.8 is updated, how to add a manual installation method to the 0.7 version of Bedrock Linux (like 0.6)?

In theory it should be possible for someone with adequate background, but it's not supported. At this point in the development cycle, 0.7 is only receiving maintenance updates while development is focused on 0.8. I don't want to delay 0.8 fighting tech-debt issues on 0.7.

Is it possible to use Chroot to test whether this Bedrock tarball can be "Cross Strata" normally?

I don't understand the question.

Bedrock Linux 0.7 interacts with chroot oddly, and so even without understanding the question I can guess the answer is probably "no." A Bedrock-0.8-aware chroot-like utility is planned for 0.8 to alleviate usual concerns here.

Can I manually install 0.6 first, and then use Updater to 0.7.28?

No, updates between 0.X releases are not supported. These are major, breaking architectural changes, and we don't have the resources to develop a reliable way to convert between them. Once we settle on an architecture without obvious future need to change it, we'll likely release 1.0 accordingly.

txmu commented 1 year ago

No, updates between 0.X releases are not supported. These are major, breaking architectural changes, and we don't have the resources to develop a reliable way to convert between them. Once we settle on an architecture without obvious future need to change it, we'll likely release 1.0 accordingly.

So, if I want to upgrade from 0.6 to 0.7, what should I do?

I don't understand the question.

Bedrock Linux 0.7 interacts with chroot oddly, and so even without understanding the question I can guess the answer is probably "no." A Bedrock-0.8-aware chroot-like utility is planned for 0.8 to alleviate usual concerns here.

Precisely, test these in the chroot environment. I think it should be impossible.

paradigm commented 1 year ago

No, updates between 0.X releases are not supported. These are major, breaking architectural changes, and we don't have the resources to develop a reliable way to convert between them. Once we settle on an architecture without obvious future need to change it, we'll likely release 1.0 accordingly.

So, if I want to upgrade from 0.6 to 0.7, what should I do?

If you want to badly enough, presumably either develop such a system yourself to hire someone to do it.

If you do pursue that, you may need to do so elsewhere with it noted as unofficial. I have no intention of delaying 0.8 over such an effort. In-place non-point upgrades are not planned for prior to 1.0.

Bedrock Linux 0.7 interacts with chroot oddly, and so even without understanding the question I can guess the answer is probably "no." A Bedrock-0.8-aware chroot-like utility is planned for 0.8 to alleviate usual concerns here.

Precisely, test these in the chroot environment. I think it should be impossible.

Gotcha. It is theoretically possible. In fact, that should be much, much easier than developing a system to reliably upgrade an arbitrary 0.6 install to a 0.7 install in-place. Still, I have no intention of diverting resources toward it for 0.6 or 0.7. Support for this kind of workflow is planned for 0.8, no sooner.

txmu commented 1 year ago

If you do pursue that, you may need to do so elsewhere with it noted as unofficial. I have no intention of delaying 0.8 over such an effort. In-place non-point upgrades are not planned for prior to 1.0.

Thanks. I didn’t have a long time to use Bedrock Linux. I just wanted to know if someone was installed 0.6 before the update of 0.7. When 0.7 is released, does he/she must back up the data and reinstall the system?😂

paradigm commented 1 year ago

Thanks

Happy to help :)

When 0.7 is released, does he/she must back up the data and reinstall the system

I plan to continue supporting 0.7 for while after 0.8 release. I realize reinstalling is a pain and don't expect everyone to do it at once. That said, updating to 0.8 will probably require a reinstall.

From the FAQ:

Until 1.0, there's no guarantee "major" updates can be applied in-place. Bedrock's research heavy nature means it may require major, unforeseeable changes to its underlying architecture to resolve open inter-distro compatibility issues. That having been said, efforts are made to minimize the frequency of such breaking updates and some degree of support for those who have not migrated is usually available for a reasonable period of time.

agnosticlines commented 1 year ago

Sorry to hijack the issue but curious, is there a release date estimate for 0.8? Or is it a done when it's done thing

paradigm commented 1 year ago

is there a release date estimate for 0.8?

Progress is highly variable depending on how much time I have to work on it. Some weeks I've been overwhelmed with unexpected non-Bedrock things or Bedrock support, and others I've been heads-down grinding away at it. I'm currently hoping for a alpha release early next year and stable release late next year, but I made that same hope a year back without realizing how rough the following year would be for me; take that estimate with a grain of salt.

Or is it a done when it's done thing

Bedrock is frustratingly inter-connected, and so releasing individual components (e.g. 0.8's strat) isn't terribly useful to people but does invite commentary and questions that ends up taking time away from development. My plan is to release a public 0.8.0-alpha1 once you can actually install 0.8 and get the basics working. This way any questions people have about things like how it works they should be able to figure out by actually reading the code or using it. I'll then add features and fixes until it hits the target feature set for 0.8.0 and consider it "released" accordingly. Each of these alpha/beta/stable releases are a done-when-its-done thing, but I do plan on publicly releasing many pre-0.8.0-stable releases such that there should be public content well before 0.8.0 is done. Sadly, the first 0.8.0-alpha1 is the biggest and takes the longest.