The YAFFS bootloader is LGPL to facilitate integration into non-GPL code.
The software is designed in a modular fashion to facilitate integration and configuration.
The software comprises the following main sections:
yaffs_flashif.c NAND integration functions (to be completed by integrator).
nand_ecc.c: The ECC algorithms.
yboot.c: Bootloader code to provide a file as a stream of bytes in the bootloader.
bootldtst.c: Test harness/example for bootloader.
The bootloader does not implement YAFFS. Instead it is a simple set of routines which allows reading a file on a YAFFS device.
The file must be in the root directory of the device (eg. "/boot/boot.bin") since the bootloader does not understand directories. This limitation simplifies the bootloader and speeds up the boot process.
As shown here the bootloader is initialised, then provides the boot file as a stream of bytes. It is simple enough to provide the data in other formats.
$Id: yaffs_boot.html,v 1.1 2003-01-21 03:34:12 charles Exp $