Downloaded Sources

Source files (tar archives and patches) are typically fetched from Timesys' Source Repository and stored in the src/dl/ directory. Within src/dl/ is a directory structure much like that seen on the Timesys Source Repoistory - alphabetically by package/source name.

In determining whether or not to fetch a package's source files, Factory checks if the files for the version of the packages selected exist in the appropriate directory under src/dl, and if not, fetches them from the appropriate location.

Note The src/dl/ directory, and its contents, is subjected to certain cleaning operations within Factory. Be sure to keep backups of any modified files stored here in case of accidental loss.

Software Package Source

Sample of src/dl/ directory structure:

b/
  busybox/
    busybox-1.22.1/
      busybox-1.22.1.tar.bz2
      busybox patches
      various other busybox-related files
  boa/
    boa-0.94.13/
      boa-0.94.13.tar.gz
      boa patches
      various other boa-related files

Special Cases

Linux Kernel

While the Linux Kernel source tarball and patches are indeed fetched from Timesys' Source Repository, the default Kernel configuration file (kernel .config) is not. This Kernel .config file is copied from within Factory's target/ directory, under target/configs/kernel/board_name>/config-kernel_version> - it is from this location that the Kernel .config originates from, and is renamed to kernel_config in the appropriate Kernel src/dl/ directory.

Similarly, if the selected Kernel version/board combination supports the use of a device tree, this will also be copied from the same target/configs/kernel/board_name>/ directory. The device tree file copied is simply named dts-kernel_version>. This file will be added to the appropriate kernel directory under src/dl.

Device Table

The root filesystem's Device Table file (named device_table), is be copied to the src/dl/ directory from target/configs/device_table/board>/device_table.

Local Sources

At times, local source code files may be necessary for custom packages or custom patches to Factory-provided packages. For these cases, a src/local/ directory, and subdirectory structure mimicking that of the src/dl/ directory structure covered above is created by the user. It is here that Factory is designed to look for custom local patches.

Note The src/local/ directory is not affected by cleaning operations run within Factory, and is the recommended location for storing custom or modified files to be utilized during the BSP/SDK build.

Local Repository Cache

To save time and disk space, or to share sources between multiple Factories, Factory can automatically build up a local cache of sources. To learn how, see the following documentation:
How do I keep a local repository for my previously chosen packages while still using the Timesys repository for new packages