QEMU를 사용하여 GDB를 사용하여 커널을 디버그 할 수 있습니다. -s -S
옵션을 사용할 수 있습니다. 간단하고 안정적인 툴체인을 원한다면 DENX (http://www.denx.de/wiki/DULG/ELDK)의 ELDK
을 사용할 수 있습니다.
당신은 (그것은 마지막 버전은 아니지만, 당신이 생각 가지고)과 같이 설치할 수 있습니다 :
wget http://ftp.denx.de/pub/eldk/4.2/arm-linux-x86/iso/arm-2008-11-24.iso
sudo mkdir -p /mnt/cdrom
(필요한 경우) 명령은 위의 툴체인을 설치해야합니다
sudo mount -o loop arm-2008-11-24.iso /mnt/cdrom
/mnt/cdrom/install -d $HOME/EMBEDDED_TOOLS/ELDK/
을 $HOLE/EMBEDDED_TOOLS/ELDK
이하 (필요한 경우 수정하십시오)
echo "export PATH=$PATH:$HOME/EMBEDDED_TOOLS/ELDK/ELDK42/usr/bin" >> $HOME/.bashrc
다음과 같이 ARM 도구 체인 버전을 확인할 수 있습니다.
arm-linux-gcc -v
hello_world를 테스트 할 수 있습니다.프로덕션 커널을 컴파일하려면 지금
hello_wrold: ELF 32-bit LSB executable, ARM, version 1 (SYSV)
을이 같은 C 프로그램 : 사용자가 입력
arm-linux-gcc hello_world.c -o hello_world
그리고 : 파일 hello_wrold을 바이너리의 대상 아키텍처를보고는,이 같은해야한다 , 당신은 그것을 최적화해야 (내가 busybox
을 사용하는 것이 좋습니다) 당신은 이제 하나의 테스트를 원하는 경우,이 단계를 수행하십시오 :
생성하는 스크립트를 당신의 체인 도구 set_toolchai을 설정 n.sh :
#! /usr/bin/sh
PATH=$PATH:$HOME/EMBEDDED_TOOLS/ELDK/ELDK42/usr/bin
ARCH=arm
CROSS_COMPILE=arm-linux-gnueabi-
export PATH ARCH CROSS_COMPILE
그리고 당신의 스크립트를 실행 (source ./set_toolchain.sh
)
- 는 리눅스 커널을 다운로드하고 (의는의 2.6.x를 가정 해 봅시다 압축을 풀고, 그것이 이전 커널하지만이) 컴파일 오류없이 작동하는지 많은 기회가있다. 여기에 우리가, 당신이
ARM EABI
에 옵션 OABI
을 수정 make menuconfig
를 사용하여 설정해야 할 수도 있습니다 다양한 칩을 사용 cd ~/linux-2.6.29/arch/arm/configs
make versatile_defconfig
,이 옵션은
Kernel features menu
미만 : 당신의 압축을 푼 커널 내부
이 모든 단계가 끝나면 커널을 컴파일 할 수 있습니다.
make
자세한 컴파일을 원하면 make v=1
다음은 커널이 arch/arm/boot/zImage
입니다.
희망 도움말.
감사합니다.
출처
2012-08-04 16:27:23
TOC
누군가 나를 도와주세요. – inblueswithu
누구든지이 같은 것을 알고 있습니까 ?? PLZ 도움말 – inblueswithu