# emerge -u crossdev
# crossdev -S -v -t armv6j-hardfloat-linux-gnueabi
# git clone --depth 1 git://github.com/raspberrypi/linux.git
# git clone https://github.com/raspberrypi/tools.git
툴체인을 만들 수 없다면 만들어져있는 커널을 이용하라고 친절히 git 주소를 알려주네...
# git clone https://github.com/raspberrypi/firmware.git
타겟 플랫폼용 바이너리를 생성할시 각 변수의 의미
CBUILD=i686-linux-gnu : 빌드를 ㅅ ㅣ도하고있는 플랫폼
CHOST=armv6j-hardfloat-linux-gnueabi : 타겟 플랫폼
CTARGET= : 실제 동작하게될 플랫폼
ROOT=/usr/${CHOST}/ : 설치하게될 가상 / (root)
PORTAGE_CONFIGROOT : 설정파일을 찾을 가상 / (root)
SYSROOT : 개발 툴들이 설치된 디렉토리
%%%%
툴 체인을 빌드 할 때는 CBUILD와 CHOST가 같고
타겟용 바이너리를 빌드 할 때는 CHOST와 CTARGET이 같다.
%%%%
# pwd
/root/RaspberryPi
# mkdir rootfs
# mkdir bootfs
# dd if=/dev/zero of=rasp_rootfs bs=1M count=2048
# losetup /dev/loop0 rasp_rootfs
# mkfs.ext4 /dev/loop0
# mount /dev/loop0 rootfs
# cd rootfs
# tar xvfj ../stage3-armv6j_hardfp-20130207.tar.bz2
# cd /usr/armv6j-hardfloat-linux-gnueabi
# rm -rf make.globals
# cd portage
# ln -s /usr/portage/profiles/default/linux/arm/13.0 make.profile
# cd ~
# ROOT=/root/RaspberryPi/rootfs armv6j-hardfloat-linux-gnueabi-emerge -u ntp 하니까 ROOT 에 설치
// =======================================================================================================
# armv6j-hardfloat-linux-gnueabi-emerge --sync 과연 필요할까?? 필요 없을 듯 하다.
# ROOT=/root/RaspberryPi/rootfs armv6j-hardfloat-linux-gnueabi-emerge --sync
equery 등의 명령도 ROOT를 기반으로 검색 할까??
# cross_emerge 로 빌드 할 때 사용되는 디렉토리는
/usr/$CTARGET/tmp 이다.
======================================================================================================= //
'운영_설치 > 리눅스_유닉스' 카테고리의 다른 글
php, mysql 한글 문제 (0) | 2013.06.21 |
---|---|
크로스 이머지 world (0) | 2013.05.13 |
젠투(gentoo) 포티지(portage)에서 사용하는 디렉토리 (0) | 2013.05.10 |
젠투(gentoo) 포티지(portage)에 관한 몇가지.. (0) | 2013.05.07 |
OS 이미지 안의 특정 파티션을 마운트 하는 방법 (0) | 2013.05.06 |