arm 용 커널 컴파일 질문 드립니다.

paeksj98의 이미지

2.4.18 arm 용 커널 컴파일을 하는데 질문 드립니다.

make[2]: 나감 `/home/iamjoon/cross/linux/arch/arm/nwfpe' 디렉토리
make[1]: 나감 `/home/iamjoon/cross/linux/arch/arm/nwfpe' 디렉토리
make CFLAGS="-D__KERNEL__ -I/home/iamjoon/cross/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-common -pipe -mapcs-32 -march=armv4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float " -C arch/arm/fastfpe
make[1]: 들어감 `/home/iamjoon/cross/linux/arch/arm/fastfpe' 디렉토리
make all_targets
make[2]: 들어감 `/home/iamjoon/cross/linux/arch/arm/fastfpe' 디렉토리
make[2]: Nothing to be done for `all_targets'.
make[2]: 나감 `/home/iamjoon/cross/linux/arch/arm/fastfpe' 디렉토리
make[1]: 나감 `/home/iamjoon/cross/linux/arch/arm/fastfpe' 디렉토리
arm-linux-ld -p -X -T arch/arm/vmlinux.lds arch/arm/kernel/head-armv.o arch/arm/kernel/init_task.o init/main.o init/version.o \
--start-group \
arch/arm/kernel/kernel.o arch/arm/mm/mm.o arch/arm/mach-s3c2410/s3c2410.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o \
drivers/serial/serial.o drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/media/media.o drivers/video/video.o drivers/usb/usbdrv.o \
net/network.o \
arch/arm/nwfpe/math-emu.o arch/arm/lib/lib.a /home/iamjoon/cross/linux/lib/lib.a \
--end-group \
-o vmlinux
arm-linux-nm vmlinux | grep -v '\(compiled\)\|\(\.o$\)\|\( [aUw] \)\|\(\.\.ng$\)\|\(LASH[RL]DI\)' | sort > System.map
make[1]: 들어감 `/home/iamjoon/cross/linux/arch/arm/boot' 디렉토리
make[2]: 들어감 `/home/iamjoon/cross/linux/arch/arm/boot/compressed' 디렉토리
arm-linux-objcopy -O binary -R .note -R .comment -S /home/iamjoon/cross/linux/vmlinux piggy
gzip -9 < piggy > piggy.gz
arm-linux-ld -r -o piggy.o -b binary piggy.gz
rm -f piggy piggy.gz
arm-linux-ld -p -X -T vmlinux.lds head.o misc.o head-s3c2410.o piggy.o /usr/local/lib/gcc-lib/arm-linux/3.2.1/libgcc.a -o vmlinux
arm-linux-ld: ERROR: /usr/local/lib/gcc-lib/arm-linux/3.2.1/libgcc.a(_divsi3.oS) uses hardware FP, whereas vmlinux uses software FP
File format not recognized: failed to merge target specific data of file /usr/local/lib/gcc-lib/arm-linux/3.2.1/libgcc.a(_divsi3.oS)
arm-linux-ld: ERROR: /usr/local/lib/gcc-lib/arm-linux/3.2.1/libgcc.a(_dvmd_lnx.oS) uses hardware FP, whereas vmlinux uses software FP
File format not recognized: failed to merge target specific data of file /usr/local/lib/gcc-lib/arm-linux/3.2.1/libgcc.a(_dvmd_lnx.oS)
make[2]: *** [vmlinux] 오류 1
make[2]: 나감 `/home/iamjoon/cross/linux/arch/arm/boot/compressed' 디렉토리
make[1]: *** [compressed/vmlinux] 오류 2
make[1]: 나감 `/home/iamjoon/cross/linux/arch/arm/boot' 디렉토리
make: *** [zImage] 오류 2

이럭 식으로 에러가 나는데 위에보면.

gcc를 -msoft-float로 컴파일 한거라 soft fp로 컴파일 하는것 같은데 이런 에러가 나는 이유를 모르겠네요.

이건 make zImage로 컴파일 한건데 make Image로 하면 이미지가 생성 되네요..

이건 또 에러가 안나고 왜 생성되는 건지 는 모르겠네요.

제가 커널 컴파일 하기 위해 했던 단계를 설면 드리면.

툴체인을 깔고 바루 make dep

make modules

make zImage

하는데 에러가 나네요.

조언좀 부탁드립니다.

이 에러를 안나게 하는 방법은 인터넷 검색해서 해결두 되기는 되는데.

어디 소스에선가 기억이 가물.... soft 인가 hard fp 인가를 컴파일 되는 소스에서 삭제를 해서 특정한 파일들만 fp를 뺴고 컴파일 되게 했던 적이 있습니다. 이렇게 해결해도 되는건지..궁금합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.