Factory HOWTOs

Here you can find HOWTO documents for various Factory-related tasks.

Add Custom Files to the Target RFS During BSP/SDK Build Process

With the use of an RFS Overlay, custom files can be added to the target system's RFS included in the Factory-produced BSP/SDK. The custom files added to the RFS image can be as simple as text files (like an etc/passwd file to set a default root password on the target system), or more complex custom application binaries or libraries. Any files included in the overlay archive are written over top the Factory-generated target RFS.

Click here for more information on using the RFS Overlay with Factory.

Customize the Target RFS During BSP/SDK Build Process

Customizations that go beyond simply adding or overwriting files in the target RFS can be accomplished with the use of an RFS Customization Script. This will allow for a bash-style script to be executed on the target RFS staging directory prior to packaging. This facility provides a convenient method of changing file permissions or otherwise dynamically altering the target RFS during the BSP/SDK build process.

Click here for more information on using the RFS Customization Script with Factory.

Customizing the Device Tree

The use of custom Device Trees is a common practice when employing custom hardware in conjunction with a kernel with device tree support. This is especially useful when custom hardware designs are closely related to existing reference design kits. The device tree is used to define custom memory layouts, device connections and identification (I2C, SPI-bus, PCI, USB, etc), GPIO routing and assignment, and other hardware-related definitions.

Customizations to the device tree are made in the device tree source (dts) files, which are then compiled with the device tree compiler (dtc) to produce the binary device tree blob (dtb). Within Factory, the best place to make these modifications is in the kernel working directory (build_[arch]-timesys-linux-[libc]/linux-[kernel-version]/arch/[arch]/boot/dts/).

Click here for more information on customizing the device tree within Factory.

Building U-Boot with External (User-Supplied) Sources

Desktop Factory provides defaults for U-Boot given a particular board and kernel selection which are automatically fetched, patched, configured, and built during the course of a BSP/SDK build. These defaults include U-Boot version, source files, and any necessary patchwork — all of which have been build and run tested to ensure proper functionality. There may be instances when significant source modifications have been made to U-Boot, or when a particular version of U-Boot not supported in Factory is required. In these cases, external U-Boot sources (that is source files not provided by Timesys) can be utilized during the Desktop Factory BSP/SDK build process.

Click here for more information on Factory builds with U-Boot External Sources.

Building New Packages

While Factory has access to over 1000 libraries and packages available in the Timesys Source Repository for use with builds, it's easy to build new or custom packages for your target system as well. Factory-generated binary toolchains contain helper cross-scripts to aid in building additional applications for your target system. Desktop Factory also contains a new_pkg shell script which assists in the adding of packages to the buildsystem by providing template Config.in and .mk files that can be modified to suit the package build needs. This can be found in the bin/ directory from the top-level Factory directory.

Click here for more information on building new packages with the binary toolchain and Desktop Factory.