FPGA Boot
With the eventual goal of booting uCLinux on SCOORE, the work is currently focusing on booting uCLinux on OpenSPARC T1. This project can be nicely divided into several high-level steps:
Setup SPARC Development Environment Install TILO Compile the uClinux Kernel Compile uClibc Build an initial ramdisk Combine into bootable image with TILO Create FPGA image and boot
Contents
Development Environment
uClinux development first starts with a Linux distribution running on top of a SPARC computer. Ubuntu 7.10 can be found here: [1]. The Sun server in the MASC lab is being setup precisely for this purpose.
Install TILO
Create FPGA ACE Image
open the xmd command shell and do something like this: file:///C:/EDK/doc/usenglish/help/platform_studio/html/ps_c_dld_using_genace_script.htm Info can be found here: [the GenAce Script]
For information on memory map, see ccx-firmware\src\mbfw_config.h.
Booting the FPGA
- Load the appropriate .ACE file onto the CompactFlash card. The .ACE file for a full OpenSolaris boot can be found in $SPARC/design/sys/edk/ace/OpenSPARCT1_1_6_os_boot.ace
- The ML505 board boots from one of the folders on the CompactFlash card under the config directory. Pick a folder rev[0-7] and set the CFG[2:0] bits of SW3 to the binary value of the chosen folder. Be sure that there is only one .ACE file per directory.
- Currently, rev0 contains the 'Hello World' image, while rev1 contains the full OpenSolaris boot image.
- Attach a serial cable to the computer and connect to the serial connection using 9600 baud, 8N1, no-parity. Putty's default options work fine.
- When the board is powered up, it will eventually prompt you with {OK}. at this point you can choose one of a couple boot options: boot -mverbose: 60 minute boot up time, initializes all services, including telnet and networking or boot -m milestone=none: faster boot, no services