说明:移植是按照tq2440的教程进行移植的。但是其中避免不了出现一些小的问题。
---------------------------------------------------------------------------------------------------------------------------------------------------------
1、yaffs2文件系统去哪里下载?
http://www.aleph1.co.uk/gitweb?p=yaffs2.git;a=snapshot;h=4e188b08c5531f99f73383a85251e03a1e667b26;sf=tgz
2、编译buzybox出错
信息如下:
In file included from/opt/EmbedSky/4.3.3/bin/../arm-none-linux-gnueabi/libc/usr/include/linux/if_tunnel.h:5,
/opt/EmbedSky/4.3.3/bin/../arm-none-linux-gnueabi/libc/usr/include/linux/ip.h:85:error: redefinition of 'struct iphdr'
make[1]: ***[/opt/EmbedSky/BusyBox-1.2.0/networking/libiproute/iptunnel.o]Error 1
make: *** [_all] Error 2
解决办法:
1)试过修改iptunnel.c,注释里面ip.h的引用,可以编译通过,
2)Networking Utilities --->ip tunnel项不选也可解决问题(不知为何我取消不了)
3、移植网卡驱动:明明是按照天嵌的教程来移植的,修改了/driver/net/DM9000.c文件,但是烧上之后为啥就不行呢?(后来检查了一遍教程,不是教程写错了,是我没看到!!)
提示:
no device等等
route: SIOCADDRT: Network is unreachable
因为内核提供的网卡驱动的硬件配置没有修改?怎么修改? 在 arch/arm/mach-s3c2440/mach-smdk2440.c 里面的。
添加如下内容:
#include <linux/dm9000.h>
/* DM9000 */
static struct resource s3c_dm9k_resource[] = {
[0] = {
.start = S3C2410_CS4,
.end = S3C2410_CS4 + 3,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = S3C2410_CS4 + 4,
.end = S3C2410_CS4 + 4 + 3,
.flags = IORESOURCE_MEM,
},
[2] = {
.start = IRQ_EINT7,
.end = IRQ_EINT7,
.flags = IORESOURCE_IRQ | IRQF_TRIGGER_RISING,
}
};
static struct dm9000_plat_data s3c_dm9k_platdata = {
.flags = DM9000_PLATF_16BITONLY,
};
struct platform_device s3c_device_dm9000 = {
.name = "dm9000",
.id = 0,
.num_resources = ARRAY_SIZE(s3c_dm9k_resource),
.resource = s3c_dm9k_resource,
.dev = {
.platform_data = &s3c_dm9k_platdata,
}
};
/************************修改这段********************************************/
static struct platform_device *smdk2440_devices[] __initdata = {
&s3c_device_usb,
&s3c_device_lcd,
&s3c_device_wdt,
&s3c_device_i2c0,
&s3c_device_iis,
&s3c_device_dm9000,//只要添加这段就可以
};