|
Lucio Andrés Illanes Albornoz |
7ff727 |
Obtaining and installing a Midipix distribution
|
|
Lucio Andrés Illanes Albornoz |
7ff727 |
===============================================
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
A Midipix distribution consists of the following:
|
|
Lucio Andrés Illanes Albornoz |
cf57b4 |
* the native Midipix toolchain, consisting of perk, gcc, its dependencies,
|
|
Lucio Andrés Illanes Albornoz |
cf57b4 |
and binutils,
|
|
Lucio Andrés Illanes Albornoz |
cf57b4 |
* musl, a lightweight, fast, simple, and free libc[1] used by Midipix,
|
|
Lucio Andrés Illanes Albornoz |
cf57b4 |
* the Midipix runtime components that bridge the gap between the libc and the
|
|
Lucio Andrés Illanes Albornoz |
cf57b4 |
executive subsystems of all Windows NT-derived Windows OS starting with and
|
|
Lucio Andrés Illanes Albornoz |
cf57b4 |
including Windows XP, and
|
|
Lucio Andrés Illanes Albornoz |
cf57b4 |
* a steadily increasing number of 3rd party open source packages, as expected in
|
|
Lucio Andrés Illanes Albornoz |
cf57b4 |
any modern POSIX-compliant *nix environment, including GNU coreutils, shells,
|
|
Lucio Andrés Illanes Albornoz |
cf57b4 |
libraries such as ncurses, libressl, as well as Perl and Python.
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Compressed Midipix distribution tarballs and, separately, source tarballs are,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
at present, produced every four (4) hours UTC after each successful build and
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
subsequently signed. This process is fully automated by a portable Bourne shell
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
script; all of the above mentioned components are cross-compiled.
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Thus, the most hassle-free way to get started with Midipix is to simply download
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
the most recent distribution tarball and follow the instructions below. It is,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
however, recommended to anyone intending to use Midipix as a development platform
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
to familiarise themselves with the build process. Other reasons to prefer building
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
a Midipix distribution yourself include integrating new 3rd party software or local
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
runtime component patches. At present, a full build from scratch takes about 30
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
(thirty) minutes to finish on an 8-core host with eight simultaneous make jobs,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
minus the generation of the tarballs. The build script can be obtained from the
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
following GitHub repository: <https://github.com/lalbornoz/midipix_build>.
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
If you obtained a Midipix distribution tarball, extract it into a directory and
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
drive of your choice, henceforth referred to as target directory; the drive can
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
ef4cea |
be a network drive.
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
If you built Midipix yourself, the target directory is equivalent to the ${PREFIX}
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
configured in build.vars, which defaults to ${HOME}/midipix.
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
ef4cea |
Previously, this repository contained a shell script for usage within Cygwin
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
ef4cea |
and a VBS script in order to obtain a Midipix shell environment. These have been
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
ef4cea |
replaced with <https://git.midipix.org/cgit.cgi/mpackage/plain/distro/bash.cmd>
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
46a02f |
from the Midipix distro skeleton[2]. In that respect, and as a general rule,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
46a02f |
midipix_build provides all the bits needed for (cross-)building the framework
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
46a02f |
along with the entire collection of third-party software packages, whereas
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
46a02f |
mpackage's task is to create a live execution environment (midipix-on-the-fly,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
46a02f |
or mxfly), optionally including with it a set of tarballs for the installation
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
46a02f |
of a custom, midipix-based distribution.
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
References:
|
|
Lucio Andrés Illanes Albornoz |
cf57b4 |
* Sun, 24 Apr 2016 09:04:08 +0000 [1] musl FAQ <http://www.musl-libc.org/faq.html>
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
ef4cea |
* Mon, 14 May 2018 17:15:26 +0000 [2] <https://git.midipix.org/cgit.cgi/mpackage/plain/README>
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz |
7ff727 |
Linux distribution-related errata
|
|
Lucio Andrés Illanes Albornoz |
7ff727 |
=================================
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
a8abe3 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
a8abe3 |
Busybox based distributions need the gawk, gsed, and coreutils packages to build perl.
|