移植linux文件系統遇到的問題 tq2440

說明:移植是按照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,
 

               from/opt/EmbedSky/BusyBox-1.2.0/networking/libiproute/iptunnel.c:32:
/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,//只要添加這段就可以
};




發佈了83 篇原創文章 · 獲贊 20 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章