I do mean compile everything to a base OS and the kernel FROM SOURCE.
Unfortunately, it’s not as easy as you may want to imagine. What exactly are you trying to achieve by doing this? Are you doing this for research? Are you trying to fork something?
It’s not as easy as “here’s some RPM’s, now build”. There is no “step by step process” nor is it simple. There are too many variables and too many moving parts. I’ll quote the below from a prior post years ago.
Ultimately what it comes down to for a project to make a rebuild is identifying what has to be done at a minimum and then building the foundation around it to do so, to allow the team to figure out what was missed or what can be done to improve the process. We generally know these to be true but not limited to:
Specific branded packages must be made (release, repos, gpg-keys, logos at a minimum)
Some packages have to be debranded
Some packages have to be changed to support Rocky (example, opa-ff, dotnet, osbuild, anaconda, grub2, kernel, and so on)
Red Hat specific logos and assets have to be swapped (eg stuff that does not show up in a logos package)
Packages must be built (usually in a bootstrap), and likely rebuilt to ensure consistency
Packages have a specific build order usually, and this is especially true during beta/minor release updates
UEFI/Secure Boot should be supported
All sources come from CentOS Stream and other available sources
dnf groups require “comps” and a general pungi config setup
With a general baseline, it is then that the plan of action is set forth. It has to be determined, what build system will be used, or in the case of already having one, how will we automate the process? Let’s look at Rocky 8 for example. We followed most of what we could from our upstreams, CentOS Stream, Fedora, and RHEL and used koji. So we essentially needed at a minimum:
Koji, koji hub, koji builders
Sigul (key signing)
Module Build Service (for modularity builds, it’s an outside service)
An SCM (git) that holds all the spec and source files
Source tarballs will need a “look aside” or some sort of storage we can pull from
Our koji setup is done via ansible and the playbooks are available in our (soon to be deprecated) monorepo . The roles are also in our organization.
You can try your hand at downloading all of our source RPM’s and trying to build them yourself with mock, but there are no guarantees that it will build nor work fully. So it would be helpful to understand what your end goal is.
kinda of a research, I want to know how a distro is built, which part is needed, etc.
Hi,
Does it specifically need to be Rocky Linux? If not have you seen this project:-
https://www.linuxfromscratch.org/
Regards Tom.
yes, I want a stable system to test things on too. But I will take a look at lfs.
system
Closed
July 16, 2024, 6:39am
6
This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.