현재 플랫폼 GCC 컴파일러 커널 헤더를 사용하여

[팔 @ localhost를 tchain3.4.4] #cd $ {KERNEL} [팔 @ localhost를 커널] #tar xvfz linux2.6.14.1.tar.gz [팔 @ localhost를 커널] #cd linux2.6.14.1

[아암 @ 로컬 호스트 linux2.6.14.1] #make ARCH = 아암 menuconfig를 [팔 @ 로컬 호스트 linux2.6.14.1] #make

 

커널 헤더를 복사

[팔 @ localhost를 커널] #su 루트

[루트 @ localhost를 커널] #mkdir P는 $ {SYSROOT}는 / usr / 포함

 

[루트 @ localhost를 커널]하여 #cp A는 / 리눅스 $ {SYSROOT}하여 #cp A / USR / / 리눅스를 포함 [로컬 호스트 커널 @ 루트]을 포함은 / asmi386의 $ {SYSROOT}는 / usr / 포함 / ASM [루트 @ localhost를 커널]을 포함 포함 / asmgeneric $ {SYSROOT}을하여 #cp는 / usr / / asmgeneric 포함 [루트 @ localhost를 커널] #exit

[아암 @ 로컬 호스트 커널] #

 

번역 컴파일 된 glibc 헤더 파일

[팔 @ localhost를 커널은] $를 #cd {SRC}

[아암 @ 로컬 호스트 chain3.4.4] #tar xvfz glibc2.3.5.tar.gz [@ 아암의 로컬 호스트 chain3.4.4] #patch d 개의 glibc2.3.5의 P1 <ioperm.c.diff [아암 @ 로컬 호스트 glibc2.3.5] #cd이 glibc2 · 3 · 5

[아암 @ 로컬 호스트 glibc2.3.5] #tar xvfz ../glibclinuxthreads2.3.5.tar.gz [아암 @의 로컬 호스트 chain3.4.4] #cd을 ..

[@ 아암의 로컬 호스트 chain3.4.4] #mkdir의 BUILD / glibc2.3.5headers [@ 아암의 로컬 호스트 chain3.4.4] #cd의 BUILD / glibc2.3.5headers

[@ 아암의 로컬 호스트 glibc2.3.5headers] # .. / ... / glibc2.3.5 / 구성 프리픽스 = / USR 호스트 = $ {TARGET} \

enableaddons = 리눅스 쓰레드 -withheaders = $ {} SYSROOT / USR 포함 / [@ 아암 로컬 호스트 glibc2.3.5headers] #su 루트

[루트 @ 로컬 호스트의 glibc2.3.5headers] #make crosscompiling = 예에서는 install_root = $ {SYSROOT} installheaders [루트 @ 로컬 호스트의 glibc2.3.5headers] #touch $ {SYSROOT} /usr/include/gnu/stubs.h

[루트 @ localhost를 glibc2.3.5headers] #touch $ {SYSROOT} /usr/include/bits/stdio_lim.h [루트 @ localhost를 glibc2.3.5headers] #exit

[@ 아암의 로컬 호스트 glibc2.3.5headers] #

참고 : 접두사 =는 / usr : GCC는 라이브러리 검색 경로를 찾고 있습니다.

 

컴파일 gcc가 첫 번째 단계를

[아암의 로컬 호스트 @ glibc2.3.5headers]는 $ {} SRC #cd [아암 @ 로컬 호스트 chain3.4.4] #tar xjvf gcc3.4.4.tar.bz2 [@ 아암의 로컬 호스트 chain3.4.4] #patch d 개의 gcc3.4.4의 P1 <흐름 .c.diff [아암 @의 로컬 호스트 chain3.4.4] #patch d 개의 gcc3.4.4의 P1 <tlinux.diff [아암 @의 로컬 호스트 chain3.4.4] #mkdir P는 BUILD / gcc3.4.4stage1 [아암 @의 로컬 호스트 chain3.4.4] #cd BUILD / gcc3.4.4stage1

[아암의 로컬 호스트 @ gcc3.4.4stage1] # .. / ... / gcc3.4.4 / 구성 프리픽스 = $ {} 타겟 PREFIX = $ {TARGET} \

enablelanguages ​​= C withsysroot = $ {SYSROOT}

참고 : 추가 할 수 없습니다 옵션을 "disableshared". [팔 @ 로컬 호스트 gcc3.4.4stage1] #make allgcc [아암 @ 로컬 호스트 gcc3.4.4stage1] #su 루트 #make installgcc #exit [아암 [로컬 호스트 gcc3.4.4stage1 @ 루트] @ [@ 로컬 호스트 gcc3.4.4stage1 루트]를 로컬 호스트 gcc3.4.4stage1] #

 

전체 컴파일 의 glibc

[아암의 로컬 호스트 @ gcc3.4.4stage1]가 $ {}를 SRC #cd [아암 @ 로컬 호스트 tchain3.4.4] #mkdir / 빌드 glibc2.3.5 [팔 @ 로컬 호스트 tchain3.4.4] #cd / 빌드 glibc2.3.5

[아암 @의 로컬 호스트 glibc2.3.5] #에 BUILD_CC = GCC CC = $ 같은 = $ {CROSS_COMPILE} AS \ ranlib가 = $ {CROSS_COMPILE} ranlib은 AR {CROSS_COMPILE} GCC AR = $ {CROSS_COMPILE} LD = $ {CROSS_COMPILE} LD \

../../glibc2.3.5/configure 접두사 =는 / usr 빌드 = 호스트 i386redhatlinux = armunknownlinuxgnu \

스레드의 enableaddons = 리눅스 쓰레드의없이 타겟 armunknownlinuxgnu = \

withheaders = $ {SYSROOT}는 / usr / 포함

 

설명 :

접두사 : 설치 경로를 지정합니다.

대상 : 대상 플랫폼을 지정합니다.

호스트 : 현재 플랫폼을 지정합니다.

구축 : 컴파일러 플랫폼을 지정합니다.

withsysroot : 컴파일러가 필요한 헤더 파일 및 라이브러리를 지정하는 데 사용됩니다.

enableaddons는 : 같은 스레딩 라이브러리 같은 다른 라이브러리를 추가 할 수 있습니다.

enablelanguages ​​: gcc가 지원하는 언어를 지정합니다.

 

[아암 @ 로컬 호스트 glibc2.3.5] #make [아암 @ 로컬 호스트 glibc2.3.5] #su 루트

[루트 @ 로컬 호스트의 glibc2.3.5] #make의 install_root = $ {SYSROOT} #exit [로컬 호스트 glibc2.3.5 @ 루트] 설치

[아암의 로컬 호스트 @ glibc2.3.5] #

 

전체 컴파일 gcc가

[아암의 로컬 호스트 @ glibc2.3.5]가 $ {} SRC #cd [아암 @ 로컬 호스트 tchain3.4.4] #mkdir / 빌드 gcc3.4.4 [팔 @ 로컬 호스트 tchain3.4.4] #cd / 빌드 gcc3.4.4

[아암의 로컬 호스트 @ gcc3.4.4] # .. / ... / gcc3.4.4 / 구성 프리픽스 = $ {} 타겟 PREFIX = $ {TARGET} \

enablelanguages ​​withsysroot = C = $ {} SYSROOT [아암 @ 로컬 호스트 gcc3.4.4] #make

[팔 @ localhost를 gcc3.4.4] #su 루트 #make [로컬 호스트 gcc3.4.4 @ 루트]를 #exit [팔 @ 로컬 호스트의 gcc3.4.4] # [로컬 호스트 gcc3.4.4 @ 루트] 설치

추천

출처www.cnblogs.com/fanweisheng/p/11105574.html