Apex Boot Loader » Change Log

Change Log

Last modified by Marc Singer on 2011/09/16 16:40
  • 2001.09.16
    • Released iMX51x port for Genesi Efikamx.  Doesn't boot released OS due to problems with USB initialization in the kernel.
    • Fixes for image handling.
  • 2011.07.05 (apex-1.6.10)
    • Applied nikita patch from Nick Vallidis.
    • Revisions for the benefit of GCC 4.5.2.
    • Using AEABI for all Debian versions
    • Added shlibdeps for apex-env to close Debian bug.
    • Revised FSF information from files and now point to Debian copyright files.
    • Revmoed rtc command line options from nslu2 configurations.
    • Revision to flash-apex script that was causing failures.
  • 2009.01.21 (apex-1.6.7)
    • Revised LH7A404 MMC driver to support SD cards that improperly report the manufacturer ID as zero, e.g. Eye-FI.
    • Added more complete diagnostic output from MMC driver on the features of the SD memory card.
    • Added option to image load command that relocates the ramdisk of a uImage file, putting it out of the way of an expanding Linux kernel.
    • Updated the NAND flash relocator to work properly with the platform specific NAND flash configuration header.
    • Updated the Companion pre-relocator to only load 4KiB from NAND flash and defer to the NAND flash relocator for the rest of the loader.
  • 2009.01.05 (apex-1.6.5)
    • Merged Orion5x support.
    • Better THUMB support s.t. the only code that cannot be built with THUMB is in startup and direct MMU manipulation.
    • 64 bit IO support, when needed. Large ATA/SATA drives may need 64 bit support for IO on partitions beyond 2GiB.
    • New command to scan flash for used erase blocks.
  • 2008.12.18 (apex-1.6.4)
    • Revised cp15 reporting on MX31 to include ARMv6 register bits.
    • Fixed tftp to properly report absent file.
    • Fixed image load to support direct tftp loading of images.
    • Interwork support added s.t. Apex can not be compiled for THUMB. Yippee!
  • 2008.11.13 (apex-1.6.3)
    • Implemented complete DM9000 Ethernet driver support.
  • 2008.09.12 (apex-1.6.2)
    • Added UBOOT multi-image type support. This type of image may contain more than one payload, e.g. kernel and initrd. The implementation in APEX is compatible with the implementation in UBOOT such that a multi-image that has a kernel and initrd, in that order, will load and the address of the initrd will be passed to the kernel.
  • 2008.09.12 (apex-1.6.1)
    • Added UBOOT image type.
  • 2008.09.11 (apex-1.6.0)
    • Integrated latest Kbuild
    • General work on the MX31.
    • Fixed sorting of commands in help.
    • Architecture ID can be set in environment.
    • Fixed 1Gib SDRAM in MX31.
    • New image command for loading kernel and initrd along with metadata. The APEX image type is supported. A utility in the usr/ directory assembles APEX images.
  • 2008.05.27 (apex-1.5.14)
    • Debian release 1.4.15.2 changes merged in, though no unstable Debian release made.
    • Revisions to the LCD panel setups to include a new panel.
    • Integration of archive of NSLU2 and other IXP patches, e.g. SlugOS.
    • Added post-inst script to flash apex-nslu2 on install of package.
  • 2007.10.16 (apex-1.5.13)
    • Added AEABI suport
    • IXP42x using inline initialization
    • Unified detection of runtime address to simplify initialization/relocation routines
    • Enhanced APEX context record so we can detect the version of APEX and the environment region.
    • Updated command-line tool for probing APEX environment.
    • Fixed clock-speed setup on the LH7A404 to make sure CPU is running 200MHz.
    • Removed a lot of cruft from the NAND drivers and relocators.
    • Added Karma target.
  • 2007.06.02 (apex-1.5.6)
    • Fixed section ordering in reset code. GCC 4.1.1 now builds Apex correctly again.
    • Added an ENV_SAVEATONCE configuration option. Some non-volatile storage for the environment doesn't take to incremental updates or multiple writes. This option makes a copy of the environment in RAM and gives the user a new command, saveenv, to save it to non-volatile storage.
  • 2007.05.30 (apex-1.5.4)
    • Incorporated latest nslu2 patches.
    • Fixed sdram-initialize command detection of 256Mib SDRAM chips.
    • iMX31 reset command added.
    • iMX31 sleep test command added.
    • Upgrades to the IPU test code. It is now capable of capturing still images.
    • Unparseable regions now generate an error message instead of silently failing.
    • Added a message about the current variation to the version command output. I appears if variation are enabled and the user has activated a variation.
  • 2007.05.18 (apex-1.5.2)
    • Eliminated CORE tag body as it is optional.
    • Completely restructured reset and initialization to allow for stackless execution until SDRAM is setup.
    • New section structure allows for easy integration of both custom relocations and early relocations.
    • NAND driver support for ST command structure.
  • 2007.05.10 (apex-1.5.0)
    • Added bootable iMX31 platform. Presently, only a custom board is supported as there is lack of configuration for the iMX31ADS development platform.
    • Added OneNAND flash driver with relocation support to allow booting from OneNAND.
    • Fixed startup command definition to allow for an empty startup command.
    • There is debug support for the iMX31 IPU in pursuit of a working sensor interface. This code includes I2C IO routines that could be generalized.
    • CPSR is now set to supervisor on startup as this is a more correct operating mode for the boot loader.
    • Added target board description string that is shown with the program copyright and help.
    • Begun reorganization of the bootstrap so that APEX can boot without depending on the ARM specific procedure call mechanism.
    • Fixed a typo in the environment setup that was inserting a copy for the ramdisk even though there was none requested.
    • Enhanced the dm9000 command to properly choose the default interface in the event that more than one could be present on the system, but only one is.
    • Reorganized the command invocation routine so that APEX squaks when the user enters an unrecognized command.
    • Rolled minor revision for new architecture, ARMv6.
  • 2007.04.09 (apex-1.4.18)
    • Fixed drv-mem to properly handle word width IO. On some architectures, SoC registers won't read/write correctly unless using the expected width.
    • Fixed the mx31 usleep function which was preventing the dm9000 code from being able to access the EEPROM. mx31 doesn't yet boot, but it's really close.
  • 2007.02.25 (apex-1.4.17)
    • Added sdram-init function for ixp4xx to support memory expansion. Command detects the SDRAM organization. May even work with 4-chip configurations, though not tested. sdram-init function uses the cache to store part of APEX while the SDRAM controller is being reprogrammed.
    • Added cache support to the nor-flash driver which significantly the read-time.
    • Improved the nor-flash device timing on the NSLU2. This, with the cache feature cuts the load time from flash in half. The timing improvement should also improve the speed of IO to flash from within the Linux kernel.
  • 2007.02.15 (apex-1.4.16)
    • Fixed a couple of Debian bugs including support for EABI. Added alternatives to Debian specific configs.
    • Revised wait command to accept a zero wait time. This gives no delay, but does allow the boot process to be interrupted with a ^C.
    • ST NAND flash protocol support started. It can read from ST NAND flash, but there is no flash writing or erasing support.
    • Spansion NOR flash protcol support added, though not tested by me since I don't have any hardware to test against.
    • Revised fill command to support width parameters and to be nicer about the width of the output region. Essentially, it is now a useful command.
    • memory scan function allows the RAM memory map to be updated after APEX has booted. This, with the revised fill command, allows support for fat-SLUGs without requiring replacement of the primary boot loader.
  • 2007.01.29 (apex-1.4.13)
    • Fixed ext2 driver block caching so that multiple partitions are properly accessed.
    • Revisions to the FIS driver in light of updates to the kernel. We now can detect the end of the partition table without scanning to the end of the block.
    • Revised the memory test based on recommendations received by email. Still investigating.
    • Added support for variations, a method for changing the boot mode based on runtime input from the user. The Companion and the NSLU2 both have routines to accept user input. The Debian packages allow customization of the boot process via the environment.
    • New user-mode program to browse and modify the APEX flash environment.
  • 2007.01.08 (apex-1.4.11)
    • Fixed check in FIS driver for swapped-ness of the FIS partition table. This check is more robust that the originals ones that compared the erase block size with the length of the partition table as described by the partition entry for it. Now, it checks that the address of the partition table matches the address where the entry is being read.
  • 2007.01.08 (apex-1.4.10)
    • Support for more than one dm9000, though this is only for the sake of setting and programming mac addresses.
    • Preinitialization support for the benefit of difficult NAND boot schemes. Preinitialization allows APEX to boot in situations where the CPU copies a very small portion of the loader, e,g, 512 bytes, from flash to SRAM and starts execution there. Preinitialization allows for an APEX customization to continue to bootstrap before jumping to the SDRAM initialization. When the CPU can copy for than 512 bytes, it is usually possible to execute the SDRAM initialization before copying the rest of APEX from NAND.
    • Generic NAND driver implemented.
    • Added several new LCD panels. Normalized the initialization data.
    • Enhanced the FIS driver to cope with swapped partition tables. This is explicitly to support little-endian execution (e.g. ixp4xx) while maintaining RedBoot as a big-endian primary loader.
    • Support for an early memory test. Still needs indicator feedback to the user when something goes wrong.
    • Added '-' prefix support for commands in the startup variable. Adding the '-' tells APEX to ignore the return value from the command.
    • Variation support added for boot-time/run-time selection of the boot variables. See README_variations. Variation service defined for nslu2.
    • Fixed byte-swapping in the nor-cfi driver so that APEX can write a big-endian environment while running in little-endian mode.
    • Applied rwhitby's patches include several configurations and a fix to the FIS driver for deleted partition entries.
  • 2006.08.18 (apex-1.4.5)
    • Package added to debian archive.
    • Fixed sorting of skip descriptors.
    • This release boots debian-nslu2-arm where there are no sercomm headers on the kernel or ramdisk partitions.
  • 2006.08.13 (apex-1.4.3)
    • Added FIS driver skip descriptors so that the nslu2 implementation smoothly integrates.
    • Updated the debian package to properly build with dpkg-buildpackage.
  • 2006.07.30 (apex-1.4.2)
    • Slight revision of compact flash driver to make sure that the configuration header is correct.
    • Revised the CLCDC driver to work reliably with the lh79520 and the reset command.
    • Update to the default command line to use the ttyAMA driver in the kernel instead of the custom implementation of the serial driver.
  • 2006.07.25 (apex-1.4.0)
    • APEX may be used as a second stage loader for debian-nslu2-arm (little-endian).
    • New layout for environment in non-volatile memory. It is a little less compact, but can be read and written independently from APEX.
    • Updated printenv user-space tool to be able to read new environment.
    • Added README_environment explaining the new layout.
    • Support for little-endian version of APEX running on a big-endian configured target.
    • New -s switch for the copy command to swap bytes, converting between BE to LE for cases where the flash was written in a different orientation that the CPU is currently running.
    • NOR flash driver can perform appropriate swapping to deal with reading in LE mode when hardware is configured for BE.
    • FIS partition driver detects byte swapped table and converts the binary data appropriately.
    • ATAGS are reported just before booting the Linux kernel.
  • 2006.07.20 (apex-1.3.30)
    • New FIS partition driver so that APEX can refer directly FIS partitions.
    • Added environment variables for the underlying block regions used by the filesystem and partition drivers. This means that the source region for these drivers can be changed at runtime by the user.
    • Debianized for nslu2 packages.
    • Little-endian configuration option for mach-ixp42x which will force the CPU into little-endian mode in the event that a previous bootloader (e.g. Redboot) puts the device into big-endian mode.
  • 2006.07.14 (apex-1.3.29)
    • Some restructuring of the memory image to reduce the footprint when CONFIG_SMALL is defined.
    • Stacks reduced to minimal extent.
    • Publishing pre-built binaries for all defined configurations.
    • Added a standby function to test standby functionality on the LH7A40x.
    • Fixed a register stomp that could occur with DEBUG_LL enabled.
  • 2006.06.02 (apex-1.3.28)
    • Added dm9000 mac address programming support.
    • Added apex_relocate() implementation for i2c EEPROM.
    • Added SD/MMC driver.
    • Fixed environment handling, especially for the case where there is no writable environment.
    • Fixed partition detection in ext2 driver so that switching partitions is correctly detected.
    • Added support for BGR mode in CLCD driver.
    • Added method for providing console feedback while bootstrapping from I2C EEPROM.
  • 2006.04.03 (apex-1.3.23)
    • Added missing files to scripts/ so that make menuconfig works.
  • 2006.04.01 (apex-1.3.22)
    • DEL is an alias for BS, unless disabled in the configuration.
    • Fixed presentation of APEX region in version command output.
    • Added emac-release function to fix kernel crash in EMAC-lh79524 driver.
    • Added command-history.
    • Added command-edting.
    • Enforcing read-only program image in the linker script. The .data section is DISCARD'ed.
    • Fixed ext2 driver ability to cope with 1k blocks as is found in larger filesystems, e.g. 1G and up.
  • 2006.03.23 (apex-1.3.21)
    • Updated Kconfig sources from the kernel. make xconfig no longer works.
    • Added more overclocking frequencies for the LH7A40X.
    • Fixed error in the VSW macro used to setup the LCD controller.
    • Added env_link feature so that user-mode application can read the APEX environment. See usr/printenv.cc.
  • 2006.03.15 (apex-1.3.20)
    • Clock frequency of the LH7A40X may now be configured.
    • Added new architecture, s3c2410.
  • 2006.02.32 (apex-1.3.19)
    • Clock frequency of the LH79524 may be configured. The default is still 51/51 FCLK/HCLK. Users may choose to set the CPU frequency to 76MHz and the HCLK frequency to 51MHz; however, this faster rate is not stable when running the Linux kernel.
    • Added an explicit shutdown of the UDC port (LH7A404) on bootup. This is only necessary for the -10 board which boots with the USB port powered up.
  • 2006.02.32 (apex-1.3.18)
    • Changed timing for the static memory regions. All of the targets are now using timings consistent with the CompactFlash specification. Some were much too slow and interfered with the LCD controller's ability to maintain image refresh.
  • 2006.02.17 (apex-1.3.17)
    • Relaxed the SDRAM memory timings for the LH7a40x's.
    • Adjusted the LCD panel timings for the 6.4" display. Oddly, the correct values don't match the released spec.
    • Added a cp15 test command for adjusting cache behavior.
    • Default SDRAM mode for the LH7a40x's is SROM_LL
  • 2006.01.20 (apex-1.3.14)
    • Support for palettized PNG images added.
  • 2006.01.13 (apex-1.3.13)
    • Added MMU support for the IXP42x (aka Slug). Improves boot time.
    • Openslug configuration updated to reflect the layout of openslug-3.1.
    • Added code to detect variations in the LPD79520 for flash write enable.
  • 2005.12.24 (apex-1.3.12)
    • Revised the CLCDC driver. Factored into a single source file. New 'clcdc' command with test sub-commands.
    • 'clcdc splash' command draws PNG images to the frame buffer. Images may be sourced from any region, e.g. memory, tftp, ext2, fatfs.
    • Build option to enable the MMU for the sake of caching. Significant performance improvement gained when MMU is enabled.
    • Revised the memory buffer organization to allow limited run-time allocation.
    • Serial drivers now flush on release. Messages output before 'boot' or 'go' will be sent before continuing.
    • Improved handling of clocking mode for the lh7a404.
    • 'memlimit' testing command to constrain the amount of memory passed to the Linux kernel.
    • New lnode80 target.
  • 2005.11.18 (apex-1.3.11)
    • Added option to disable the buffered write code in the NOR CFI driver.
    • Added support for lnode80, a lh79520 implementation.
  • 2005.11.07 (apex-1.3.10)
    • Supporting the LH79525. Not much different, but now it's tested.
  • 2005.10.08 (apex-1.3.8)
    • Fixed TFTP/ARP crash bug. APEX would crash if the TFTP server IP/MAC translation wasn't in the ARP cache. ARP now honors ^C and will terminate ARP if user types ^C.
  • 2005.10.07 (apex-1.3.7)
    • Fixed memory probe code. The lh79520 wasn't booting because of an unfortunate collision with the probe and BSS. This revised method is immune.
  • 2005.09.30 (apex-1.3.6)
    • Integrated a function to detect when APEX boots from SDRAM.
    • Changed the timing of the SRAM controller regions on the lpd7a404.
  • 2005.09.28 (apex-1.3.5)
    • Added architecture detection and optimization to the configuration and Makefiles. This fixes a long standing problem with building APEX with native compilers. APEX should now build with properly on any ARM compiler as long as the endian-ness is correct.
  • 2005.09.27 (apex-1.3.4)
    • Fixed a stack overflow that was revealed in these latest releases by the jffs2 driver.
    • Fixed a glitch in the jffs2 caching function.
    • Moved more preallocated buffers into uninitialized bss, xbss, section.
  • 2005.08.15 (apex-1.3.2)
    • Modified the lpd7a404 platform initialization code to comply with PCN285 (2005.5.4).
  • 2005.08.11 (apex-1.3.1)
    • Fixed WLPEN macro which was preventing the SMC91x chip from being initialized on newer LPD7A404 CardEngines.
    • Fixed the timer code for the LH7A404. Both the us timer and the millisecond timer were broken.
    • Improved error handling with copy command.
    • Fixed startup command parser. There was an undetected NULL pointer dereference bug.
    • Added ^C handling. It is especially useful with ethernet commands.
    • Added ads7843 test code.
    • Added more complete support for testing the lh79520.
  • 2005.08.01 (apex-1.3.0)
    • Fixed CF driver in lpd79520.
    • Added SMC91x driver.
    • Implemented ipconfig, tftp, and ping commands.
    • Added dump display width so that memory may be displayed in words or half-words.
    • Fixed a long standing bug in copy command.
    • Reading of data from the network via tftp is working, though not rigorously tested.
  • 2005.07.06 (apex-1.2.18)
    • Added alias commands. Similar to environment, but not saved to flash. Command line will expand aliases and environment variables when prefixed with $.
    • Added 'more' mode to dump command. It was about time.
    • Commands shown in help are sorted.
  • 2005.06.15 (apex-1.2.16)
    • Reading from jffs2 filesystem supported--some testing has been done.
    • New info command may be used to show the contents of a directory.
  • 2005.05.15 (apex-1.2.11)
    • APEX boots on the nslu2 (slug). Ethernet and USB 2.0 interfaces now working properly.
  • 2005.04.13 (apex-1.2.7)
    • Added configuration options to set the underlying device regions for the filesystem drivers. This is a stop-gap until the region parser is enhanced.
    • Fixed the AUTOBOOT macros.
    • Properly initializing EMAC on the 79524 so that the version command can find the PHY.
  • 2005.04.08 (apex-1.2.6)
    • Added configuration option to disable the MMU at startup. This may help people show are bootstrapping with another loader.
  • 2005.03.22 (apex-1.2.5)
    • Implemented kernel-style Kconfig configuration support. Configuration works with xconfig, gconfig, and menuconfig. The old 'config' target is broken.
    • Build now uses optimal dependency checking. On configuration changes, only affected source files are rebuilt.
    • Rolled minor rev for the fancy new feature.
  • 2005.03.17 (apex-1.1.9)
    • Change to the lpd7a40x initialization that enables PCMCIA. May be a workaround for a buggy CPLD wrt. flash.
  • 2005.03.16 (apex-1.1.8)
    • Fixed the LH79520 timer function.
    • Fixed the base NOR flash address for the LPD79520.
    • Fixed memory scan function to correctly detect SDRAM on the LH79520.
  • 2005.03.10 (apex-1.1.7)
    • LPD7A40X SDRAM initialization was completely broken. Had been since 1.1.0. Fixed.
    • Moved CF driver to the generic driver directory. Implemented CF for lh7952x and lh7a40x. The lh7a40x driver isn't working.
    • Fixed error in the ext2 symlink traversal.
  • 2005.03.10 (apex-1.1.6)
    • Unified the nor flash driver, drv-nor-cfi. Added diagnostic code to the flash probe to help detect problem chips.
  • 2005.03.07 (apex-1.1.4)
    • Added ext2fs filesystem driver. Supports directories and symlinks. Tested to the extent that checksum and copy commands correctly read data.
    • Minor fix to the lh7952x serial driver.
  • 2005.03.03 (apex-1.1.3)
    • Added support for compressed, PNG format splash images.
  • 2005.02.24 (apex-1.1.2)
    • Fat slug SDRAM configuration derives from the configuration file.
    • Start of work to get the NPE access library to link.
  • 2005.02.21 (apex-1.1.0)
    • EMAC driver vetted with the LPD79524 RevJ SDK board.
    • Cleanup of the emac driver.
  • 2005.02.20 (apex-1.0.28)
    • Fixed the SDRAM initialization sequence for LH79250.
    • Added code (disabled by default) to use simpler instructions in relocate_apex().
    • Added FAT12 support to the FATFS driver.
  • 2005.02.12 (apex-1.0.24)
    • Added CONFIG_DEBUG_LL to help with startup debug
  • 2005.02.11 (apex-1.0.23)
    • Updated the NSLU2 initialization code.
    • Added LED 'spinner' for the NSLU2.
  • 2005.02.11 (apex-1.0.21)
    • Added CompactFlash (LPD79524) and FAT drivers.
    • Supporting GCC-2.95.3.
    • Added splash screen. This is not yet a general facility.
Tags:
Created by Marc Singer on 2011/07/04 10:26

This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 3.1 - Documentation