打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
linux-2.6.35内核配置和网卡驱动添加

linux-2.6.35内核配置和网卡驱动添加

分类: linux内核移植47人阅读评论(0)收藏举报

【环境】

1:Ubuntu 10.10

2:u-boot-2010.03

3:linux-2.6.35

4:优龙FS2410

5:交叉编译器:arm-none-linux-gnueabi-gcc version 4.3.2



1)解压内核

tar jxf linux-2.6.35.tar.bz2


2)修改顶层Makefile

tony@Ubuntu:~/win/linux-2.6.35$ vim Makefile

 修改191和192行(可以先找到编译器的绝对路径

ARCH        ?= arm

CROSS_COMPILE   ?= /home/tony/toolchain/bin/arm-none-linux-gnueabi-

 

3)拷贝配置文件 

tony@Ubuntu:~/win/linux-2.6.35$ cp arch/arm/configs/s3c2410_defconfig .config

 

4)配置内核

tony@Ubuntu:~/win/linux-2.6.35$ make menuconfig

查看类型是否为S3C2410

System Type --->

        ARM system type (Samsung S3C2410, S3C2412, S3C2413, ……)  --->

用新交叉编译器需选择EABI 

Kernel Features  --->

        [*] Use the ARM EABI to compile the kernel

        [*]   Allow old ABI binariesto run with this kernel (EXPERIMENTAL) (NEW)

 

5)将cs8900.ccs8900.h两个文件拷贝到linux-2.6.35/drivers/net/arm/

 

6)修改linux-2.6.35/drivers/net/arm/vim Kconfig,添加cs8900内核配置项

添加

config S3C2410_CS8900

    tristate "CS8900 support"

    depends on NET_ETHERNET && ARM && ARCH_SMDK2410

    ---help---

      support for cs8900 chipset base Ethernet cards, if you have a networkcard of this type.

 

7)修改linux-2.6.35/drivers/net/arm/vim Makefile

添加:obj-$(CONFIG_S3C2410_CS8900) += cs8900.o

 

8)添加地址映射定义

修改文件:linux-2.6.35/arch/arm/mach-s3c2410/include/mach$vim map.h

添加:

/* CS8900a */

#define pSMDK2410_ETH_IO    __phys_to_pfn(0x19000000)

#define vSMDK2410_ETH_IO    0xE0000000

#define SMDK2410_ETH_IRQ    IRQ_EINT9

 

9)添加平台代码

修改文件:linux-2.6.35/arch/arm/mach-s3c2410$vim mach-smdk2410.c

在59行添加一句:

57 static struct map_desc smdk2410_iodesc[]__initdata = {

58   /*nothing here yet */

59     {vSMDK2410_ETH_IO, pSMDK2410_ETH_IO, SZ_1M, MT_DEVICE}

60};


10)配置内核,使之支持cs8900网卡 

tony@Ubuntu:~/win/linux-2.6.35$ make menuconfig

Device Drivers  --->

        [*] Network device support  --->

                [*]  Ethernet (10 or 100Mbit)  --->

                        <*>  CS8900 support

 

11)重新编译内核

tony@Ubuntu:~/win/linux-2.6.35$ make zImage

********************************************************************

**        备注:如果想生成uImage(注意权限)                                **

**        cp u-boot-2010.03/tools/mkimge /usr/bin/         **

********************************************************************


12)拷贝zImage到tftpboot目录进行测试

tony@Ubuntu:~/win/linux-2.6.35$cp arch/arm/boot/zImage /tftpboot

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
成功移植linux-2.6.33.5到fs2410上
编译内核 报错 -mlittle-endian
树莓派上为内核添加系统调用
(mark)新下载的Linux内核移植时需要修改的地方(不包括内核裁剪)
linux设备驱动归纳总结(一):内核的相关基础概念
ARM的嵌入式Linux移植体验之操作系统
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服