About

The Crocodile project aims to cross-compile Debian from scratch by using Scratchbox. Currently the essential packages of the Sarge distribution can be built for the ARM (little-endian) architecture. Support for the MIPS (big-endian) and CRIS architectures is under development.

See the DebConf 5 presentation about Crocodile.

Build instructions

The following steps instruct you how to build a Debian system using Crocodile. See the next section for architecture-specific toolchain and CPU-transparency method issues.

  1. Install Scratchbox Apophis r4.

  2. Create a Scratchbox target using doctools, debian and perl devkits.

  3. Select the new target.
  4. Check out the Crocodile scripts to your Scratchbox home directory:
    •     darcs get --set-scripts-executable http://scratchbox.org/repos/crocodile
  5. Add your nearest Debian mirror to etc/sources.list (optional):
    •     echo 'deb-src ftp://ftp.fi.debian.org/debian sarge main' > etc/sources.list
  6. Update source package list:
    •     apt-get update
  7. Create a directory and add sources you want to build there. To emulate the old build-essential plan, use
    • # mkdir crocodile-packages
      # cd crocodile-packages
      # apt-get source -d acl attr base-files base-passwd bash bc bzip2 chrpath coreuti
      ls cpio cracklib2 db1-compat db3 db4.2 debianutils diffutils dpkg e2fsprogs find
      utils fribidi gdbm grep gzip hostname libcap libselinux libsepol makedev mawk mo
      dutils ncurses netbase pam perl procps readline4 sed shadow slang sysvinit tar t
      cl8.3 tcl8.4 util-linux zlib
  8. Create a Sources.gz
    • # dpkg-scansources . /dev/null|gzip>Sources.gz
  9. Go to the crocodile directory.

    • # cd ../crocodile
  10. Add Sources.gz to Crocodile sources.list

    • # echo "deb-src file:/home/${USER}/crocodile-packages ./" > etc/sources.list
  11. Build and install the packages by running:
    •     ./unplanned-build.sh --clean

You only need a source package location for building Crocodile by following this example. (A binary package location may be required for advanced usage.) The sources.list is read from the ./etc directory, and the list of available packages is written to the ./work/lists directory. So the Scratchbox target can be destroyed, etc. without affecting the APT configuration.

Architecture notes

Contact

See the http://scratchbox.org/contact/ Scratchbox contacts page.


CategoryProject

Crocodile (last edited 2010-01-21 09:32:25 by JussiHakala)