Giter Club home page Giter Club logo

l4fame-build-container's Introduction

L4fame Build Container

This repository contains a bash script and Dockerfile that will pull and build the Fabric Attached Memory packages necessary for running code on The Machine.

Known Working Environments

This build container has been tested and verified working on the following operating systems :

  • Red Hat Enterprise Linux 7.3
  • Ubuntu 17.04
  • Fedora 26
  • Debian Jessie

Getting Started

This repository can be cloned and built locally OR a complete image can be downloaded off Dockerhub.

Set up your firewall proxies

If you are behind a corporate firewall, Docker needs to know. This article explains it all.

Clone & Build

Clone and build the repository with:

git clone [email protected]:FabricAttachedMemory/l4fame-build-container.git
cd l4fame-build-container && docker build --tag l4fame-build .

If you're behind a firewall and have the standard environment variables set, add

--build-arg http_proxy=$http_proxy --build-arg https_proxy=$https_proxy

to the arguments.

Launching the Docker container

Once the Docker image has been built or downloaded it needs to be run. First create an empty directory in $HOME to hold the results:

mkdir $HOME/theDebs

Downloaded and built locally:

docker run -t --name l4fame-build --privileged -v ~/theDebs:/debs -v L4FAME_BUILD:/build ~/deb:/deb l4fame-build

To disconnect from the container without killing it run Ctrl+C

To reconnect to the container run docker attach l4fame-builder

Docker Flag Explanation
-t Allocates and attaches a pseudo-tty, this allows the container to be killed (Ctrl-C) or sent to the background.
--name l4fame-build Names the container "l4fame-build" to simplify subsequent runs.
--privileged Gives the container enough privileges to enter a chroot and build arm64 packages.
-v L4FAME_BUILD:/build Creates a new Docker volume named L4FAME_BUILD to hold packages and temporary files as they are being built.
-v ~/theDebs:/debs Mounts a local folder ($HOME/theDebs) to store the finished packages.
-e cores=number_of_cores Optional Flag Sets the number of cores used to compile packages. Replace number_of_cores with an integer value. If this flag is left off the container will automatically use half the available cpu cores capped at 8.
-e http_proxy=http://ProxyAddress:PORT
-e https_proxy=https://ProxyAddress:PORT
Optional Flag Sets http_proxy and https_proxy environment variables inside the container. These flags are only needed if your host system is behind a firewall.

End Results

On completion ~/theDebs should contain all the packages necessary for running code in a FAME environment, on a SuperDome Flex global memory environment, or The Machine itself (ARM).

At the top level will be all the packages and a directory called "logs". Under logs is one file per built package, making it easy to troubleshoot build problems. There is also a file named "1stlog", a global catchall for builder.bash flow. These files are only created if builder.bash was enabled for AMD, ie, suppressamd=false.

If you have enabled builder.bash for ARM, you'll see a another directory under theDebs, "arm64". Under there is a similar structure: all the debs plus a "log" directory with multiple files as described above.

Building Individual Packages

Instructions for building individual packages can be found here

External Links

  • debserve - Dockerhub image for debserve

License

This project is licensed under the MIT License - see the LICENSE file for details

l4fame-build-container's People

Contributors

coloroco avatar austinhunting avatar example123 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.