Software Configuration:
=======================
软件的配置
Configuration is usually done using C preprocessor defines; the
rationale behind that is to avoid dead code whenever possible.
使用c的预处理 避免 “dead code”
两种配置变量
There are two classes of configuration variables:
* Configuration _OPTIONS_: 选址性的
These are selectable by the user and have names beginning with
"CONFIG_".
* Configuration _SETTINGS_: 设置性的
These depend on the hardware etc. and should not be meddled with if
you don't know what you're doing; they have names beginning with
"CFG_".
以后做一个想linux 内核类似的配置工具
Later we will add a configuration tool - probably similar to or even
identical to what's used for the Linux kernel. Right now, we have to
do the configuration by hand, which means creating some symbolic
links and editing some configuration files. We use the TQM8xxL boards
as an example here.
Selection of Processor Architecture and Board Type:
---------------------------------------------------
选址处理器的架构及板的类型
For all supported boards there are ready-to-use default
configurations available; just type "make
Example: For a TQM823L module type:
cd u-boot
make TQM823L_config
For the Cogent platform, you need to specify the cpu type as well;
e.g. "make cogent_mpc8xx_config". And also configure the cogent
directory according to the instructions in cogent/README.
Configuration Options: 配置选项
----------------------
依赖与板及cpu
Configuration depends on the combination of board and CPU type; all
such information is kept in a configuration file
"include/configs/
Example: For a TQM823L module, all configuration settings are in
"include/configs/TQM823L.h".
Many of the options are named exactly as the corresponding Linux
kernel configuration options. The intention is to make it easier to
build a config tool - later.
The following options need to be configured:
- CPU Type:
- Board Type:
- CPU Daughterboard Type:
- CPU Module Type:
- Motherboard Type:
- Motherboard I/O Modules:
- Motherboard Options:
- Board flavour:
- Linux Kernel Interface:
- Serial Ports:
- Console Interface:
- Console Baudrate:
- Interrupt driven serial port input:
- Console UART Number:
- Boot Delay:
Software Configuration:
=======================
软件的配置
Configuration is usually done using C preprocessor defines; the
rationale behind that is to avoid dead code whenever possible.
使用c的预处理 避免 “dead code”
两种配置变量
There are two classes of configuration variables:
* Configuration _OPTIONS_: 选址性的
These are selectable by the user and have names beginning with
"CONFIG_".
* Configuration _SETTINGS_: 设置性的
These depend on the hardware etc. and should not be meddled with if
you don't know what you're doing; they have names beginning with
"CFG_".
以后做一个想linux 内核类似的配置工具
Later we will add a configuration tool - probably similar to or even
identical to what's used for the Linux kernel. Right now, we have to
do the configuration by hand, which means creating some symbolic
links and editing some configuration files. We use the TQM8xxL boards
as an example here.
Selection of Processor Architecture and Board Type:
---------------------------------------------------
选址处理器的架构及板的类型
For all supported boards there are ready-to-use default
configurations available; just type "make
Example: For a TQM823L module type:
cd u-boot
make TQM823L_config
For the Cogent platform, you need to specify the cpu type as well;
e.g. "make cogent_mpc8xx_config". And also configure the cogent
directory according to the instructions in cogent/README.
Configuration Options: 配置选项
----------------------
依赖与板及cpu
Configuration depends on the combination of board and CPU type; all
such information is kept in a configuration file
"include/configs/
Example: For a TQM823L module, all configuration settings are in
"include/configs/TQM823L.h".
Many of the options are named exactly as the corresponding Linux
kernel configuration options. The intention is to make it easier to
build a config tool - later.
The following options need to be configured:
- CPU Type:
- Board Type:
- CPU Daughterboard Type:
- CPU Module Type:
- Motherboard Type:
- Motherboard I/O Modules:
- Motherboard Options:
- Board flavour:
- Linux Kernel Interface:
- Serial Ports:
- Console Interface:
- Console Baudrate:
- Interrupt driven serial port input:
- Console UART Number:
- Boot Delay:
- Autoboot Command:
- Pre-Boot Commands:
- Serial Download Echo Mode:
- Kgdb Serial Baudrate:
- Monitor Functions:
- Watchdog:
- U-Boot Version:
- Real-Time Clock:
- Timestamp Support:
- Partition Support:
- IDE Reset method:
- ATAPI Support:
- LBA48 Support:
- SCSI Support:
- NETWORK Support (PCI):
- NETWORK Support (other):
- USB Support:
- MMC Support:
- Journaling Flash filesystem support:
- Keyboard Support:
- Video support:
- LCD Support: CONFIG_LCD
- Splash Screen Support: CONFIG_SPLASH_SCREEN
- Gzip compressed BMP image support: CONFIG_VIDEO_BMP_GZIP
- Compression support:
- MII/PHY support:
- Ethernet address:
- IP address:
- Server IP address:
- BOOTP Recovery Mode:
- DHCP Advanced Options:
- CDP Options:
- Status LED: CONFIG_STATUS_LED
- CAN Support: CONFIG_CAN_DRIVER
- I2C Support:
- SPI Support:
- FPGA Support:
- Configuration Management:
- Vendor Parameter Protection:
- Protected RAM:
- Error Recovery:
- Command Interpreter:
- Commandline Editing and History:
- Default Environment:
- DataFlash Support:
- SystemACE Support:
- TFTP Fixed UDP Port:
- Show boot progress:
调制解调支持:
Modem Support:
Configuration Settings:
设置选项:
Building the Software:
======================
软件的编译:
Building U-Boot has been tested in native PPC environments (on a
PowerBook G3 running LinuxPPC 2000) and in cross environments
(running RedHat 6.x and 7.x Linux on x86, Solaris 2.6 on a SPARC, and
NetBSD 1.5 on x86).
If you are not using a native PPC environment, it is assumed that you
have the GNU cross compiling tools available in your path and named
with a prefix of "powerpc-linux-". If this is not the case, (e.g. if
you are using Monta Vista's Hard Hat Linux CDK 1.2) you must change
the definition of CROSS_COMPILE in Makefile. For HHL on a 4xx CPU,
change it to:
CROSS_COMPILE = ppc_4xx-
U-Boot is intended to be simple to build. After installing the
sources you must configure U-Boot for one specific board type. This
is done by typing:
make NAME_config
Finally, type "make all", and you should get some working U-Boot
images ready for download to / installation on your system:
- "u-boot.bin" is a raw binary image
- "u-boot" is an image in ELF binary format
- "u-boot.srec" is in Motorola S-Record format
By default the build is performed locally and the objects are saved
in the source directory. One of the two methods can be used to change
this behavior and build U-Boot to some external directory: (外部目录)
1. Add O= to the make command line invocations:
make O=/tmp/build distclean
make O=/tmp/build NAME_config
make O=/tmp/build all
2. Set environment variable BUILD_DIR to point to the desired location:
export BUILD_DIR=/tmp/build
make distclean
make NAME_config
make all
If the system board that you have is not listed, then you will need
to port U-Boot to your hardware platform. To do this, follow these
steps:
移植的步骤: