|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Obtaining and installing a Midipix distribution
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Last update: Sun, 24 Apr 2016 09:42:40 +0000
|
|
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 (arab, vxp) |
d3b354 |
a) the native Midipix toolchain, consisting of perk, gcc, its dependencies,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
and binutils,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
b) musl, a lightweight, fast, simple, and free libc[1] used by Midipix,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
c) the Midipix runtime components that bridge the gap between the libc and the
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
executive subsystems of all Windows NT-derived Windows OS starting with and
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
including Windows XP, and
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
d) a steadily increasing number of 3rd party open source packages, as expected in
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
any modern POSIX-compliant *nix environment, including GNU coreutils, shells,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
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) |
d3b354 |
be a network drive. Do _not_ use anything but a true UNIX environment tar(1), as
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
e.g. WinRAR or WinZip handle extracting hard links incorrectly.
|
|
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) |
d3b354 |
At present, providing an interactive Midipix environment still requires the Cygwin
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
terminal emulator Mintty and a shell; this does not include pseudoterminals, which
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
are entirely handled by Midipix. Both can be installed via the 64-bit Cygwin setup
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
program at <https://www.cygwin.com/setup-x86_64.exe>.
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Once installed, launching a Midipix shell is accomplished by the `midipix.sh' shell
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
script provided in the target directory from within a Cygwin shell prompt in Mintty
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
and the target directory. This may either simply be done manually each time, or
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
automated by a shortcut. As shortcuts cannot be distributed, it can be created by
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
either:
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
a) Opening (executing) the VBScript script in the target directory from within the
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
latter cscript.exe, providing the fully qualified pathname to Mintty, if it differs
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
from the default value of C:\cygwin64\bin\mintty.exe or
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
b) manually creating a shortcut to Mintty with `Start in:' set to the target directory
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
and the following command line:
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
[ ... ]\mintty.exe -i /Cygwin-Terminal.ico -e sh midipix.sh, or
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
References:
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
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) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Midipix status report
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Last update: Tue, 26 Apr 2016 10:16:16 +0000
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
The following build status codes are defined:
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
C -- Complete build w/ at least the default configuration,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
B -- Broken, e.g. doesn't work at all or only minimally,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
I -- Integrated (e.g. linked against) with other packages,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
E -- Extensively tested and confirmed to work by multiple sources, possibly via a testsuite,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
P -- Patches needed to build that haven't been committed upstream yet, and
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
U -- Update to latest stable version or HEAD pending.
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Component type Name Version Status Comments
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Host toolchain binutils 2.24.51 C--EPU
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Host toolchain gcc 4.6.4 ---EPU Excludes libstdc++
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Host toolchain musl 1.1.12 C-IEPU
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Native toolchain binutils 2.24.51 C--EPU
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Native toolchain gcc 4.6.4 ---EPU Excludes libstdc++
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Native toolchain gmp 5.1.3 C-IEPU
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Native toolchain libelf 0.8.13 C-IEP-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Native toolchain mpc 1.0.1 C-IEPU
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Native toolchain mpfr 3.1.2 C-IEPU
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Native toolchain musl 1.1.12 C-IEPU
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Native toolchain perk HEAD C-IE--
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Runtime components dalist HEAD C-IE--
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Runtime components ntapi HEAD C-IE--
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Runtime components ntcon HEAD C-IE--
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Runtime components ntctty HEAD C-IE--
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Runtime components pemagine HEAD C-IE--
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Runtime components psxscl HEAD C-IE-- Excludes clone(2) and dlopen(3)
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Runtime components psxtypes HEAD C-IE--
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages apk_tools 2.6.6 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages bash 4.3 C-I-P- Linked against ncursesw
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages bzip2 1.0.6 C-----
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages coreutils 8.23 C---P- Needs extensive testing
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages curl 7.47.1 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages dash 0.5.8 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages diffutils 3.3 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages findutils 4.5.14 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages gawk 4.1.3 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages git 2.7.1 C-----
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages glib 2.46.2 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages grep 2.22 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages gzip 1.2.4 C-----
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages hexcurse 1.60.0 C-I-P- Linked against ncursesw
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages irssi 0.8.18 CB--P- DNS requires clone(2) due to pthreads (see psxscl)
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages less 481 C-I--- Linked against ncursesw
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages libarchive 3.1.2 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages libfetch 2.33 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages libffi 3.2.1 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages libressl 2.2.6 C-I-P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages libz 1.2.8.2015.05.20 C-----
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages make 3.81 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages mksh R52c C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages nano 2.5.3 C-I-P- Linked against ncursesw
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages ncurses 6.0 C-IEP- ncurses, ncursestw, and ncursesw built
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages openssh 7.1p2 C-I-P- Linked against libressl
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages pacman 5.0.1 C-----
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages patch 2.7 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages perl 5.22.1 ----P- No dlopen(3) (see psxscl,) modules missing
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages python 3.5.1 -B--P- No dlopen(3) (see psxscl,) modules missing
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages rsync 3.1.2 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages sed 4.2.2 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages tar 1.28 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages tcsh 6.19.00 C-I-P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages util_linux 2.27.1 C---P- Needs extensive testing
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages which 2.21 C-----
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages xz 5.2.2 C---P-
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3rd party packages zsh 5.2 C-I-P- Linked against ncursesw
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Midipix roadmap/TODO list
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
Last update: Tue, 26 Apr 2016 10:41:37 +0000
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
1) slibtool,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
2) psxscl: clone(2) system call implementation.
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
This is required by all 3rd party packages that make use of threads such as Irssi.
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
3) psxscl: dlopen(3) system call implementation.
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
This is required by all 3rd party packages that have runtime modules such as Perl and Python.
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
4) gdb: native port,
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
5) [ ... ]
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
|
|
Lucio Andrés Illanes Albornoz (arab, vxp) |
d3b354 |
vim:expandtab sw=8 ts=8 tw=0 nowrap
|