Giter Site home page Giter Site logo

tools's Introduction

Tooling for Nitrux

Tools for building our stuff.

aw          # Run AppImages inside Docker containers.
copier      # Copy binaries and their dependencies to a directory.
execs       # Print the external commands called by the given shell scripts.
mkiso       # Generate bootable ISO images (supports both BIOS and UEFI).
pull        # Download a Docker image as a directory.
runch       # Run commands in a preconfigured chroot.
synth       # Generate ISO images from a configuration file.

The -h will will give you full information about any of these programs.

Issues

If you find problems with the contents of this repository, please create an issue.

©2019 Nitrux Latinoamericana S.C.

tools's People

Contributors

lslvr avatar uriherrera avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tools's Issues

Let mkiso generate the .INFO file used by znx.

It would be very convenient if mkiso handled the .INFO file that znx uses for doing updates.

Given the appropriate data, mkiso should generate the .INFO.

UPDATE_URL="http://the.server/image.iso"
HASH_URL="http://the.server/image.md5sum"
VERSION="this_cool_nitrux_release"

mkiso \
    -v NITRUX \
    -g grub.cfg \
    -u $UPDATE_URL \
    -s $HASH_URL \
    -V $VERSION \
    $ISO_DIR \
    $OUTPUT

Replace chroot with proot on runch.

proot is a much more powerful tool for running processes in an isolated environment. It implements chroot, mount --bind, and binfmt_misc.

  • It automatically handles the LFHS mount points.
  • It can execute binaries of foreign architectures (e.g. ARMv7 => x86_64).
  • It can bind-mount files or directories.

Change -V flag in mkiso as it may be confused with -v

mkiso in its development branch, has two flags -V and -v which utilize the same letter.

tools/mkiso

Line 15 in 664fe63

echo "Usage: mkiso [-h] [-V label] [-g grub-configuration] [-t path-to-grub-theme] [-u UPDATE_URL] [-s HASH_URL] [-v RELEASE_VERSION] <directory> <output>"

I suggest using -l or -L for label instead to avoid confusion.

Provide packages.

For consistency on all the repositories that use these tools, we should be providing actual packages.

Add a testing set.

The correctness of these scripts should be proven before they get into production environments.

Add BIOS support to mkiso.

mkiso isn't able to create images that are able to boot in BIOS mode, just UEFI.

mkiso should be able to, optionally, add BIOS support to the generated ISO images.

Bash as shell?

All tools use a POSIX compliant shell (/bin/sh) as the command interpreter. The POSIX standard lacks a very useful bash feature: set -o pipefail. That makes a pipe fail if any of its commands fail. OTOH, the POSIX standard states that the pipe's exit code shall be that of the rightmost command. This seems inconsistent if any of the other commands [in the pipeline] fail.

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.