2024-10-03 10:49:00 -05:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta content = "width=device-width, initial-scale=1" charset = "utf-8" / >
< title > Building blendOS (and its packages)< / title >
< link href = "/style.css" type = "text/css" rel = "stylesheet" / >
< link href = "/prism.css" type = "text/css" rel = "stylesheet" / >
< / head >
< body class = "line-numbers" >
< h1 id = "building-blendos-and-its-packages" > Building blendOS (and
its packages)< / h1 >
< p > This one was pretty simple. First off, I just made < a
href="https://git.askiiart.net/askiiart-blendos">an organization
to hold all my blendOS code< / a > on my Forgejo instance just to
keep it organized. Then I just cloned all the relevant
repositories from upstream (< em > blendOS · GitLab< / em > ), added my
own code with some minor fixes and stuff, then pushed the
updated code to my server.< / p >
< p > After that, it was just a matter of adding the actual
packaging for the code. For the packages that were required for
building the blendOS < code > iso< / code > file, if I didn't have my
own repository for them already, I just made a new branch,
updated the packaging, and pushed the packaging to that
branch.< / p >
< p > Looking at the < a
2024-10-03 19:36:27 -05:00
href="https://git.blendos.co/blendOS/image-builder/-/blob/main/packages.x86_64">package
2024-10-03 10:49:00 -05:00
list< / a > from < code > image-builder< / code > (< em > blendOS /
image-builder · GitLab< / em > ), it seems the only blendOS-specific
packages it uses are:< / p >
< div class = "sourceCode" id = "cb1" > < pre
class="language-txt">< code class = "language-default" > < span id = "cb1-1" > < a href = "#cb1-1" aria-hidden = "true" tabindex = "-1" > < / a > filesystem-blend< / span >
< span id = "cb1-2" > < a href = "#cb1-2" aria-hidden = "true" tabindex = "-1" > < / a > blend-inst-git< / span >
< span id = "cb1-3" > < a href = "#cb1-3" aria-hidden = "true" tabindex = "-1" > < / a > jade-gui< / span >
< span id = "cb1-4" > < a href = "#cb1-4" aria-hidden = "true" tabindex = "-1" > < / a > blend-git< / span >
< span id = "cb1-5" > < a href = "#cb1-5" aria-hidden = "true" tabindex = "-1" > < / a > blend-settings-git< / span >
< span id = "cb1-6" > < a href = "#cb1-6" aria-hidden = "true" tabindex = "-1" > < / a > blend-web-store-git< / span >
< span id = "cb1-7" > < a href = "#cb1-7" aria-hidden = "true" tabindex = "-1" > < / a > akshara-git< / span > < / code > < / pre > < / div >
< p > At first, after a bit of minor troubleshooting, I got this
all set up and working, pretty simple.< / p >
< h2 id = "oops-it-didnt-work-actually" > Oops it didn't work
actually< / h2 >
< p > I then realized that my < code > iso< / code > file worked, but was
not using my repo, and I had even forgotten to even add some of
the packages.< / p >
< p > Turns out I had added my repo to the container's
< code > pacman< / code > configuration, but not to the
< code > pacman< / code > config for < code > archiso< / code > , the tool
used to generate the < code > iso< / code > file, or the actual
resulting < code > iso< / code > image's < code > pacman< / code > config
either. So while I would have been able to install anything from
my repo in the container, the repo was unused by
< code > archiso< / code > .< / p >
< p > I just added the missing packages needed to build the
< code > iso< / code > file, plus all the others on blendOS's GitLab,
and rebuilt it. After a bit of troublshooting (nothing
interesting, just incompetency, wrong perms, stuff like that), I
got it working perfectly.< / p >
2024-10-03 19:36:27 -05:00
< p > From the buid log:< / p >
< div class = "sourceCode" id = "cb2" > < pre
class="language-txt">< code class = "language-default" > < span id = "cb2-1" > < a href = "#cb2-1" aria-hidden = "true" tabindex = "-1" > < / a > [mkarchiso] INFO: Done!< / span >
< span id = "cb2-2" > < a href = "#cb2-2" aria-hidden = "true" tabindex = "-1" > < / a > 2.3G /drone/src/image-builder/out/blendOS-2024.10.04-x86_64.iso< / span >
< span id = "cb2-3" > < a href = "#cb2-3" aria-hidden = "true" tabindex = "-1" > < / a > 0< / span > < / code > < / pre > < / div >
< p > < img src = "/assets/building-blendos/1.png"
title="Screenshot from Drone CI/CD showing the build successfully completed in 6 minutes 48 seconds" alt="Screenshot from Drone CI/CD showing the build successfully completed in 6 minutes 48 seconds" />< br / >
< a
href="https://drone.askiiart.net/askiiart-blendos/build-blendos-iso">< img
src="https://drone.askiiart.net/api/badges/askiiart-blendos/build-blendos-iso/status.svg"
title="Build Status" alt="Build Status" />< / a > < / p >
2024-10-03 10:49:00 -05:00
< h2 id = "topology-of-my-blendos-repo" > Topology of my blendOS
repo< / h2 >
2024-10-03 19:36:27 -05:00
< div class = "sourceCode" id = "cb3" > < pre
class="language-txt">< code class = "language-default" > < span id = "cb3-1" > < a href = "#cb3-1" aria-hidden = "true" tabindex = "-1" > < / a > |-----------------|< / span >
< span id = "cb3-2" > < a href = "#cb3-2" aria-hidden = "true" tabindex = "-1" > < / a > | |< / span >
< span id = "cb3-3" > < a href = "#cb3-3" aria-hidden = "true" tabindex = "-1" > < / a > | package builder |< / span >
< span id = "cb3-4" > < a href = "#cb3-4" aria-hidden = "true" tabindex = "-1" > < / a > | |< / span >
< span id = "cb3-5" > < a href = "#cb3-5" aria-hidden = "true" tabindex = "-1" > < / a > |-----------------|< / span >
< span id = "cb3-6" > < a href = "#cb3-6" aria-hidden = "true" tabindex = "-1" > < / a > |< / span >
< span id = "cb3-7" > < a href = "#cb3-7" aria-hidden = "true" tabindex = "-1" > < / a > |< / span >
< span id = "cb3-8" > < a href = "#cb3-8" aria-hidden = "true" tabindex = "-1" > < / a > ↓< / span >
< span id = "cb3-9" > < a href = "#cb3-9" aria-hidden = "true" tabindex = "-1" > < / a > |-----------------------------|< / span >
< span id = "cb3-10" > < a href = "#cb3-10" aria-hidden = "true" tabindex = "-1" > < / a > | ↓ |< / span >
< span id = "cb3-11" > < a href = "#cb3-11" aria-hidden = "true" tabindex = "-1" > < / a > | |----------| |< / span >
< span id = "cb3-12" > < a href = "#cb3-12" aria-hidden = "true" tabindex = "-1" > < / a > | | packages | |< / span >
< span id = "cb3-13" > < a href = "#cb3-13" aria-hidden = "true" tabindex = "-1" > < / a > | |----------| |< / span >
< span id = "cb3-14" > < a href = "#cb3-14" aria-hidden = "true" tabindex = "-1" > < / a > | |< / span >
< span id = "cb3-15" > < a href = "#cb3-15" aria-hidden = "true" tabindex = "-1" > < / a > | Arch/blendOS |< / span >
< span id = "cb3-16" > < a href = "#cb3-16" aria-hidden = "true" tabindex = "-1" > < / a > | repository |< / span >
< span id = "cb3-17" > < a href = "#cb3-17" aria-hidden = "true" tabindex = "-1" > < / a > | |< / span >
< span id = "cb3-18" > < a href = "#cb3-18" aria-hidden = "true" tabindex = "-1" > < / a > | |-----------| |< / span >
< span id = "cb3-19" > < a href = "#cb3-19" aria-hidden = "true" tabindex = "-1" > < / a > | | blendOS | |< / span >
< span id = "cb3-20" > < a href = "#cb3-20" aria-hidden = "true" tabindex = "-1" > < / a > | | iso files |←---←|←---←< / span >
< span id = "cb3-21" > < a href = "#cb3-21" aria-hidden = "true" tabindex = "-1" > < / a > | |-----------| | |< / span >
< span id = "cb3-22" > < a href = "#cb3-22" aria-hidden = "true" tabindex = "-1" > < / a > | | |< / span >
< span id = "cb3-23" > < a href = "#cb3-23" aria-hidden = "true" tabindex = "-1" > < / a > |-----------------------------| |< / span >
< span id = "cb3-24" > < a href = "#cb3-24" aria-hidden = "true" tabindex = "-1" > < / a > | |< / span >
< span id = "cb3-25" > < a href = "#cb3-25" aria-hidden = "true" tabindex = "-1" > < / a > | |< / span >
< span id = "cb3-26" > < a href = "#cb3-26" aria-hidden = "true" tabindex = "-1" > < / a > | |< / span >
< span id = "cb3-27" > < a href = "#cb3-27" aria-hidden = "true" tabindex = "-1" > < / a > ↓ |< / span >
< span id = "cb3-28" > < a href = "#cb3-28" aria-hidden = "true" tabindex = "-1" > < / a > |-------------------------| |< / span >
< span id = "cb3-29" > < a href = "#cb3-29" aria-hidden = "true" tabindex = "-1" > < / a > | | |< / span >
< span id = "cb3-30" > < a href = "#cb3-30" aria-hidden = "true" tabindex = "-1" > < / a > | Arch/blendOS | |< / span >
< span id = "cb3-31" > < a href = "#cb3-31" aria-hidden = "true" tabindex = "-1" > < / a > | clients | |< / span >
< span id = "cb3-32" > < a href = "#cb3-32" aria-hidden = "true" tabindex = "-1" > < / a > | | |< / span >
< span id = "cb3-33" > < a href = "#cb3-33" aria-hidden = "true" tabindex = "-1" > < / a > | |--------------| | |< / span >
< span id = "cb3-34" > < a href = "#cb3-34" aria-hidden = "true" tabindex = "-1" > < / a > | | blendOS iso |-----→|→---------↑< / span >
< span id = "cb3-35" > < a href = "#cb3-35" aria-hidden = "true" tabindex = "-1" > < / a > | | builder | |< / span >
< span id = "cb3-36" > < a href = "#cb3-36" aria-hidden = "true" tabindex = "-1" > < / a > | |--------------| |< / span >
< span id = "cb3-37" > < a href = "#cb3-37" aria-hidden = "true" tabindex = "-1" > < / a > | |< / span >
< span id = "cb3-38" > < a href = "#cb3-38" aria-hidden = "true" tabindex = "-1" > < / a > |-------------------------|< / span > < / code > < / pre > < / div >
2024-10-03 10:49:00 -05:00
< h2 id = "citations" > Citations< / h2 >
< p > Saraswat, Rudra, et al. “blendOS · GitLab.” < em > GitLab< / em > ,
< a
href="https://git.blendos.co/blendOS">git.blendos.co/blendOS< / a > .
Accessed 2 Oct. 2024.< br / >
Saraswat, Rudra, and Asterisk. “blendOS / image-builder ·
GitLab.” < em > GitLab< / em > , git.blendos.co/blendOS/image-builder.
Accessed 3 Oct. 2024.< br / >
< / p >
< iframe src = "https://john.citrons.xyz/embed?ref=askiiart.net" style = "margin-left:auto;display:block;margin-right:auto;max-width:732px;width:100%;height:94px;border:none;" > < / iframe >
< script src = "/prism.js" > < / script >
< / body >
< footer >
2024-10-03 19:36:27 -05:00
< p > < a href = "https://git.askiiart.net/askiiart/engl-2311-blog" > Source code< / a >   |  < a href = "/feed.xml" > RSS< / a >   |  < a href = "/glossary.html" > Glossary< / a >   |  < a href = "/about.html" > About< / a > < / p >
2024-10-03 10:49:00 -05:00
< small > Image captions are the same as the alt text; assuming you're sighted, you can most likely ignore them.< / small >
< / footer >
< / html >