Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring back 32-bit (i386) version to support computers from before ~2006 #232

Closed
shasheene opened this issue Jun 16, 2021 · 13 comments
Closed
Assignees
Labels
enhancement New feature or request

Comments

@shasheene
Copy link
Member

shasheene commented Jun 16, 2021

When I added 64-bit (x86_64) support to Rescuezilla I temporarily dropped support for 32-bit (i386) because the build script doesn’t yet handle multiple architectures that well (task #150: “Improve build environment's ability to compile software“), but I forgot to create a GitHub issue.

Rescuezilla really should have a 32-bit (i386) version available. Clonezilla has kept its i386 build for decades. This 32-bit version would be useful for almost all computers made before 2006, of which many machines are still in service, and a small number of Rescuezilla users have called for the 32-bit (i386) version to return. It's worth noting, as a graphical environment Rescuezilla still has relatively high RAM requirements: 1GB minimum RAM (2GB recommended), which not all machines from before 2006 will meet. Clonezilla only requires 384MB RAM.

I was originally planning on bringing back the last Ubuntu release with 32-bit support (Ubuntu 18.04 (Bionic), which is ending its support window in April 2023. But it makes more sense to base it on the upcoming Debian 11 (Bullseye), which incidentally may be the last Debian release with 686 and 686-pae Linux kernels. Basing the 32-bit (i386) Rescuezilla version on Debian 11 (Bullseye) release rather than the older Ubuntu 18.04 (Bionic) will mean that Rescuezilla dependencies like nbdkit will be available from the package manager (which makes things simpler than compiling such software specifically for the 32-bit build).

Adding support for a new CPU architecture will mean the automated testing suite for Rescuezilla's long-term maintainability (task #151) is more important than ever.

Additional related issues:
Add build for ARM64 systems (task #233)
Use Python virtualenv rather than relying on system-wide Python version (task #120)

@oam7575
Copy link
Contributor

oam7575 commented Aug 19, 2021

I have made modifications to the build scripts and can successfully build an ISO.

Once again success is measured in the same way as the ARM64 ports; the ISO builds.

There appears to be some differences between the Debian and Ubuntu package names and the manor in which the Debian ISO needs to be constructed to boot correctly.

The Debian ISO "boots" to the first splash screen; however it fails to boot in normal mode ( no errors displayed ) and gives a kernel panic when booting in graphical safe / fallback mode.

Note I currently have some hard coded changes to point the debootstrap and sources.list files to debian servers as opposed to ubuntu servers.

Unless you are planning to move the entire build system to Debian base some IF ELSE will need to be added to account for the differences.

I'll have a bit more of a think and a poke at it and will likely create a separate dev-fork for reference.

@shasheene
Copy link
Member Author

Oh, nice to hear!

I am not yet sure whether it makes sense to build the Debian-based versions under a Debian AMD64 host environment. I would achieve this by passing the Dockerfile an argument, but I will examine the increased complexity and the trade-offs.

I can't remember if I've mentioned this, I am also intending on Rescuezilla v2.3 having AMD64 builds based on Debian 11 (Bullseye) and Debian Sid. The latter acts as a rolling release with the latest packages. I am also intending on having an i686 and an i686-pae version based on Debian 11.

Unfortunately from what I understand, the 32-bit Intel kernels are becoming very unstable because nobody is testing them. The entire architecture may be removed very soon.

Yep, I will examine any branches you have pushed to your public Rescuezilla fork and integrate the improvements.

Feel free to paste URL for this GitHub issue (#232) into your commit messages, so when you push your work publicly it will automatically be referenced here, even if you aren't intending on creating a pull request.

@oam7575
Copy link
Contributor

oam7575 commented Aug 19, 2021

Hi Shasheene,

I realize I wasn't clear in my original comment.
My 32Bit attempt was using Debian 11 Bullseye and the i686-pae kernel

@shasheene
Copy link
Member Author

Yep, I was operating under that assumption. Thanks for the clarification!

@oam7575
Copy link
Contributor

oam7575 commented Aug 21, 2021

I followed the build process on this page : https://willhaley.com/blog/custom-debian-live-environment/
and ended up with a Buster 64bit ISO that boots correctly in vmware.

Almost certainly some issues with my changes or missing packages...

@shasheene
Copy link
Member Author

Great to hear! I wouldn't have expected that many issues between Ubuntu and Debian on a given architecture, because as you may know the packages available within Ubuntu are synchronized from the leading edge Debian Sid (which also get synchronized to officially numbered Debian versions like Buster and Bullseye).

The exact moment the packages get synchronized differs between each version, so the versions are different by they should be mostly the same. Ubuntu does have its own package naming schemes for certain things though.

I look forward to examining your branch at some point.

I am working on the automated test suite mentioned elsewhere in this topic, and it's coming together quite nicely.

@mrx23dot
Copy link

+1 for 32bit v2, many of my clients still use 32bit Win7.
And 32bit can run both on 32bit and 64bit, so it's more universal.

@shasheene
Copy link
Member Author

I intend to bring back the 32-bit version at high priority, but it won't be available for Rescuezilla v2.3 (which should be released this month). I expect it to be done for my subsequent February 2022 Rescuezilla release.

Until then, the traditional Clonezilla i386 build should work well for you.

I should mention that using any 32-bit Linux version on 64-bit systems can cause really weird slowdown issues, especially for systems with >10GB RAM.

@mrx23dot
Copy link

Good to hear, I tried 32bit Clonezilla, you really need a CS degree to use it :)

@GoombaProgrammer
Copy link

Is there a 32 bit version yet?

@shasheene
Copy link
Member Author

I intend to release one in February 2022, ie next month

@SelfRef
Copy link

SelfRef commented Apr 1, 2022

I was about to ask for x86 version but I see it's planned for 2.4 release. Glad to see it'll happen. It will be a very good alternative for Clonezilla LiveCD 😉

shasheene added a commit that referenced this issue Dec 12, 2022
Reintroduces a 32-bit (Intel i386) build, currently based on Ubuntu
18.04 (Bionic) after it was temporarily dropped in v2.0 (2020-10-14)

Note: Partclone backwards compatibility is imperfect and 32-bit release
uses old Ubuntu repository partclone version, not latest compiled
version.

**Note: the ISO image from this build has known issues that need to be
fixed before public release.**

[#232](#232)
@shasheene
Copy link
Member Author

The 32-bit (Intel i386) build, currently based on Ubuntu 18.04 (Bionic) available from Rescuezilla v2.4.2. Download link at the bottom of the release under 'Assets'.

Note: Partclone backwards compatibility is imperfect and 32-bit release uses old Ubuntu repository partclone version, not latest compiled version

First time Rescuezilla has a 32-bit version after it was temporarily dropped in v2.0 (2020-10-14).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Archived in project
Development

No branches or pull requests

5 participants