Build_sysext script to enable sysext builds in the OS image build process#920
Build_sysext script to enable sysext builds in the OS image build process#920pothos merged 1 commit intoflatcar:mainfrom krishjainx:sysext-internship
Conversation
|
A problem with installing regular packages is that in many cases the software won't correctly work because only Edit: A great use case for this would be to build a Docker and containerd sysext to replace torcx. |
|
Build action triggered: https://github.com/flatcar/scripts/actions/runs/5424483460 |
|
@krishjainx Please try running the build two times in a row to make sure things don't break when this is done. |
|
Could you also make the script executable with |
|
The build looks good, tests are successful with a single failure that can be explained. Pathspec cannot be found because the upstream |
pothos
left a comment
There was a problem hiding this comment.
Looks good except for unused imports: https://github.com/flatcar/scripts/pull/920/files#r1242488294
|
This and squash the commits |
|
I'd like to make a review before merging this, please. |
I think this should be addressed to some degree by the |
|
Squashed 🐛 s and squashed commits |
|
I'm currently trying to use this script to build OEM sysexts, just to see if we can do it. I think I'll want more changes, mostly related to the BUILD_DIR stuff. You can see my branch here: https://github.com/flatcar/scripts/commits/krnowak/test-new-oem-script (ignore the fact that the commits are made by Flatcar Buildbot, apparently I messed up my git config :) ). The changes in the script that I have made are here: 72d2b62 |
|
Ok cool. Just these changes?
…On Fri, Jun 30, 2023, 5:05 PM Krzesimir Nowak ***@***.***> wrote:
I'm currently trying to use this script to build OEM sysexts, just to see
if we can do it. I think I'll want more changes, mostly related to the
BUILD_DIR stuff. You can see my branch here:
https://github.com/flatcar/scripts/commits/krnowak/test-new-oem-script
(ignore the fact that the commits are made by Flatcar Buildbot, apparently
I messed up my git config :) ). The changes in the script that I have made
are here: 72d2b62
<72d2b62>
—
Reply to this email directly, view it on GitHub
<#920 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AR4RDLIP2WY6QE6Z6TYZ5GLXN3TL5ANCNFSM6AAAAAAZGUVG34>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I think I'll let you know on Monday - the build is currently running on our Jenkins instance. |
|
cool :)
…On Fri, Jun 30, 2023, 5:23 PM Krzesimir Nowak ***@***.***> wrote:
Ok cool. Just these changes?
I think I'll let you know on Monday - the build is currently running on
our Jenkins instance.
—
Reply to this email directly, view it on GitHub
<#920 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AR4RDLLO3KTSYPQZNR7GATDXN3VPBANCNFSM6AAAAAAZGUVG34>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Included a script to enable generating systemd-sysexts. Successfully tested sysext generation with a fresh Flatcar image (e.g., Python and Neofetch system extension). Part of my internship work. The current OS images we provide are not OK as base for flatcar specific sysext images: it lacks the package metadata and portage configuration, in order to keep end user OS image clean. This script retains this information and allows you to produce systemd-sysexts to extend the system. This script can be used to build a Flatcar sysext image. Recommended to run from image build folder. Signed-off-by: Krish Jain <kjain7@u.rochester.edu>
Build_sysext script to enable sysext builds in the OS image build process
Included a script to enable generating systemd-sysexts. Successfully tested sysext generation (manually; script refinement in progress) with a fresh Flatcar image (e.g., Python and Neofetch system extension). Part of my internship work.
Link to the related issue: Flatcar Issue #1052.
How to use
The current OS images we provide are not OK as base for flatcar specific sysext images: it lacks the package metadata and portage configuration, in order to keep end user OS image clean. This script retains this information and allows you to produce systemd-sysexts to extend the system. This script can be used to build a Flatcar sysext image. Recommended to run from image build folder.
Testing done
I have built multiple sysext images using the script and have been able to successfully extend a fresh upstream Flatcar image with packages such as Python, Neofetch, etc. I provided a Butane configuration similar to the one below, transpiled it to Ignition, and booted with it. I received a review and advice on how to make the script more robust and meet the demands of the Flatcar team.
Notes:
"I think this should be addressed to some degree by the --manglefs_script option" - @krnowak
Edit: A great use case for this would be to build a Docker and containerd sysext to replace torcx.