The DENX U-Boot and Linux Guide (DULG) for TQM8xxL

Table of contents:
  • 1. Abstract
  • 2. Introduction
    • 2.1. Copyright
    • 2.2. Disclaimer
    • 2.3. Availability
    • 2.4. Credits
    • 2.5. Translations
    • 2.6. Feedback
    • 2.7. Conventions
  • 3. Embedded Linux Development Kit
    • 3.1. ELDK Availability
    • 3.2. Supported Host Systems
    • 3.3. Supported Target Architectures
    • 3.4. Installation
      • 3.4.1. Product Packaging
      • 3.4.2. Downloading the ELDK
      • 3.4.3. Initial Installation
      • 3.4.4. Installation and Removal of Individual Packages
      • 3.4.5. Removal of the Entire Installation
    • 3.5. Working with ELDK
      • 3.5.1. Switching Between Multiple Installations
    • 3.6. Mounting Target Components via NFS
    • 3.7. Rebuilding ELDK Components
      • 3.7.1. ELDK Source Distribution
      • 3.7.2. Rebuilding Target Packages
      • 3.7.3. Rebuilding ELDT Packages
    • 3.8. ELDK Packages
      • 3.8.1. List of ELDT Packages
      • 3.8.2. List of Target Packages
    • 3.9. Rebuilding the ELDK from Scratch
      • 3.9.1. ELDK Build Process Overview
      • 3.9.2. Setting Up ELDK Build Environment
      • 3.9.3. build.sh Usage
      • 3.9.4. Format of the cpkgs.lst and tpkgs.lst Files
    • 3.10. Notes for Solaris 2.x Host Environment
  • 4. System Setup
    • 4.1. Serial Console Access
    • 4.2. Configuring the "cu" command
    • 4.3. Configuring the "kermit" command
    • 4.4. Using the "minicom" program
    • 4.5. Permission Denied Problems
    • 4.6. Configuration of a TFTP Server
    • 4.7. Configuration of a BOOTP / DHCP Server
    • 4.8. Configuring a NFS Server
  • 5. Das U-Boot
    • 5.1. Current Versions
    • 5.2. Unpacking the Source Code
    • 5.3. Configuration
    • 5.4. Installation
      • 5.4.1. Before You Begin
        • 5.4.1.1. Installation Requirements
        • 5.4.1.2. Board Identification Data
      • 5.4.2. Installation Using a BDM/JTAG Debugger
      • 5.4.3. Installation using U-Boot
      • 5.4.4. Installation using Linux
      • 5.4.5. Installation using firmware
        • 5.4.5.1. Read Board ID and MAC Address
        • 5.4.5.2. Test Download
        • 5.4.5.3. Verify Download
        • 5.4.5.4. Erase MON8xx Firmware
        • 5.4.5.5. Load U-Boot
        • 5.4.5.6. Verify Download
        • 5.4.5.7. Recover Old MON8xx Firmware
        • 5.4.5.8. Reset Board, and Re-Initialize
    • 5.5. Tool Installation
    • 5.6. Initialization
    • 5.7. Initial Steps
    • 5.8. The First Power-On
    • 5.9. U-Boot Command Line Interface
      • 5.9.1. Information Commands
        • 5.9.1.1. bdinfo - print Board Info structure
        • 5.9.1.2. coninfo - print console devices and informations
        • 5.9.1.3. flinfo - print FLASH memory information
        • 5.9.1.4. iminfo - print header information for application image
        • 5.9.1.5. help - print online help
      • 5.9.2. Memory Commands
        • 5.9.2.1. base - print or set address offset
        • 5.9.2.2. crc32 - checksum calculation
        • 5.9.2.3. cmp - memory compare
        • 5.9.2.4. cp - memory copy
        • 5.9.2.5. md - memory display
        • 5.9.2.6. mm - memory modify (auto-incrementing)
        • 5.9.2.7. mtest - simple RAM test
        • 5.9.2.8. mw - memory write (fill)
        • 5.9.2.9. nm - memory modify (constant address)
        • 5.9.2.10. loop - infinite loop on address range
      • 5.9.3. Flash Memory Commands
        • 5.9.3.1. cp - memory copy
        • 5.9.3.2. flinfo - print FLASH memory information
        • 5.9.3.3. erase - erase FLASH memory
        • 5.9.3.4. protect - enable or disable FLASH write protection
      • 5.9.4. Execution Control Commands
        • 5.9.4.1. autoscr - run script from memory
        • 5.9.4.2. bootm - boot application image from memory
        • 5.9.4.3. go - start application at address 'addr'
      • 5.9.5. Download Commands
        • 5.9.5.1. bootp - boot image via network using BOOTP/TFTP protocol
        • 5.9.5.2. dhcp - invoke DHCP client to obtain IP/boot params
        • 5.9.5.3. loadb - load binary file over serial line (kermit mode)
        • 5.9.5.4. loads - load S-Record file over serial line
        • 5.9.5.5. rarpboot- boot image via network using RARP/TFTP protocol
        • 5.9.5.6. tftpboot- boot image via network using TFTP protocol
      • 5.9.6. Environment Variables Commands
        • 5.9.6.1. printenv- print environment variables
        • 5.9.6.2. saveenv - save environment variables to persistent storage
        • 5.9.6.3. setenv - set environment variables
        • 5.9.6.4. run - run commands in an environment variable
        • 5.9.6.5. bootd - boot default, i.e., run 'bootcmd'
      • 5.9.7. Special Commands
        • 5.9.7.1. i2c - I2C sub-system
        • 5.9.7.2. ide - IDE sub-system
        • 5.9.7.3. diskboot- boot from IDE device
      • 5.9.8. Miscellaneous Commands
        • 5.9.8.1. date - get/set/reset date & time
        • 5.9.8.2. echo - echo args to console
        • 5.9.8.3. reset - Perform RESET of the CPU
        • 5.9.8.4. sleep - delay execution for some time
        • 5.9.8.5. version - print monitor version
        • 5.9.8.6. ? - alias for 'help'
    • 5.10. U-Boot Environment Variables
    • 5.11. U-Boot Scripting Capabilities
    • 5.12. U-Boot Standalone Applications
      • 5.12.1. "Hello World" Demo
      • 5.12.2. Timer Demo
    • 5.13. U-Boot Image Formats
    • 5.14. U-Boot Advanced Features
      • 5.14.1. Boot Count Limit
      • 5.14.2. Bitmap Support
      • 5.14.3. Splash Screen Support
  • 6. Embedded Linux Configuration
    • 6.1. Download and Unpack the Linux Kernel Sources
    • 6.2. Kernel Configuration and Compilation
    • 6.3. Installation
  • 7. Booting Embedded Linux
    • 7.1. Introduction
    • 7.2. Passing Kernel Arguments
    • 7.3. Boot Arguments Unleashed
    • 7.4. Networked Operation with Root Filesystem over NFS
    • 7.5. Boot from Flash Memory
    • 7.6. Standalone Operation with Ramdisk Image
  • 8. Building and Using Modules
  • 9. Advanced Topics
    • 9.1. Flash Filesystems
      • 9.1.1. Memory Technology Devices
      • 9.1.2. Journalling Flash File System
      • 9.1.3. Second Version of JFFS
      • 9.1.4. Compressed ROM Filesystem
    • 9.2. The TMPFS Virtual Memory Filesystem
      • 9.2.1. Mount Parameters
      • 9.2.2. Kernel Support for tmpfs
      • 9.2.3. Usage of tmpfs in Embedded Systems
    • 9.3. Using PC Cards for Flash Disks, CompactFlash, and IDE Harddisks
      • 9.3.1. PC Card Support in U-Boot
      • 9.3.2. PC Card Support in Linux
        • 9.3.2.1. Using a MacOS Partition Table:
        • 9.3.2.2. Using a MS-DOS Partition Table:
      • 9.3.3. Using PC Card "disks" with U-Boot and Linux
    • 9.4. Adding Swap Space
    • 9.5. Splash Screen Support in Linux
    • 9.6. Root File System: Design and Building
      • 9.6.1. Root File System on a Ramdisk
      • 9.6.2. Root File System on a JFFS2 File System
      • 9.6.3. Root File System on a cramfs File System
      • 9.6.4. Root File System on a Read-Only ext2 File System
      • 9.6.5. Root File System on a Flash Card
      • 9.6.6. Root File System in a Read-Only File in a FAT File System
    • 9.7. Root File System Selection
  • 10. Debugging
    • 10.1. Debugging of U-Boot
      • 10.1.1. Debugging of U-Boot Before Relocation
      • 10.1.2. Debugging of U-Boot After Relocation
    • 10.2. Linux Kernel Debugging
      • 10.2.1. Linux Kernel and Statically Linked Device Drivers
      • 10.2.2. Dynamically Loaded Device Drivers (Modules)
      • 10.2.3. GDB Macros to Simplify Module Loading
    • 10.3. GDB Startup File and Utility Scripts
    • 10.4. Tips and Tricks
    • 10.5. Application Debugging
      • 10.5.1. Local Debugging
      • 10.5.2. Remote Debugging
    • 10.6. Debugging with Graphical User Interfaces
  • 11. Simple Embedded Linux Framework
  • 12. Books, Mailing Lists, Links, etc.
    • 12.1. Books
      • 12.1.1. Linux kernel
      • 12.1.2. General Linux / Unix programming
      • 12.1.3. Network Programming
      • 12.1.4. PowerPC Programming
    • 12.2. Mailing Lists
    • 12.3. Links
    • 12.4. More Links
    • 12.5. Tools
  • 13. Appendix
    • 13.1. BDI2000 Configuration file
  • 14. FAQ - Frequently Asked Questions
    • 14.1. ELDK
      • 14.1.1. ELDK Installation under FreeBSD
      • 14.1.2. ELDK Installation Aborts
    • 14.2. U-Boot
      • 14.2.1. Can UBoot be configured such that it can be started in RAM?
      • 14.2.2. Relocation cannot be done when using -mrelocatable
      • 14.2.3. U-Boot crashes after relocation to RAM
      • 14.2.4. Warning - bad CRC, using default environment
      • 14.2.5. Wrong debug symbols after relocation
      • 14.2.6. Linux hangs after uncompressing the kernel
      • 14.2.7. Erasing Flash Fails
      • 14.2.8. Ethernet Does Not Work
      • 14.2.9. Where Can I Get a Valid MAC Address from?
      • 14.2.10. How the Command Line Parsing Works
        • 14.2.10.1. Old, simple command line parser
        • 14.2.10.2. Hush shell
        • 14.2.10.3. Hush shell scripts
        • 14.2.10.4. General rules
      • 14.2.11. Decoding U-Boot Crash Dumps
      • 14.2.12. Porting Problem: cannot move location counter backwards
      • 14.2.13. How can I load and uncompress a compressed image
    • 14.3. Linux
      • 14.3.1. Linux crashes randomly
      • 14.3.2. Linux crashes when uncompressing the kernel
      • 14.3.3. Linux Post Mortem Analysis
      • 14.3.4. Linux kernel register usage
      • 14.3.5. Linux Kernel Ignores my bootargs
      • 14.3.6. Cannot configure Root Filesystem over NFS
      • 14.3.7. Unable to open an initial console
      • 14.3.8. Mounting a Filesystem over NFS hangs forever
      • 14.3.9. Ethernet does not work in Linux
      • 14.3.10. Loopback interface does not work
      • 14.3.11. Linux kernel messages are not printed on the console
      • 14.3.12. Linux ignores input when using the framebuffer driver
      • 14.3.13. BogoMIPS Value too low
      • 14.3.14. Ramdisk Greater than 4 MB Causes Problems
      • 14.3.15. Combining a Kernel and a Ramdisk into a Multi-File Image
      • 14.3.16. Adding Files to Ramdisk is Non Persistent
      • 14.3.17. Kernel Configuration for PCMCIA
      • 14.3.18. Using a PCMCIA WLAN Card with a TQM8xxL Board
      • 14.3.19. Configure Linux for PCMCIA Cards using the Card Services package
      • 14.3.20. Configure Linux for PCMCIA Cards without the Card Services package
        • 14.3.20.1. Using a MacOS Partition Table
        • 14.3.20.2. Using a MS-DOS Partition Table
      • 14.3.21. Boot-Time Configuration of MTD Partitions
      • 14.3.22. Use NTP to synchronize system time against RTC
      • 14.3.23. Configure Linux for XIP (Execution In Place)
        • 14.3.23.1. XIP Kernel
        • 14.3.23.2. Cramfs Filesystem
        • 14.3.23.3. Hints and Notes
        • 14.3.23.4. Space requirements and RAM saving, an example
      • 14.3.24. Ethernet Problems on TQM8xxL boards
      • 14.3.25. Use SCC UART with Hardware Handshake
      • 14.3.26. How can I access U-Boot environment variables in Linux?
      • 14.3.27. The =appWeb= server hangs *OR* /dev/random hangs
      • 14.3.28. Swapping over NFS
    • 14.4. Self
      • 14.4.1. How to Add Files to a SELF Ramdisk
      • 14.4.2. How to Increase the Size of the Ramdisk
    • 14.5. RTAI
      • 14.5.1. Conflicts with asm clobber list
    • 14.6. BDI2000
      • 14.6.1. Where can I find BDI2000 Configuration Files?
      • 14.6.2. How to Debug Linux Exceptions
      • 14.6.3. How to single step through "RFI" instruction
      • 14.6.4. Setting a breakpoint doesn't work
    • 14.7. Motorola LITE5200 Board
      • 14.7.1. LITE5200 Installation Howto
      • 14.7.2. USB does not work on Lite5200 board
      • 14.7.3. Installing Debian on PowerPC based systems using U-Boot
      • 14.7.4. Installing a Coral-P PCI Evaluation Board
      • 14.7.5. Download, Build, Install, and Configure the MB8629x X11 Drivers
  • 15. Glossary

你可能感兴趣的:(BEmbedded)