2440移植Linux Kernel笔记(七)------网卡驱动

你好!这里是风筝的博客,

欢迎和我一起交流。

 


根文件制作好了,但是每次下载比较麻烦,

现在想在服务器上挂载根文件,这样就不用每次修改都需要下载一次根文件了.

所以现在移植网卡驱动:

在mach-smdk2440.c中,添加如下驱动:

#define MACH_smdk2440_DM9K_BASE (S3C2410_CS4 + 0x300)

static struct resource smdk2440_dm9k_resource[] = {
[0] = DEFINE_RES_MEM(MACH_smdk2440_DM9K_BASE, 4),
[1] = DEFINE_RES_MEM(MACH_smdk2440_DM9K_BASE + 4, 4),
[2] = DEFINE_RES_NAMED(IRQ_EINT7, 1, NULL, IORESOURCE_IRQ \
| IORESOURCE_IRQ_HIGHEDGE),
};
/*
 * The DM9000 has no eeprom, and it's MAC address is set by
 * the bootloader before starting the kernel.
 */
static struct dm9000_plat_data smdk2440_dm9k_pdata = {
.flags = (DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM),
};

static struct platform_device smdk2440_device_eth = {
.name = "dm9000",
.id = -1,
.num_resources= ARRAY_SIZE(smdk2440_dm9k_resource),
.resource = smdk2440_dm9k_resource,
.dev = {
.platform_data= &smdk2440_dm9k_pdata,
},
};


在static struct platform_device *smdk2440_devices[] __initdata中添加:
&smdk2440_device_eth,
添加头文件:#include <linux/dm9000.h>

 


make uImage编译.

 

把Kernel重新烧录进板子,进入文件系统后,设置下ip:

ifconfig eth0 192.168.1.104

然后试着挂载文件:

mount -t nfs -o nolock,vers=2 192.168.1.106:/work/nfs/root /mnt

发现挂载成功.

这样,在uboot里设置环境变量:

set bootargs console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.1.106:/work/nfs/root ip=192.168.1.104:192.168.1.106:192.168.1.1:255.255.255.0::eth0:off

这样就能直接从服务器上启动根文件了.

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值