Skip to content
This repository has been archived by the owner on Dec 16, 2024. It is now read-only.

Bundle bios boot artifacts #219

Closed
wants to merge 1 commit into from
Closed

Conversation

Itxaka
Copy link
Member

@Itxaka Itxaka commented Oct 22, 2024

This patch makes enki bundle the needed bios boot artifacts for livecd This uses embed to embed them in the final binary and not have to depend on anything external anymore.

This includes the core.img (which is grub+cdboot) and the boot_hybrid image. Plus the default livecd grub config file

This should result in enki being to be run as a simple binary without needing anything in the system (other than squashfs and xorriso to build the iso)

No artifacts from efi nor grub ones shold be needed anymore

This patch makes enki bundle the needed bios boot artifacts for livecd
This uses embed to embed them in the final binary and not have to depend
on anything external anymore.

This includes the core.img (which is grub+cdboot) and the boot_hybrid
image. Plus the default livecd grub config file

This should result in enki being to be run as a simple binary without
needing anything in the system (other than squashfs and xorriso to build
the iso)

No artifacts from efi nor grub ones shold be needed anymore

Signed-off-by: Itxaka <itxaka@kairos.io>
@Itxaka Itxaka requested review from jimmykarily and a team October 22, 2024 14:46
@jimmykarily
Copy link
Contributor

Does this mean they are also bundled in auroraboot when enki is imported as a library? Why not do this directly in Auroraboot since we are in the process of making it the "canonical" tool for building artifacts?

@Itxaka
Copy link
Member Author

Itxaka commented Oct 22, 2024

Does this mean they are also bundled in auroraboot when enki is imported as a library? Why not do this directly in Auroraboot since we are in the process of making it the "canonical" tool for building artifacts?

Mainly because that would meant moving the BuildISOAction fully and Im lazy :D
I did not want to do this work to then be blocked by something or the other. This is quick, 120 lines, no deps, no big changes, code-wise is like 20 lines tops so its easier to understand and I could wipe it out in 30 minutes and test it :D

@jimmykarily
Copy link
Contributor

@Itxaka
Copy link
Member Author

Itxaka commented Oct 23, 2024

So both these lines can go away? kairos-io/osbuilder@9550937/tools-image/Dockerfile#L28-L30

ideally yes, they would go away

@Itxaka
Copy link
Member Author

Itxaka commented Oct 28, 2024

pixiecore uses git submodule + go-bindata which results in a static go file with methods to get the files code and such and it autogenerates them

Potentially we could do the same here by linking to the grub source and just building it on release, and bundling it with go-bindata, so it would be always in there (and I think its gzipped!) so its easier to track and bump any new artifacts.

@jimmykarily
Copy link
Contributor

I ported these changes here: kairos-io/AuroraBoot#102
as part of archiving the enki repo (part of: kairos-io/kairos#1633)

I'll close this one.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants