U-Boot和Linux中文参考指南

来自百问网嵌入式Linux wiki
Wiki讨论 | 贡献2020年5月7日 (四) 10:47的版本

目录

Abstract

Introduction

Copyright

Disclaimer

Availability

Credits

Translations

Feedback

Conventions

Embedded Linux Development Kit

ELDK Availability

ELDK Getting Help

Supported Host Systems

Supported Target Architectures

Installation

Product Packaging

Downloading the ELDK

Initial Installation

Installation and Removal of Individual Packages

Removal of the Entire Installation

Working with ELDK

Switching Between Multiple Installations

Mounting Target Components via NFS

Rebuilding ELDK Components

ELDK Source Distribution

Rebuilding Target Packages

Rebuilding ELDT Packages

ELDK Packages

List of ELDT Packages

List of Target Packages

Rebuilding the ELDK from Scratch

ELDK Build Process Overview

Setting Up ELDK Build Environment

build.sh Usage

Format of the cpkgs.lst and tpkgs.lst Files

Notes for Solaris 2.x Host Environment

System Setup

Serial Console Access

Configuring the "cu" command

Configuring the "kermit" command

Using the "minicom" program

Permission Denied Problems

Configuration of a TFTP Server

Configuration of a BOOTP / DHCP Server

Configuring a NFS Server

Das U-Boot

Current Versions

Unpacking the Source Code

Configuration

Installation

Before You Begin

Installation Requirements

Board Identification Data

Installation Using a BDM/JTAG Debugger

Installation using U-Boot

Tool Installation

Initialization

Initial Steps

The First Power-On

U-Boot Command Line Interface

Information Commands

bdinfo - print Board Info structure

coninfo - print console devices and informations

flinfo - print FLASH memory information

iminfo - print header information for application image

help - print online help

Memory Commands

base - print or set address offset

crc32 - checksum calculation

cmp - memory compare

cp - memory copy

md - memory display

mm - memory modify (auto-incrementing)

mtest - simple RAM test

mw - memory write (fill)

nm - memory modify (constant address)

loop - infinite loop on address range

Flash Memory Commands

cp - memory copy

flinfo - print FLASH memory information

erase - erase FLASH memory

protect - enable or disable FLASH write protection

mtdparts - define a Linux compatible MTD partition scheme=

Execution Control Commands

source - run script from memory

bootm - boot application image from memory

go - start application at address 'addr'

Download Commands

bootp - boot image via network using BOOTP/TFTP protocol

dhcp - invoke DHCP client to obtain IP/boot params

loadb - load binary file over serial line (kermit mode)

loads - load S-Record file over serial line

rarpboot- boot image via network using RARP/TFTP protocol

tftpboot- boot image via network using TFTP protocol

Environment Variables Commands

printenv- print environment variables

saveenv - save environment variables to persistent storage

setenv - set environment variables

run - run commands in an environment variable

bootd - boot default, i.e., run 'bootcmd'

Flattened Device Tree support

fdt addr - select FDT to work on

fdt list - print one level

fdt print - recursive print

fdt mknode - create new nodes

fdt set - set node properties

fdt rm - remove nodes or properties

fdt move - move FDT blob to new address

fdt chosen - fixup dynamic info

Special Commands

i2c - I2C sub-system

Storage devices

Miscellaneous Commands

echo - echo args to console

reset - Perform RESET of the CPU

sleep - delay execution for some time

version - print monitor version

? - alias for 'help'

U-Boot Environment Variables

U-Boot Scripting Capabilities

U-Boot Standalone Applications

"Hello World" Demo

Timer Demo

Processor cache considerations

Running on core other than core 0

U-Boot Image Formats

U-Boot Advanced Features

Boot Count Limit

Embedded Linux Configuration

Download and Unpack the Linux Kernel Sources

Kernel Configuration and Compilation

Installation

Booting Embedded Linux

Introduction

Flattened Device Tree Blob

Passing Kernel Arguments

Boot Arguments Unleashed

Networked Operation with Root Filesystem over NFS

Bootlog of tftp'd Linux kernel with Root Filesystem over NFS

Boot from Flash Memory

Standalone Operation with Ramdisk Image

Building and Using Modules

Advanced Topics

Flash Filesystems

Memory Technology Devices

Journalling Flash File System

Second Version of JFFS

Compressed ROM Filesystem

The TMPFS Virtual Memory Filesystem

Mount Parameters

Kernel Support for tmpfs

Usage of tmpfs in Embedded Systems

Adding Swap Space

Splash Screen Support in Linux

Root File System: Design and Building=

Root File System on a Ramdisk

Root File System on a JFFS2 File System

Root File System on a cramfs File System

Root File System on a Read-Only ext2 File System

Root File System on a Flash Card

Root File System in a Read-Only File in a FAT File System

Root File System Selection

Overlay File Systems

The Persistent RAM File system (PRAMFS)

Mount Parameters

Example

Debugging

Debugging of U-Boot

Debugging of U-Boot Before Relocation

Debugging of U-Boot After Relocation

Linux Kernel Debugging

Linux Kernel and Statically Linked Device Drivers

Dynamically Loaded Device Drivers (Modules)

GDB Macros to Simplify Module Loading

GDB Startup File and Utility Scripts

Tips and Tricks

Application Debugging

Local Debugging

Remote Debugging

Debugging with Graphical User Interfaces

Simple Embedded Linux Framework

Books, Mailing Lists, Links, etc.

Application Notes

Further Reading

Upstreaming

License Issues

Linux kernel

General Linux / Unix programming

Network Programming

C++ programming

Java programming

Internationalization And Character Sets

ARM Architecture Programming

Power Architecture® Programming

Embedded Topics

Mailing Lists

Links

Tools

Appendix

Flat Device Tree

Flat Device Tree

BDI2000 Configuration file

FAQ - Frequently Asked Questions

ELDK

ELDK Installation under FreeBSD

ELDK Installation Hangs

.gvfs: Permission Denied

Installation on Local Harddisk

System Include Files Missing

patch: command not found

ELDK Include Files Missing

Using the ELDK on a 64 bit platform

GDB Problems with BDI2000/BDI3000 on e500 Cores

How can I check if Floating Point support is working?

ELDK 2.x Installation Aborts

Enable SSH Access

U-Boot

Can U-Boot be configured such that it can be started in RAM?

Relocation cannot be done when using -mrelocatable

Source object has EABI version 4, but target has EABI version 0

U-Boot crashes after relocation to RAM

Warning - bad CRC, using default environment

Net: No ethernet found

Wrong debug symbols after relocation

Decoding U-Boot Crash Dumps

Porting Problem: cannot move location counter backwards

U-Boot Doesn't Run after Upgrading my Compiler

How Can I Reduce The Image Size?

Erasing Flash Fails

Ethernet Does Not Work

Where Can I Get a Valid MAC Address from?

Why do I get TFTP timeouts?

Why is my Ethernet operation not reliable?

How the Command Line Parsing Works

Old, simple command line parser

Hush shell

Hush shell scripts

General rules

How can I load and uncompress a compressed image

How can I create an uImage from a ELF file

My standalone program does not work

Linux hangs after uncompressing the kernel

How can I implement automatic software updates?

Linux

Linux crashes randomly

Linux crashes when uncompressing the kernel

Linux Post Mortem Analysis

Linux kernel register usage

Linux Kernel Ignores my bootargs

Cannot configure Root Filesystem over NFS

Linux Kernel Panics because "init" process dies

Unable to open an initial console

System hangs when entering User Space (ARM)

Mounting a Filesystem over NFS hangs forever

Ethernet does not work in Linux

Loopback interface does not work

Linux kernel messages are not printed on the console

Linux ignores input when using the framebuffer driver

How to switch off the screen saver and the blinking cursor?

BogoMIPS Value too low

Linux Kernel crashes when using a ramdisk image

Ramdisk Greater than 4 MB Causes Problems

Combining a Kernel and a Ramdisk into a Multi-File Image

Adding Files to Ramdisk is Non Persistent

Kernel Configuration for PCMCIA

Configure Linux for PCMCIA Cards using the Card Services package

Configure Linux for PCMCIA Cards without the Card Services package

Using a MacOS Partition Table

Using a MS-DOS Partition Table

Boot-Time Configuration of MTD Partitions

Use NTP to synchronize system time against RTC

Configure Linux for XIP (Execution In Place)

XIP Kernel

Cramfs Filesystem

Hints and Notes

=Space requirements and RAM saving, an example

Use SCC UART with Hardware Handshake

How can I access U-Boot environment variables in Linux?

The =appWeb= server hangs *OR* /dev/random hangs

Swapping over NFS

Using NFSv3 for NFS Root Filesystem

Using and Configuring the SocketCAN Driver

Telnet / SSH (dropbear) server not working

Self

How to Add Files to a SELF Ramdisk

How to Increase the Size of the Ramdisk

RTAI

Conflicts with asm clobber list

BDI2000

Where can I find BDI2000 Configuration Files?

How to Debug Linux Exceptions

How to single step through "RFI" instruction

Setting a breakpoint doesn't work

Remote 'g' packet reply is too long

Motorola LITE5200 Board

LITE5200 Installation Howto

USB does not work on Lite5200 board

Glossary