天嵌 ARM开发社区

 找回密码
 注册
查看: 3021|回复: 9

制作linux的yaffs文件系统镜像过程中的问题

[复制链接]
6724243 发表于 2012-3-4 22:25:21 | 显示全部楼层 |阅读模式
本帖最后由 6724243 于 2012-3-4 22:26 编辑

我的开发板是4.3尺寸TQ2440,利用天嵌提供的2.6.30.4源码,编译器是4.3.3。
制作yaffs文件系统镜像过程中出现以下问题:
[root@localhost linux-2.6.30.4]# make Image
scripts/kconfig/conf -s arch/arm/Kconfig
  CHK     include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
  CHK     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-arm
  CC      kernel/bounds.s
  GEN     include/linux/bounds.h
  CC      arch/arm/kernel/asm-offsets.s
  GEN     include/asm/asm-offsets.h
  CALL    scripts/checksyscalls.sh
<stdin>:1097:2: warning: #warning syscall fadvise64 not implemented
<stdin>:1265:2: warning: #warning syscall migrate_pages not implemented
<stdin>:1321:2: warning: #warning syscall pselect6 not implemented
<stdin>:1325:2: warning: #warning syscall ppoll not implemented
<stdin>:1365:2: warning: #warning syscall epoll_pwait not implemented
  CC      scripts/mod/empty.o
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
  CC      init/main.o
  CHK     include/linux/compile.h
  CC      init/version.o
  CC      init/do_mounts.o
  LD      init/mounts.o
  CC      init/noinitramfs.o
  CC      init/calibrate.o
  LD      init/built-in.o
  LD      usr/built-in.o
  CC      arch/arm/kernel/compat.o
  CC      arch/arm/kernel/elf.o
  AS      arch/arm/kernel/entry-armv.o
  AS      arch/arm/kernel/entry-common.o
  CC      arch/arm/kernel/irq.o
  CC      arch/arm/kernel/process.o
  CC      arch/arm/kernel/ptrace.o
  CC      arch/arm/kernel/setup.o
  CC      arch/arm/kernel/signal.o
  CC      arch/arm/kernel/sys_arm.o
  CC      arch/arm/kernel/stacktrace.o
  CC      arch/arm/kernel/time.o
  CC      arch/arm/kernel/traps.o
  CC      arch/arm/kernel/armksyms.o
  CC      arch/arm/kernel/module.o
  CC      arch/arm/kernel/sys_oabi-compat.o
  CC      arch/arm/kernel/io.o
  LD      arch/arm/kernel/built-in.o
  AS      arch/arm/kernel/head.o
  CC      arch/arm/kernel/init_task.o
  LDS     arch/arm/kernel/vmlinux.lds
  CC      arch/arm/mm/dma-mapping.o
  CC      arch/arm/mm/extable.o
  CC      arch/arm/mm/fault.o
  CC      arch/arm/mm/init.o
  CC      arch/arm/mm/iomap.o
  CC      arch/arm/mm/fault-armv.o
  CC      arch/arm/mm/flush.o
  CC      arch/arm/mm/ioremap.o
  CC      arch/arm/mm/mmap.o
  CC      arch/arm/mm/pgd.o
  CC      arch/arm/mm/mmu.o
  CC      arch/arm/mm/proc-syms.o
  CC      arch/arm/mm/alignment.o
  AS      arch/arm/mm/abort-ev4t.o
  AS      arch/arm/mm/cache-v4wt.o
  CC      arch/arm/mm/copypage-v4wb.o
  AS      arch/arm/mm/tlb-v4wbi.o
  AS      arch/arm/mm/proc-arm920.o
  LD      arch/arm/mm/built-in.o
  LD      arch/arm/common/built-in.o
  CC      arch/arm/mach-s3c2410/gpio.o
  LD      arch/arm/mach-s3c2410/built-in.o
  LD      arch/arm/mach-s3c2400/built-in.o
  LD      arch/arm/mach-s3c2412/built-in.o
  CC      arch/arm/mach-s3c2440/s3c2440.o
  CC      arch/arm/mach-s3c2440/dsc.o
  CC      arch/arm/mach-s3c2440/irq.o
  CC      arch/arm/mach-s3c2440/clock.o
  CC      arch/arm/mach-s3c2440/dma.o
  CC      arch/arm/mach-s3c2440/mach-tq2440.o
  CC      arch/arm/mach-s3c2440/mach-smdk2440.o
  LD      arch/arm/mach-s3c2440/built-in.o
arch/arm/mach-s3c2440/mach-smdk2440.o:   (.data+0x0): multiple definition of `s3c_device_dm9000'
arch/arm/mach-s3c2440/mach-tq2440.o:        (.data+0x10): first defined here
make[1]: *** [arch/arm/mach-s3c2440/built-in.o] Error 1
make: *** [arch/arm/mach-s3c2440] Error 2
提示:重复定义`s3c_device_dm9000'
我是新手请各位大侠帮忙分析一下(1)为什么会重复定义?(2)我该怎样解决这个问题?在此先谢过了!!!

TQ-lkp 发表于 2012-3-5 08:55:07 | 显示全部楼层
先clean下再makae
embedsky_lhh 发表于 2012-3-5 09:07:56 | 显示全部楼层
还有你可以检查下你内核的配置,是不是TQ2440和SMDK2440都选上了
wyz365889 发表于 2012-3-5 10:54:11 | 显示全部楼层
大哥,你这是编译内核吧! 编译制作文件系统好像不是这样吧!
 楼主| 6724243 发表于 2012-3-5 15:37:11 | 显示全部楼层
wyz365889 发表于 2012-3-5 10:54
大哥,你这是编译内核吧! 编译制作文件系统好像不是这样吧!

不好意思,写错了 应该是制作内核镜像
亚瑟王 发表于 2012-3-5 17:34:28 | 显示全部楼层
亲,你能说一下你移植的具体步骤吗?
 楼主| 6724243 发表于 2012-3-5 20:53:01 | 显示全部楼层

RE: 制作linux的内核镜像过程中的问题

embedsky_lhh 发表于 2012-3-5 09:07
还有你可以检查下你内核的配置,是不是TQ2440和SMDK2440都选上了

谢谢,我的确是TQ2440和SMDK2440都选上了。
我按照step by step手册移植过程中,但是在参考附录5进行配置时,碰到【】SMDK2440    //客户移植内核是选择该项
,我不理解才将其选中导致的。现在我想请教以下几个问题:
1、什么时候才选择该项?
我可否这样理解“客户移植内核是选择该项”这句话:我用自己下载的的linux内核源码(比如:linux-
2.6.30.4)在自己的板子(非天嵌提供的开发板)上做内核移植时才选择该项。当然,这时我自己下载的源码通过make
menuconfig进入配置菜单没有【】EmbedSky SKY2440/TQ2440 Board这一项了。
2、同时选择TQ2440和SMDK2440,编译过程中出现“重复定义s3c_device_dm9000”。我不清楚arch/arm/mach-s3c2440/mach-tq2440.carch/arm/mach-s3c2440/mach-smdk2440.c这两个文件的内容,相对于我之后只选择【】EmbedSky SKY2440/TQ2440 Board编译成功有什么不一样的。我初学还不是很清楚,如何修改这两个文件甚至其他文件的内容可以避免重复定义而且能够成功编译,请尽量说明白点,在此先谢谢了!

 楼主| 6724243 发表于 2012-3-5 20:57:12 | 显示全部楼层
亚瑟王 发表于 2012-3-5 17:34
亲,你能说一下你移植的具体步骤吗?

谢谢亚瑟王的热情回复,可以编译了!
亚瑟王 发表于 2012-3-6 09:23:14 | 显示全部楼层
亲,说明一下:SMDK2440和TQ2440这两个文件分别针对的是两种不同类型的板子(前者是三星的标准板,后者是天嵌科技的TQ2440板),你使用的是天嵌科技的板子,所以自需要选择TQ2440这个即可。
 楼主| 6724243 发表于 2012-3-6 22:26:06 | 显示全部楼层
亚瑟王 发表于 2012-3-6 09:23
亲,说明一下:SMDK2440和TQ2440这两个文件分别针对的是两种不同类型的板子(前者是三星的标准板,后者是天 ...

哦  原来是这样的 谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-20 00:25 , Processed in 1.031250 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表