view www/downloads/binaries/README @ 1802:315c9e9af893 draft

Deleting sh from build/host each time caused record-commands.sh to rerun, which screwed up parallel builds. Only delete after building busybox.
author Rob Landley <rob@landley.net>
date Mon, 02 Nov 2015 01:14:08 -0600
parents a56e2d00445d
children
line wrap: on
line source

These binary images were created by running more/buildall.sh in the most recent
Aboriginal Linux source tarball, available at:

  http://landley.net/aboriginal/downloads

The source packages for these binaries are mirrored at:

  http://landley.net/aboriginal/mirror

The file MANIFEST lists the current package versions.  Previous versions are
available at:

  http://landley.net/aboriginal/downloads/old/binaries

The current version of everything, in one big directory, is available at:

  http://landley.net/aboriginal/downloads/bin

==============================================================================

Two types of tarballs are available at the top level of this directory:

system-image-$ARCH.tar.bz2

  Prepackaged bootable system images image for each target, which boot and
  run under QEMU and allow you to natively compile additional packages within
  the emulated development environment.  (Just wget the source tarball at the
  shell prompt and build it more or less as you would on any other Linux host.)

  This tarball includes a squashfs formatted root filesystem image containing a
  minimal native development environment, a Linux kernel configured for use
  with the emulator QEMU, and a wrapper script to invoke the emulator on them.

  The run-emulator.sh wrapper script should produce a shell prompt, with
  the emulator's stdin/stdout connected to the emulated system's
  /dev/console.  See the screenshots page for examples.

  The dev-environment.sh script is a wrapper around run-emulator.sh which
  provides a better development environment, primarily by mounting a 2 gigabyte
  writeable ext2 image on /home, and ensuring QEMU allocates at least
  256 megabytes of memory for the emulated system.

  If both distccd and a compatible $ARCH-cc cross compiler are in the $PATH,
  dev-environment.sh will automatically set up distcc to call out through the
  virtual network to the host's $ARCH-cc, to move the heavy lifting of
  compilation outside the emulator, and also take advantage of SMP.  (Doing
  so does not require the package being built to be cross compile aware.
  As far as the emulated build environment is concerned, it's still performing
  simple single-context native builds.)

  The native-build.sh script is a wrapper around dev-environment.sh which
  launches an automated build (driven by a control image) instead of an
  interactive shell prompt.  (See the "control-images" directory for
  examples.)

cross-compiler-$ARCH.tar.bz2

  C and C++ Cross compilers, which create target binaries for each
  architecture, linked against uClibc (and uClibc++ for C++ source).

  To use, extract this tarball anywhere and add its "bin" subdirectory to
  your $PATH.  Then use the appropriate $ARCH-gcc as your target compiler,
  or run dev-environment.sh to use distcc acceleration for native builds.

  If both distccd and a compatible $ARCH-cc cross compiler are in the $PATH
  when you launch a system image, the dev-environment.sh script will
  automatically set up the emulated system to call out to the cross compiler
  through the virtual network using distcc.  This moves the heavy lifting
  of compilation outside the emulator, which in testing sped up some builds
  by a factor of seven even before taking advantage of an SMP host.  (Doing
  this does not require the package being built to be cross compile aware.
  As far as the emulated build environment is concerned, it's still performing
  simple single-context native builds.)

  These cross compiler binaries are built to run on an i686 host and statically
  linked against uClibc, for maximum portability between PC Linux distributions.
  They include uClibc++ (to support C++), and multi-threading support.

==============================================================================

The same data is repackaged in several formats under the "root-filesystems" dir:

simple-root-filesystem-$ARCH.tar.bz2

  Native Linux root filesystem for a given target, suitable for chrooting into
  (on appropriate hardware) or packaging up into a bootable system image.  It
  contains busybox, uClibc, and a few configuration files including a
  simple boot script (usr/sbin/init.sh).

  This is the minimum necessary to boot to a reasonably polished shell prompt.
  It does not contain development tools.

native-compiler-$ARCH.tar.bz2

  Statically linked version of the native compiler from root-filesystem,
  which you can extract and run on an appropriate target the same way you
  can extract and run the cross-compiler on the host.

  You don't need this when using Aboriginal Linux's system images, which provide
  their own native compiler.  This is provided for use with existing target
  filesystems.

root-filesystem-$ARCH.tar.bz2

  Combination of simple-root-filesystem and native-compiler into a single
  filesystem.  This is what the system images use for their minimal native
  development environment root filesystem.

==============================================================================

Several additional useful native binaries are available in the "extras" dir:

busybox-$ARCH

  This is a static busybox binary for the given target, implementing
  numerous standard command line utilities.  Run ./busybox-$ARCH to see
  the list of supported commands.  It provides the default configuration
  ("make defconfig") of busybox.

  To use, copy it to a target system (perhaps via wget), set the executable
  bit, and (optionally) create the appropriate symlinks to it:

    for i in $(busybox --list); do ln -s busybox $i; done

  (You don't need to install busybox into Aboriginal Linux filesystems,
  it's already there in simple-root-filesystem and its derivatives.)

dropbearmulti-$ARCH

  This is a prebuilt static dropbear binary for the given target, implementing
  an ssh server, ssh client, and associated utilities such as scp.

  To use, copy it to a target system (perhaps via wget), set the executable
  bit, and create the appropriate symlinks to it.

  Run ./dropbearmulti-$ARCH to see the list of supported commands.

  (Note: running the server mode requires adding at least a root user to the
  /etc/passwd and /etc/group files, creating a host key in /etc/dropbear
  ala "dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key", and making
  sure the user's home directory exists so you can put a .ssh subdirectory
  in it with an authorized_keys file.)

strace-$ARCH

  This is a prebuilt static strace binary for the given target, providing a
  debugging tool listing all the system calls made by another program.

  To use, copy it to a target system (perhaps via wget) and set the executable
  bit.