|
我的系统是RedHat9.0 Linux-2.4.20-8,
在 /usr/local 下安装了arm-elf-tools-20030314.sh,
将uClinux-dist-20041215.tar.gz解压在/usr/local/uClinux-dist 下,
然后make xconfig, 选择vender 为samsung 的4510B,
kernel 为 2.4.X , lib 选择uclibc ,而不是uc-libc(选择后者错误是一样的);
make dep 通过, 但是 make 的时候出现了以下错误:
-------------------------------------------------------------------------
arm-elf-ld -p -X -T arch/armnommu/vmlinux.lds arch/armnommu/kernel/head-armv.o arch/armnommu/kernel/init_task.o init/main.o init/version.o init/do_mounts.o \
--start-group \
arch/armnommu/kernel/kernel.o arch/armnommu/mm/mm.o arch/armnommu/mach-snds100/snds100.o kernel/kernel.o mmnommu/mmnommu.o fs/fs.o ipc/ipc.o \
drivers/char/char.o drivers/serial/serial.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/media/media.o \
net/network.o \
arch/armnommu/lib/lib.a /usr/local/uClinux-dist/linux-2.4.x/lib/lib.a /usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a \
--end-group \
-o linux
drivers/block/block.o: In function `blk_dev_init':
/usr/local/uClinux-dist/linux-2.4.x/drivers/block/ll_rw_blk.c:1513: undefined reference to `romfs_data'
make[1]: *** [linux] Error 1
make[1]: Leaving directory `/usr/local/uClinux-dist/linux-2.4.x'
make: *** [linux] Error 1
-----------------------------------------------------------------
我在本论坛找到了这篇文章,
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=50742&start=0&postdays=0&postorder=asc&highlight=
并依照其中的第8条,在../linux-2.4.x /arch/armnommu/vmlinux-armv.lds.in
中添加了
romfs_data = .;
romfs.o
romfs_data_end = .;
<<<<说明: 原文中要求注意句前句后的缩进,我不懂,所以只是与前一行对齐了>>>>>
然后编译的时候出现了这样的错误:
----------------------------------------------------------------------
arm-elf-ld -p -X -T arch/armnommu/vmlinux.lds arch/armnommu/kernel/head-armv.o arch/armnommu/kernel/init_task.o init/main.o in it/version.o init/do_mounts.o \
--start-group \
arch/armnommu/kernel/kernel.o arch/armnommu/mm/mm.o arch/armnommu/mach-snds100/snds100.o kernel/kernel.o mmnommu/mmnom mu.o fs/fs.o ipc/ipc.o \
drivers/char/char.o drivers/serial/serial.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/media /media.o \
net/network.o \
arch/armnommu/lib/lib.a /usr/local/uClinux-dist/linux-2.4.x/lib/lib.a /usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a \
--end-group \
-o linux
/usr/local/bin/arm-elf-ld.real: cannot open romfs.o: ?????????
make[1]: *** [linux] Error 1
make[1]: Leaving directory `/usr/local/uClinux-dist/linux-2.4.x
-------------------------------------------------------------------------
请高手指点指点 ,看看怎么回事?如何修改啊? |
|