Chinaunix首页 | 论坛 | 博客
  • 博客访问: 600324
  • 博文数量: 165
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1554
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-23 22:57
个人简介

我本仁慈,奈何苍天不许

文章分类

全部博文(165)

文章存档

2018年(1)

2016年(33)

2015年(5)

2014年(34)

2013年(92)

分类: LINUX

2013-12-27 18:03:38

说明:配置s5pc100内核,并支持NFS启动网络文件系统

实验环境:

主机:ubuntu 12.04发行版

目标机:FS_S5PC100

交叉编译工具:arm-none-linux-gnueabi-gcc

内核版本:2.6.35

1、修改内核顶层Makefile

$ vi   Makefile

修改:

ARCH    ?=(SUBARCH)

CROSS_COMPILE  ?=

CROSS_COMPILE  ?= arm-none-linux-gnueabi-

2、拷贝标准板配置文件

$cp arch/arm/configs/s5pc100-defconfig .config

3、因为要通过NFS启动,故还需要配置内核支持网卡DM9000

3.1、平台代码修改

vim  arch/arm/mach-s5pc100/mach-smdkc100.c

a、添加需要的头文件

#if defined(CONFIG_DM9000)

#include 

#include 

#endif

b、平台设备添加

/*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

c、平台设备列表添加

static struct platform_device *smdkc100_devices[] __initdata 结构体中添加如下内容:

#if  defined(CONFIG_DM9000)

&s5pc100_device_dm9000,

#endif

4、配置内核

4.1、网络配置

4.2、网卡驱动配置

4.3、网络文件系统的配置

5、编译内核,并拷贝到tftp目录下

$ make  zImage

6、启动开发板,修改内核启动参数,通过NFS挂载根文件系统。

修改内核启动参数和挂载NFS可以查看之前的博文。

阅读(1001) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~