Build fedora, maybe installation ISO

Hello,

I’m trying to build fedora for a 32bit machine.

I have experience with BLFS.

I am willing to spend a week or two building fedora if it requires so.

I already made a few kernels from linux source code.

All of that to say that I am uninterested in responses such as “You can’t do that bro! It’s too difficult!”

I’m still a noob, because I do not know how to do this, hence why I’m making this thread.

I want to build an installation ISO of fedora. I downloaded wget -r --no-parent --reject “index.html*” https://dl.fedoraproject.org/pub/alt/stage/32_RC-1.6/Modular/source/

I do not know what are those repositories used for.

Is it possible to just install an old version of fedora compatible with 32bit architecture and then update it from there using dnf? (I think could use the old version’s tools to build an installation ISO of the new version (provided I update tools with dnf and make a newer kernel))

Or maybe I could use mock to mimic the desired environment (https://fedoraproject.org/wiki/How_to_create_a_Fedora_install_ISO_for_testing)

Fedora workstation is preferred.

I’m asking for a few directions and quick guides. Hope that isn’t a problem.

Just keep in mind, it’s not the one or two weeks of initial work, you need to keep constantly maintaining your 32 bit kernel, that will keep you busy (or unsecure).

2 Likes

No, not possible because starting with F31 (?) the upgrade path is broken because of missing .i686 kernel packages (and I think many other packages as well).

1 Like

If it is OK for your 32bit machine to use outdated software, then the easiest method would be to install from a 32bit F30 iso, and then modify that installation’s repo files to point at Fedora’s archive server (that’s also where you can get the ISOs from). That way, you’ll still be able to install stuff as usual, but you’ll be stuck with whatever package versions F30 had.

If you need updates, things will get much more complicated, as you’ll not only have to build your own kernel, but also a lot of software that is no longer available for 32bit in the repositories. Easiest way of doing that is getting the .src.rpm (can be done via dnf) of whatever package you need and then building the RPM from it (here mock will be a great help). Be prepared for also having to build a lot of the (build)dependencies of your desired software yourself.

It would probably make sense to create your own repository to host all the packages built by you, then you can use that to supplement whatever is available in the official repositories. It will make the rebuilds much more straightforward.

So, basically,

  1. Set up mock on whichever machine you want to use for building.
  2. Set up a local repository and make it available to mock.
  3. Figure out which packages you need that are not available in the official repos.
  4. Figure out which of those package’s build dependencies are also missing. This you’ll have to do recursively.
  5. From the bottom of the dependency tree up, get all the .src.rpm’s you need, build the 32bit packages, fix any compilation issues that may or may not arise, and put those packages into your repo.
  6. Use that repo as an additional update source for your 32bit machine.
  7. Repeat whenever you need to update a package that isn’t in the official repos.

I haven’t tried any of this myself, but that’s the rough outline of the steps required.
As for getting the 32bit system in the first place, it’s probably easier to first do all the rebuilding and then either install updated Fedora directly (you can google ‘Fedora bootstrap install’ or similar) or create a 32bit iso, rather then trying to update from an available F30 32bit installation.

2 Likes

You may be able to save your time and use more or less up-to-date software if you try some other distribution that still supports 32 bit.

2 Likes

You have heard that before, right? Guess why…

(What you are trying to do is really time intense - that’s why it was dropped by the Fedora Project and some other mainstream distros as well)

1 Like

Everything is noted. Thanks for the replies.
I will first try to create a 32bit iso with febootstrap.
If that does not work, I will settle for fedora 30 (While getting my febootstrap installation to work).
I will see whether I will maintain it or not for other users. I will get back.

1 Like

Ok, I installed fedora 32 on a 64bit machine and did:
dnf list installed
it has quite a bit of packages, more than 1000

The problem: I do not like gnome

Imagine fedora and all its base packages compiled for 32bit architecture. Except it has xfce instead of gnome and instead of gnome calendar, gnome contacts, it has variants that suck less. Is it still fedora? or is it another distribution?

The goal is to spend less time compiling bloated packages and improve performance on aged hardware.

I want to hear from you.

1 Like

How about you switch to CentOS 7, which still has a 32-bits version and install some lightweight desktop like xfce or lxqt or cinnamon (from EPEL)?

Please note: besides CentOs there are other solid distros for x86, which feature various desktop environments including Xfce and the likes: Debian, Mageia, Kali, Gentoo, … just to name a few)

1 Like

thanks​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

because slow updates