QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2433|回复: 5

uclinux 2.6.x内核编译问题

[复制链接]
发表于 2006-5-1 18:35:18 | 显示全部楼层 |阅读模式
make lib_only和make user_only都通过了,但make romfs出现以下问题:
romfs-inst.sh -s /var/tmp /tmp
romfs-inst.sh -s /bin /sbin
romfs-inst.sh /etc/rc
romfs-inst.sh /etc/inittab
romfs-inst.sh ../../Generic/romfs/etc/services /etc/services
case "linux-2.6.x" in \
        *2.4.*) ;; \
        *) echo "#ttyS0:linux:/bin/sh" >> /root/uClinux-dist/romfs/etc/inittab ;; \
        esac
romfs-inst.sh /etc/motd
romfs-inst.sh /etc/boa.conf
cp: cannot stat `boa.conf': No such file or directory
make[2]: *** [romfs] Error 1
make[2]: Leaving directory `/root/uClinux-dist/vendors/Samsung/44B0'
make[1]: *** [romfs] Error 2
make[1]: Leaving directory `/root/uClinux-dist/vendors'
make: *** [romfs] Error 1
我把boa.conf拷到所有的/etc目录下也没能解决这问题
另,make linux 出现以下问题:
scripts/conmakehash.c: In function 'getunicode':
scripts/conmakehash.c:36: warning: pointer targets in initialization differ in signedness
scripts/conmakehash.c:44: warning: pointer targets in assignment differ in signedness
scripts/conmakehash.c:45: warning: pointer targets in passing argument 1 of 'strtol' differ in signedness
  SYMLINK include/asm-arm/arch -> include/asm-arm/arch-s3c44b0x
  CC      arch/arm/kernel/asm-offsets.s
  CHK     include/asm-arm/constants.h
  UPD     include/asm-arm/constants.h
  Generating include/asm-arm/mach-types.h
  CC      init/main.o
  CHK     include/linux/compile.h
  UPD     include/linux/compile.h
  CC      init/version.o
  CC      init/do_mounts.o
  LD      init/mounts.o
  CC      init/initramfs.o
  CC      init/calibrate.o
  LD      init/built-in.o
  HOSTCC  usr/gen_init_cpio
  CHK     usr/initramfs_list
  UPD     usr/initramfs_list
  CPIO    usr/initramfs_data.cpio
  GZIP    usr/initramfs_data.cpio.gz
  AS      usr/initramfs_data.o
usr/initramfs_data.S: Assembler messages:
usr/initramfs_data.S:29: Error: Unknown pseudo-op:  `.incbin'
make[2]: *** [usr/initramfs_data.o] Error 1
make[1]: *** [usr] Error 2
make[1]: Leaving directory `/root/uClinux-dist/linux-2.6.x'
make: *** [linux] Error 1
发表于 2006-5-1 20:15:24 | 显示全部楼层
估计是你的编译器不支持。incbin的缘故,下个新点的吧,比如arm-elf-tools-20040427.sh,应该可以的 :-)
回复

使用道具 举报

 楼主| 发表于 2006-5-4 15:00:47 | 显示全部楼层
第一个问题,只要分析下脚本就解决了,放到主板商目录就行了。第一个问题解决,再处理一些小问题,第二问题也解决了
回复

使用道具 举报

发表于 2006-7-15 19:34:46 | 显示全部楼层
我也遇到了类似问题 请c_xvidtune 指点,(uclinux 2.6.12   )
[lxj@localhost uClinux-dist]$ make
make -C tools/ucfront
make[1]: Entering directory `/home/lxj/linux/uClinux/20051110/uClinux-dist/tools/ucfront'
make[1]: `ucfront' is up to date.
make[1]: Leaving directory `/home/lxj/linux/uClinux/20051110/uClinux-dist/tools/ucfront'
ln -sf /home/lxj/linux/uClinux/20051110/uClinux-dist/tools/ucfront/ucfront tools/ucfront-gcc
ln -sf /home/lxj/linux/uClinux/20051110/uClinux-dist/tools/ucfront/ucfront tools/ucfront-g++
make ARCH=arm CROSS_COMPILE=arm-elf- -C linux-2.6.x  || exit 1
make[1]: Entering directory `/home/lxj/linux/uClinux/20051110/uClinux-dist/linux-2.6.x'
  CHK     include/linux/version.h
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/split-include
  HOSTCC  scripts/basic/docproc
  SYMLINK include/asm-arm/arch -> include/asm-arm/arch-s3c44b0x
  CC      arch/arm/kernel/asm-offsets.s
  CHK     include/asm-arm/constants.h
  UPD     include/asm-arm/constants.h
  Generating include/asm-arm/mach-types.h
  CC      init/main.o
  CHK     include/linux/compile.h
  UPD     include/linux/compile.h
  CC      init/version.o
  CC      init/do_mounts.o
  CC      init/do_mounts_rd.o
  LD      init/mounts.o
  CC      init/initramfs.o
  CC      init/calibrate.o
  LD      init/built-in.o
  HOSTCC  usr/gen_init_cpio
  CHK     usr/initramfs_list
  UPD     usr/initramfs_list
  CPIO    usr/initramfs_data.cpio
  GZIP    usr/initramfs_data.cpio.gz
  AS      usr/initramfs_data.o
usr/initramfs_data.S: Assembler messages:
usr/initramfs_data.S:29: Error: Unknown pseudo-op:  `.incbin'
make[2]: *** [usr/initramfs_data.o] Error 1
make[1]: *** [usr] Error 2
make[1]: Leaving directory `/home/lxj/linux/uClinux/20051110/uClinux-dist/linux-2.6.x'
make: *** [linux] Error 1
[lxj@localhost uClinux-dist]$
回复

使用道具 举报

发表于 2006-8-6 17:24:15 | 显示全部楼层
我从网上搜集的解决办法:

开始默认编译通不过,错误为信息为:
   cc1: error: invalid option `abi=apcs-gnu'
   经过搜索u-boot的mailinglist得知解决方法:
出错的文件是/cpu/arm920t/下的config.mk:

PLATform_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
改成:
PLATform_CPPFLAGS +=$(call cc-option,-mapcs-32,$(call cc-option,-mabi=apcs-gnu),)
回复

使用道具 举报

发表于 2006-8-6 17:46:16 | 显示全部楼层
2.6.12编译老有问题 现在改成 2.6.9的版本,总算编译成功了
但是适用u-boot (1.114)启动后 显示如下信息后就没有任何显示信息了,网上信息了解到 需要 uboot 传递信息给linux 也不知是怎么传的?
小弟我甘接触linux和boot,很多东东都不清楚,请大虾们给指点迷经?   能够长期交流最好。

为了便于调试,我将uboot和linux中启动和解压缩部分的提示有部分做过改过,

U-Boot 1.1.4 (Aug  6 2006 - 15:02:35)

U-Boot code: 0C300000 -> 0C31BD24  BSS: -> 0C320AE0
RAM Configuration:
Bank #0: 0c000000 32 MB
Flash:  2 MB
*** Warning - bad CRC, using default environment
start_armboot
devices.c devices_init() 02
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
DV10=>  bootm  040000
# Booting image at 00040000 ...
# &header =  0c31ef30 ...
# sizeof(image_header_t) =  00000040 ...
   Image Name:   uClinux 2.6.9 image
   Created:      2006-08-06   4:32:12 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    663328 Bytes = 647.8 kB
   Load Address: 0c508000
   Entry Point:  0c508000
   Verifying Checksum ... OK
   OK
#Starting kernel ...

linux-2.6.x/arch/armnommu/boot/compressed/misc.c decompress_kernel()
output_start=0C008000
free_mem_ptr_end_p =0C5B3358
free_mem_ptr_p =0C5C3358
arch_id =000000B2
Uncompressing Linux................................................ done, booting the kernel.

通过跟踪发现,虽然串口不返回信息,但是程序已经进入了init\main()中的start_kernel()函数,还能执行若干函数,我在start_kernel() 的部分地方加入了  do{}while(1);代码后,可以正常执行到这里。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 23:15 , Processed in 0.046693 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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