2014/12/05

BeagleBone Black 커널 컴파일

Host PC 정보
  - OS : ubuntu 14.04 LTS
  프로세서 : Intel® Core™ i7-4610M CPU @ 3.00GHz × 4 
  그래픽 : Intel® Haswell Mobile 
  OS 종류 : 64비트
  메모리 : 3.8 GiB

기본 폴더는 /home/user_id/BBB 에서 작업을 시작하자.

1. ARM Cross Compiler 설치

samba@samba:~/BBB$ wget -c https://releases.linaro.org/14.09/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz
samba@samba:~/BBB$ tar xf gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz
samba@samba:~/BBB$ export CC=`pwd`/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-


Linaro GCC 버전은 32비트니까 ia32-libs 설치해야한다.

  - sudo apt-get install ia32-libs

ia32-libs가 설치가 안되면 아래 링크로 직접 다운받아서 설치하라.
https://dl.dropboxusercontent.com/u/54450962/ia32-libs_1.0_all.deb

${CC}gcc --version 을 실행하면 잘 설치된건지 확인할 수 있다.
samba@samba:~/BBB$ ${CC}gcc --version
arm-linux-gnueabihf-gcc (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) 4.9.2 20140904 (prerelease)
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

samba@samba:~/BBB$



2. Bootloader : U-Boot

일단 부트로더 다운로드 하고
samba@samba:~/BBB$ git clone git://git.denx.de/u-boot.git
samba@samba:~/BBB$ cd u-boot/
samba@samba:~/BBB/u-boot$ git checkout v2014.10 -b tmp




패치한 뒤
samba@samba:~/BBB/u-boot$ wget -c https://raw.githubusercontent.com/eewiki/u-boot-patches/master/v2014.10/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch

samba@samba:~/BBB/u-boot$ patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch




빌드
samba@samba:~/BBB/u-boot$ make ARCH=arm CROSS_COMPILE=${CC} distclean
samba@samba:~/BBB/u-boot$ make ARCH=arm CROSS_COMPILE=${CC} am335x_evm_defconfig
samba@samba:~/BBB/u-boot$ make ARCH=arm CROSS_COMPILE=${CC}



3. Upgrade distro "device-tree-compiler" package

samba@samba:~/BBB$ wget -c https://raw.github.com/RobertCNelson/tools/master/pkgs/dtc.sh
samba@samba:~/BBB$ chmod +x dtc.sh
samba@samba:~/BBB$ ./dtc.sh


4. Linux Kernel

다운받고

samba@samba:~/BBB$ git clone https://github.com/RobertCNelson/bb-kernel.git
samba@samba:~/BBB$ cd bb-kernel/


v3.8.x로 쳌아웃

samba@samba:~/BBB$ git checkout origin/am33x-v3.8 -b tmp


TI BSP를 해야되는건지 안해도 되는건지....

v3.8.x로 쳌아웃한 경우에는 TI BSP를 쓰지않고,
v3.18x로 쳌아웃한 경우에 TI BSP를 쓰는거 같긴한데...

모르겠으니 TI BSP는 생략하고 커널 빌드를 해보자.

samba@samba:~/BBB/bb-kernel$ ./build_kernel.sh

혹시 머머머 설치하라고 뜨면 그대로 설치해 주자.
난 이거 깔라고 뜨드라.

  - apt-get install lzma u-boot-tools

5. Root File System

Debian 7, Debian 8, Ubuntu 14.04.01, small flash Debian 7 중에서 선택해서 하나 고르면 되는 모양이다. 난 무난하게 Debian 7...

다운받고...

samba@samba:~/BBB$ wget -c https://rcn-ee.net/deb/barefs/wheezy/debian-7.7-bare-armhf-2014-11-10.tar.xz



확인하고...

samba@samba:~/BBB$ md5sum debian-7.7-minimal-armhf-2014-11-10.tar.xz
edee8eef5fa47ed2427a01ddf2f726c8 debian-7.7-minimal-armhf-2014-11-10.tar.xz



풀기....

samba@samba:~/BBB$ tar xf debian-7.7-minimal-armhf-2014-11-10.tar.xz




이따 SD 카드로 옮기자



댓글 없음:

댓글 쓰기