5CV(10.1)                                               5CV(10.1)

     NAME
          5cv, mkppcimage, sqz - convert kernel executable to boot
          format

     SYNOPSIS
          5cv [ -Dn ] [ -Hn ] [ -s ] executable outfile

          mkppcimage [ -l loadaddr ] executable outfile

          sqz [ -w ] [ -t ] executable

     DESCRIPTION
          These commands convert a kernel executable in Inferno/Plan 9
          a.out(10.5) format into another format used by a third
          party's boot loader.  Most convert the input executable and
          write the new format to outfile.

          5cv converts an ARM executable into one of several alterna-
          tive formats.  The output format is controlled by the -H
          option:

          -H1     AIF for RISCOS.

          -H2     Plan 9.

          -H3     Boot for NetBSD.

          -H4     Headerless, stripped, and padded to 2K in length.
                  Used for the ROM resident serial bootstrap loader in
                  a Cirrus EP72xx.

          -H5     Headerless, and stripped, for general use.

          -H6     EPOC IMG format. Not a complete conversion, cur-
                  rently sufficient for use with some NT based down-
                  loaders which autosense the file type by the "EP"
                  signature, and then ignore the contents of the
                  header.

          The other options are:

          -s   Strip symbol table.

          -Dn  Enables debug output.

          Mkppcimage converts a PowerPC or ARM executable to a boot
          image format used by PPCBOOT and UBOOT.  The output file has
          a PPCBOOT image with one component labelled as an `OS ker-
          nel' for the appropriate architecture, containing the
          a.out(10.6) header, text and initialised data, all

     5CV(10.1)                                               5CV(10.1)

          uncompressed.  Symbols are not included.  By default the
          load address is deduced from the executable's entry point;
          the -l option allows loadaddr to be set explicitly, with the
          number in C syntax (decimal by default).  Other attributes
          are deduced from the executable.

          Sqz squeezes (compresses) the given ARM or PowerPC
          executable using a method that achieves respectable compres-
          sion for executables but is much faster to decompress than
          (say) gzip's.  By default, both the program text and ini-
          tialised data are compressed; the -t option causes sqz to
          compress only the program text, leaving the data as-is.  By
          default, sqz prints compression statistics on its standard
          error output; the -w option causes it also to write the com-
          pressed file on its standard output.  Either the bootstrap
          that loads it must decompress the result, or a small uncom-
          pressed stub must also be loaded that decompresses the
          remainder.

     SOURCE
          /utils/5cv
          /utils/mkppcimage
          /utils/sqz

     SEE ALSO
          2l(10.1), 5cv(10.1), ms2(10.1), a.out(10.5)