在PowerPC平台 u-boot移植基础上,移植Linux内核,具体移植过程如下:
1.修改顶层Makefile
ARCH ?= powerpc
CROSS_COMPILE ?= powerpc-linux-gnu-
2.配置
freescale@freescale-sdk:~/work/source/linux-2.6.35-r2$ make p1010rdb_defconfig
drivers/net/Kconfig:109:warning: choice value used outside its choice group
drivers/net/Kconfig:115:warning: choice value used outside its choice group
***
*** Can't find default configuration "arch/powerpc/configs/p1010rdb_defconfig"!
***
make[1]: *** [p1010rdb_defconfig] Error 1
make: *** [p1010rdb_defconfig] Error 2
freescale@freescale-sdk:~/work/source/linux-2.6.35-r2$ ls .config
ls: cannot access .config: No such file or directory
拷贝p1010rdb_defconfig至改目录arch/powerpc/configs/
freescale@freescale-sdk:~/work/source/linux-2.6.35-r2$ make p1010rdb_defconfig
drivers/net/Kconfig:109:warning: choice value used outside its choice group
drivers/net/Kconfig:115:warning: choice value used outside its choice group
#
# configuration written to .config
#
freescale@freescale-sdk:~/work/source/linux-2.6.35-r2$ ls .config
.config
3.编译
freescale@freescale-sdk:~/work/source/linux-2.6.35-r2$ make uImage
错误一:
net/ipv6/ipv6_sockglue.c: In function 'ip6_ra_control':
net/ipv6/ipv6_sockglue.c:72:44: error: 'struct inet_sock' has no member named 'num'
make[2]: *** [net/ipv6/ipv6_sockglue.o] Error 1
make[1]: *** [net/ipv6] Error 2
make: *** [net] Error 2
freescale@freescale-sdk:~/work/source/linux-2.6.35-r2$ make menuconfig
< > The IPv6 protocol --->
去掉IPv6(目前用不到),再编译
WRAP arch/powerpc/boot/uImage
Image Name: Linux-2.6.35
Created: S