一、移植环境:1、 Ubuntu 10.10发行版2、 u-boot.bin
3、 目标机:FS_S5PC100平台4、 交叉编译器 arm-cortex_a8-linux-gnueabi-gccu-boot.bin下载:
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2012年资料/7月/9日/Linux-2.6.35内核移植—网卡驱动的移植/
二、移植步骤1、平台代码修改$ vim arch/arm/mach-s5pc100/mach-smdkc100.c
#if defined(CONFIG_DM9000)#include <linux/dm9000.h>#include <linux/irq.h>#endif
/** DM9000 Support **/#if defined(CONFIG_DM9000)static struct resource dm9000_resources[] = {[0] = {.start= 0x88000000,.end= 0x88000000 + 0x3,.flags= IORESOURCE_MEM,},[1] = {.start= 0x88000000 + 0x4,.end= 0x88000000 + 0x4 + 0x3,.flags= IORESOURCE_MEM,},[2] = {.start= IRQ_EINT(10),.end= IRQ_EINT(10),.flags= IORESOURCE_IRQ | IRQ_TYPE_LEVEL_HIGH,},};static struct dm9000_plat_data s5pc100_dm9000_platdata = {.flags= DM9000_PLATF_16BITONLY,.dev_addr[0] = 0x00,.dev_addr[1] = 0x00,.dev_addr[2] = 0x3e,.dev_addr[3] = 0x26,.dev_addr[4] = 0x0a,.dev_addr[5] = 0x00,};static struct platform_device s5pc100_device_dm9000 = {.name = "dm9000",.id = -1,.num_resources= ARRAY_SIZE(dm9000_resources),.resource = dm9000_resources,.dev= {.platform_data= & s5pc100_dm9000_platdata,},};#endif
#if defined(CONFIG_DM9000)&s5pc100_device_dm9000,#endif 2、配置内核$ make menuconfig
[*] Networking support(NEW) ---> Networking option ---> <*> Packet socket <*> Unix domain socket [*] TCP/IP networking [*] IP: multicasting [*] IP: kernel level autoconfiguration [*] IP: BOOTP support
[*] Device Drivers ---> [*] Network device support ---> [*] Ethernet(10 or 100Mbit) ---> <*> DM9000 support
File systems ---> [*] Network File Systems ---> <*> NFS client support [*] NFS client support for NFS version 3 [*] NFS client support for the NFSv3 ACL protocol extension [*] Root file system on NFS
三、编译内核,并拷贝到tftpboot目录下$ make zImage$ cparch/arm/boot/zImage/tftpboot 启动开发板,修改内核启动参数,通过NFS方式挂载根文件系统