Sign in

Maxine Hayes

@maxinehayes.bsky.social
104 followers 14 following 76 posts

Hi everyone! I'm Maxine a #Linux Systems Administrator and Linux Engineer. I like to learn about how Linux works on a lower level and write #Bash scripts.

PostsRepliesMedia
Maxine Hayes @maxinehayes.bsky.social · 29/12/2024
I just realized I don't think I ever shared the link to my OLF 2024 Rocky Linux is My $HOME presentation on my socials. Enjoy! video.veraciousnetwork.com/w/komgZLGYvY... p.s I remembered by Bluesky login #RockyLinux #Ohio #Linux #OLF2024
video.veraciousnetwork.com
020 0
Maxine Hayes @maxinehayes.bsky.social · 12/12/2023
This is a before and after of the refactoring for my collect_data module. I've actually taken to removing the cache system and have gone for a more iterative approach using generators where I can. This design has a lot more flexibility and is easier to work with.
000 0
Maxine Hayes @maxinehayes.bsky.social · 12/12/2023
I've been learning about functional programming in Python as of late. I've been using the paradigm and new knowledge to refactor my OpenELA import tools. I've noticed a huge improvement in code quality and readability. #python #functionalprogramming #softwaredevelopment
100 0
Maxine Hayes @maxinehayes.bsky.social · 05/12/2023
I have a file-backed cache system now. It works similarly to a dictionary in Python, but only stores values in files as JSON. I still need to implement time-stamping. I'm also importing OpenELA sources into Koji from the cache. #linuxengineer #enterprise #linux #openela
000 0
Maxine Hayes @maxinehayes.bsky.social · 04/12/2023
The caching is for minimizing the amount of Github API calls over a period of time. The data collected on a repository consists of: repo name, clone url, ssh url, branches, and tags. Just enough data to be useful and not cumbersome.
000 0
Maxine Hayes @maxinehayes.bsky.social · 04/12/2023
So far I have a way to collect metadata on an OpenELA repository then cache it for later use.
100 0
Maxine Hayes @maxinehayes.bsky.social · 28/11/2023
It's not the cleanest implementation, but it's easier to work with the API in Python. To test it I even built the Python3.11 package just for giggles.
000 0
Maxine Hayes @maxinehayes.bsky.social · 28/11/2023
It's based on my scm_build script, but it calls the github API to make sure that the repo contains the 'el-9.2' branch before telling koji to build the package.
100 0
Maxine Hayes @maxinehayes.bsky.social · 28/11/2023
I've been working on some tools to help me import OpenELA packages into Koji. I wrote a script in Python to make this easier.
100 0
Maxine Hayes @maxinehayes.bsky.social · 21/11/2023
I think I'm getting the SCM part of koji figured out. I got an SRPM to build from Rocky's GitLab. I was missing a way to fetch lookaside sources, so I used Skip Grube's getsrc.sh script for that in the kojid config. #linuxengineer #enterprise #linux #openela
000 0
Maxine Hayes @maxinehayes.bsky.social · 16/11/2023
I got the OpenELA sed to build in koji after changing the source link in the spec file and creating the source rpm. #linuxengineer #enterprise #linux #openela
000 0
Maxine Hayes @maxinehayes.bsky.social · 15/11/2023
I can probably clone the repo and change it to use the https link instead then build the source rpm for koji.
000 0
Maxine Hayes @maxinehayes.bsky.social · 15/11/2023
This isn't the OpenELA version of the sed source code. There's still some stuff that needs to be worked out. For example the ftp link to download sed's source code with spectool returns a 404, but the https version doesn't.
100 0
Maxine Hayes @maxinehayes.bsky.social · 15/11/2023
I finally got sed to build. I had to make some adjustments to /etc/mock/sites-defaults.cfg. I also had to figure out what I needed to make the srpm-build and build groups properly. #linuxengineer #enterprise #linux #openela
100 0
Maxine Hayes @maxinehayes.bsky.social · 13/11/2023
I think I'm starting to get this figured out. I found some pretty useful Ansible playbooks written by ktdreyer. I had to make some adjustments to the Vagrant file to make it download the correct CentOS Stream image though. It was pointed to a 404 before. #linuxengineer #enterprise #linux #openela
000 0
Maxine Hayes @maxinehayes.bsky.social · 02/11/2023
YES!!!! The OpenELA git repo is here!! Time to get serious. github.com/openela-main #linuxengineer #enterprise #linux #openela #linuxfromscratch
010 0
Maxine Hayes @maxinehayes.bsky.social · 30/10/2023
It's actually a really good quirk too! This feature actually makes it easier to script and manipulate the PATH variable in many ways. While my demonstration is not particularly impressive I think it's kinda neat how python and shell are intertwined in such a nice way.
000 0
Maxine Hayes @maxinehayes.bsky.social · 30/10/2023
What stood out to me the most is the fact that the PATH environment variable is an array and not a string. This is a quirk I've only ever seen in the rc shell from Plan 9.
100 0
Maxine Hayes @maxinehayes.bsky.social · 30/10/2023
It's got some pretty neat features and expands the capabilities of a traditional shell greatly.
100 0
Maxine Hayes @maxinehayes.bsky.social · 30/10/2023
While I've been waiting on packages to compile for ELFS I've been playing with xonsh in between builds. Xonsh is a python-powered shell. I don't often use python, but have started growing a liking to it with xonsh. #python #shellscripting #shell #elfs #xonsh #linux #linuxengineer
100 0
Maxine Hayes @maxinehayes.bsky.social · 26/10/2023
In stage 2 I build as many of the build requires for the stage 1 sources as I could. This will hopefully help with backing off dependency on Fedora's buildroot.
000 0
Maxine Hayes @maxinehayes.bsky.social · 26/10/2023
I'm working on stage 3 of ELFS now. Stage 3 is essentially a rebuild of all the sources in stage 1 without the bootstrapping instructions.
100 0
Maxine Hayes @maxinehayes.bsky.social · 23/10/2023
The makefiles I wrote are kinda neat. To implement a new build target at the bare minimum all that's required are 4 lines. Makes it a lot faster to debug and get a glimpse of only what is specific to the target.
000 0
Maxine Hayes @maxinehayes.bsky.social · 23/10/2023
I've been working on the new bootstrap method alongside a couple makefiles to aid me in testing. I'm on stage 2 now and so far things are looking pretty good. #linuxengineer
100 0
Maxine Hayes @maxinehayes.bsky.social · 19/10/2023
#mutualaid #trans #gofundme #Oakland #BayArea
000 0
Maxine Hayes @maxinehayes.bsky.social · 19/10/2023
Reposting here for reach. www.gofundme.com/f/miss-chile...
100 0
Maxine Hayes @maxinehayes.bsky.social · 18/10/2023
It's been a lot of fun digging deeper into this process. I learn something new each day and find more to share.
000 0
Maxine Hayes @maxinehayes.bsky.social · 18/10/2023
If this is true that explains why the waters are a bit muddy when it comes to building EL 9 from scratch using the upstream buildroot.
100 0
Maxine Hayes @maxinehayes.bsky.social · 18/10/2023
Now with 10 and higher they're doing this with Fedora ELN and CentOS Stream. I also believe now for 9 what they're doing is pulling the newer sources from CentOS Stream into RHEL.
100 0
Maxine Hayes @maxinehayes.bsky.social · 18/10/2023
They then build the modified sources one by one to start the beta release of RHEL. Once they have the beta in a workable state they refine the system from there.
100 0
Maxine Hayes @maxinehayes.bsky.social · 18/10/2023
I also have a theory on how Red Hat bootstraps different versions of RHEL. For the main supported arches (x86_64, ARM, POWER and IBM Z) they use the previous version of RHEL then modify the Fedora sources (EL 9 and lower) to suit their needs.
110 0
Maxine Hayes @maxinehayes.bsky.social · 18/10/2023
I thought this was neat. Apparently RPM uses an rc file that contains macro definitions which are generic and distribution specific. Fedora 34 and Rocky's RPM rc vary wildly. I wonder if this effects how RPM packages are built on the different distributions. access.redhat.com/documentatio...
100 0
Maxine Hayes @maxinehayes.bsky.social · 17/10/2023
Rocky Linux now supports m7i instances on the AWS market place images! Both Rocky Linux 8 and 9 are available here: Rocky Linux 8 aws.amazon.com/marketplace/... Rocky Linux 9 aws.amazon.com/marketplace/...
020 0
Maxine Hayes @maxinehayes.bsky.social · 12/10/2023
For example "$ELFS/localrepo/stage1/annobin" or "$ELFS/localrepo/stage1/gcc". This method makes it easier to backtrack the buildroot when an issue arises where I need to rebuild parts of the buildroot.
000 0
Maxine Hayes @maxinehayes.bsky.social · 12/10/2023
I also made an adjustment to how packages are added to the ELFS buildroot. Each stage has their own dnf repository where the results of each package build are stored in a directory with the same name.
100 0
Maxine Hayes @maxinehayes.bsky.social · 12/10/2023
I have also been adding every package I build to the exclude list in my Mock config for the Fedora repository. This helps find issues in the build process earlier allowing me to fix problems before getting too deep into the build process.
100 0
Maxine Hayes @maxinehayes.bsky.social · 12/10/2023
- Do a wave of rebuilds for every stage by rebuilding the last stage in the next stage to shake off dependencies on Fedora.
100 0
Maxine Hayes @maxinehayes.bsky.social · 12/10/2023
- Rewrite the build notes based off of the rumored bootstrap method and figure out any inconsistencies in the bootstrap process. - Rebuild the entire buildroot using the oldest versions of el9 packages.
100 0
Maxine Hayes @maxinehayes.bsky.social · 12/10/2023
I've been working on a new bootstrap method utilizing portions of all 3 of the ideas I had about reworking the ELFS build notes.
100 0
Maxine Hayes @maxinehayes.bsky.social · 09/10/2023
- I can rewrite the build instructions using a new bootstrap method. Pros: The new method in question is rumored to be the true bootstrapping process of Enterprise Linux. It is likely going to yield a more compatible EL build Cons: Build notes and buildroot have to be redone
000 0
Maxine Hayes @maxinehayes.bsky.social · 09/10/2023
- I can rebuild the entire buildroot using the oldest el9 packages. Pros: Have a well defined set of package versions to work with making reproducible builds easier. Cons: Have to rebuild the entire buildroot.
100 0
Maxine Hayes @maxinehayes.bsky.social · 09/10/2023
- I can keep going with the current instructions and do a few waves of rebuilds to shake off dependency issues. Pros: Work does not have to be re-completed. Cons: Makes the build process more confusing and take longer.
100 0
Maxine Hayes @maxinehayes.bsky.social · 09/10/2023
This is a problem, but I have a few ideas on how to solve it.
100 0
Maxine Hayes @maxinehayes.bsky.social · 09/10/2023
I may have to rework my build instructions. They worked up until I started bootstrapping the rootfs. libffi and python3 have been giving me some issues. I delved deeper to find a majority of the ELFS packages relied too heavily on Fedora's buildroot.
100 0
Maxine Hayes @maxinehayes.bsky.social · 05/10/2023
The build process for Standard was pretty standard. 😄 The build notes for the Standard group in ELFS are now finished! The next goal is to bootstrap a chroot environment using the ELFS packages!
000 0
Maxine Hayes @maxinehayes.bsky.social · 03/10/2023
You will find the refined build notes in extranotes. extranotes contains more of an outline of the guide and includes more descriptive build steps. You will also see that the wrapper functions from elfs.sh are used more often here.
000 0
Maxine Hayes @maxinehayes.bsky.social · 03/10/2023
I just got the last core packages rebuilt and finished refining the build notes! I've pushed all my changes to the ELFS git repository. ELFS github: github.com/maxbyte9p/elfs
100 0
Maxine Hayes @maxinehayes.bsky.social · 03/10/2023
I've made some adjustments to the kernel build to eliminate the need for patching the spec file. I hope building fuse will make it able to compile the self-tests.
010 0
Maxine Hayes @maxinehayes.bsky.social · 02/10/2023
I've got Clang building again now on this powerful Google Cloud VM. It's holding up pretty good so far. I Got the stage 3 notes refined last week and I'm now refining stage 4! #linux #openela #linuxfromscratch #rocky
000 0
Maxine Hayes @maxinehayes.bsky.social · 28/09/2023
Big thanks to Pieter Geelen for giving me a powerful Google Cloud VM to use for this project! It's really made things speedy and has cut down compile times for me!
000 0