PowerPC功能很强的通信处理器,支持1000M以太网接口,以Freescale的P1010处理器为开发平台,讲述移植linux的整个过程,与大家分享。
1.配置交叉编译链
网上下载交叉编译工具,配置环境变量
sudo gedit /etc/environment
在末尾添加交叉编译链路径
:/home/freescale/work/tools/freescale/bin
log out(不需要重启),输入如下,验证交叉编译是否安装成功:
freescale@freescale-sdk:~/work/u-boot$ powerpc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=powerpc-linux-gnu-gcc
........
gcc version 4.5.1 (Sourcery G++ Lite 2010.09-55)
freescale@freescale-sdk:~/work/u-boot$
2.新增单板
freescale@freescale-sdk:~/work/source/u-boot-2010.12$ make distclean
freescale@freescale-sdk:~/work/source/u-boot-2010.12$ cd board/freescale/
freescale@freescale-sdk:~/work/source/u-boot-2010.12/board/freescale$ cp p1010rdb p1010acce -rf
freescale@freescale-sdk:~/work/source/u-boot-2010.12/board/freescale$ cd ../..
freescale@freescale-sdk:~/work/source/u-boot-2010.12$ cd include/configs/
freescale@freescale-sdk:~/work/source/u-boot-2010.12/include/configs$ cp P1010RDB.h P1010BOARD.h
freescale@freescale-sdk:~/work/source/u-boot-2010.12/include/configs$ cd ../..
freescale@freescale-sdk:~/work/source/u-boot-2010.12$ vim boards.cfg
add:
P1010BOARD_NOR powerpc mpc85xx p1010acce freescale - P1010BOARD:P1010BOARD
freescale@freescale-sdk:~/work/source/u-boot-2010.12$ make P1010BOARD_NOR_config
Configuring for P1010BOARD_NOR - Board: P1010BOARD, Options: P1010BOARD
freescale@freescale-sdk:~/work/source/u-boot-2010.12$
freescale@freescale-sdk:~/work/source/u-boot-2010.12$ make
Generating include/autoconf.mk
/home/freescale/work/source/u-boot-2010.12/include/asm/config_mpc85xx.h:328:2: error: #error Processor type not defined for this platform
Generating include/autoconf.mk.dep
/home/freescale/work/source/u-boot-2010.12/include/asm/config_mpc85xx.h:328:2: error: #error Processor type not defined for this platform
powerpc-linux-gnu-gcc -DDO_DEPS_ONLY \
-g -Os -mrelocatable -ffunction-sections -fdata-sections -fPIC -meabi -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0xeff80000 -I/home/freescale/work/source/u-boot-2010.12/include -fno-builtin -ffreestanding -nostdinc -isystem /home/freescale/work/tools/freescale-2010.09/bin/../lib/gcc/powerpc-linux-gnu/4.5.1/include -pipe -DCONFIG_PPC -D__powerpc__ -ffixed-r2 -Wa,-me500 -msoft-float -mno-string -mno-spe -Wall -Wstrict-prototypes -fno-stack-protector \
-o lib/asm-offsets.s lib/asm-offsets.c -c -S
In file included from /home/freescale/work/source/u-boot-2010.12/include/asm/config.h:25:0,
from /home/freescale/work/source/u-boot-2010.12/include/config.h:6,
from /home/freescale/work/source/u-boot-2010.12/include/common.h:37,
from lib/asm-offsets.c:18:
/home/freescale/work/source/u-boot-2010.12/include/asm/config_mpc85xx.h:328:2: error: #error Processor type not defined for this platform
make: *** [lib/asm-offsets.s] Error 1
freescale@freescale-sdk:~/work/source/u-boot-2010.12$
编译报错,修改如下:
solutions:
freescale@freescale-sdk:~/work/source/u-boot-2010.12$ vim boards.cfg
P1010BOARD_NOR powerpc mpc85xx p1010acce freescale - P1010BOARD:P1010RDB
继续编译,成功生成u-boot.bin
freescale@freescale-sdk:~/work/source/u-boot-2010.12$ make P1010BOARD_NOR
........
.5.1/nof -l