Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Docker build environment
2018-08-02, 22:01
Post: #1
Docker build environment
Hello,

I've created a docker based build envirnment for iPXE. In the past I often had the problem that I've forgotten the requirements to build iPXE.
Of course I can find them in the documentation. But I'm not (re)building iPXE that often so I created a dockerized build environment for iPXE.
It creates a docker image with hopefully all requirements and builds iPXE with make all.

So with only a few commands I can build iPXE without (re)thinking about the build process.

Everything is on github:
https://github.com/Madic-/ipxe-docker-compile

Hopefully someone finds that usefull. PRs or Issues welcome.

Kind Regards,
Madic
Visit this user's website Find all posts by this user
Quote this message in a reply
2018-08-04, 19:23
Post: #2
RE: Docker build environment
Nice!
Hopefully it is useful for some.

Remember tho that often different build targets is needed:
* building for efi
* building different drivers
* embed script
* add DEBUG=
Maybe something to consider support for.
I have myself tried to build a iPXE bootable iPXE build environment, but getting everything needed into a small-ish image is not always easy.

Use GitHub Discussions
Visit this user's website Find all posts by this user
Quote this message in a reply
2018-08-04, 20:53
Post: #3
RE: Docker build environment
Thank you for your comment.

* building for efi:
You're right. I've changed the build command from "make all" to "make everything".

* building different drivers
At the moment I don't understand the need for this but need to read more the documentation for this.

* embed script
You mean embedding in the binary? Like documented here http://ipxe.org/embed#embedding_within_the_ipxe_binary ?
I will consider this. Maybe implement it in a day or two.

* add DEBUG
The log of the last build is saved under ./compile/logs/build.log
Or do you mean something else?
Visit this user's website Find all posts by this user
Quote this message in a reply
2018-08-04, 21:08
Post: #4
RE: Docker build environment
All I'm talking about is how to modify the make cmd line
See http://ipxe.org/appnote/buildtargets for different buildtargets - for example they are need for supporting usb nics with ecm--ncm--axge as one example.
make everything just in most cases just slow without benefit - since you most likely only want one or 2 binaries in the same build

yes EMBED= for scripts

DEBUG= as seen at http://ipxe.org/download#debug_builds

another tip, use make -j4 or even make -j8 for parallel builds which considerably speeds up things.

Use GitHub Discussions
Visit this user's website Find all posts by this user
Quote this message in a reply
2018-08-05, 00:44
Post: #5
RE: Docker build environment
I've added three environment variables.
One for the build command, one for a path to a script that should be embedded and one for DEBUG objects.
Also make now compiles with -j4 by default. Though you can change it via the environment variable.

The environment variables ENV_EMBEDD and ENV_DEBUG aren't much tested. In theory they should work.
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)