## [컴파일러 설치] -- 내용무시 --------------------------- * toolchain 디렉토리의 arm-buildroot-linux-gnueabi-4.9.3.tar.gz 파일을 디렉토리에 풀어 사용한다. $> cd toolchain/ $> tar zxvf arm-buildroot-linux-gnueabi-4.9.3.tar.gz . ## [컴파일을 위한 환경파일] -- 내용무시 --------------------------- * 환경파일 env-br-4.9.3.env export CROSS_COMPILE=arm-buildroot-linux-gnueabi- export ARCH=arm export WORK_TOP_PATH=$(pwd) export G2C_TOOLCHAIN_PATH=${WORK_TOP_PATH}/toolchain/usr export PATH=${G2C_TOOLCHAIN_PATH}/bin:$PATH export WORK_LD_LIBRARY_PATH=${G2C_TOOLCHAIN_PATH}/lib * source 유틸리티를 사용하여 환경을 설정한다. $> source env-br-4.9.3.env ## [부트로더 컴파일] -- 내용무시 --------------------------- * 부트로더 디렉토리 bootloader/u-boot\_2015\_01 로 이동한다. $> cd bootloader/u-boot_2015_01 * make-imx6.sh 파일을 실행한다. (처음실행이거나 혹은 재컴파일인 경우도 동일하게 실행한다) $> ./make-imx6.sh * 환경을 변경하려면 쉘을 사용하지 않고 아래와 같이 사용한다. $> make menuconfig * u-boot 환경파일 mx6sl_apsi_defconfig ## [커널 컴파일] -- 내용무시 --------------------------- * 커널 디렉토리 kernel/linux-imx6-3.14.52 로 이동한다. $> cd kernel/linux-imx6-3.14.52 * make-imx6.sh 파일을 실행한다. (처음실행이거나 혹은 재컴파일인 경우도 동일하게 실행한다) $> ./make-imx6.sh * 컴파일 후 생성된 uImage 파일과 dtb 파일은 자동으로 특정 디렉토리로 복사된다. * 컴파일시 에러가 발생하였다면 mrproper 명령을 적용한다. $> ./make-imx6.sh mrproper $> ./make-imx6.sh * dt, module 등을 컴파일 하려고 한다면 해당명령어를 입력한다. (dt는 커널 컴파일시 자동으로 컴파일된다) * 컴파일된 module은 "../out_linux_3.14.52" 디렉토리에 복사된다. $> ./make-imx6.sh dtb $> ./make-imx6.sh modules $> ls ../out_linux_3.14.52 * 커널 환경을 위해 menuconfig 를 사용하려면 아래와 같이 실행한다. ( make menuconfig 사용하면 안됨 ) $> ./make-imx6.sh menuconfig ## [RFS, buildroot 컴파일] -- 내용무시 --------------------------- * buildroot 디렉토리 buildroot-new 로 이동한다. $> cd buildroot-new * 컴파일을 위해서 make-imx6.sh를 수행한다. $> ./make-imx6.sh * 환경 수정을 위해 menuconfig 를 사용할때는 아래와 같이 사용한다. $> ./make-imx6.sh menuconfig * 환경 파일을 defconfig 에 저장하려면 아래와 같이 사용한다. (함부로 저장하면 안되니 주의할것!!) $> ./make-imx6.sh savedefconfig * 환경 파일을 저장하고 싶다면 새로운 환경파일을 만들어 사용며 이때는 menuconfig 명령을 통해 해당 파일 이름을 수정하여 사용한다. * 환경파일 이름이 apsi_A 로 시작되는 파일은 오재경 이사(혹은 김민수 팀장)가 관리하는 파일이니 절대 저장 혹은 변경하지 않도록 주의한다. * 컴파일된 후 파일들은 ../output-apsi 디렉토리에 생성된다. * 램디스크 작업을 위해 make-imx6.sh를 아래와 같이 실행한다. $> ./make-imx6.sh image * ssh key를 (재)생성하기 위해서는 아래와 같이 실행한다. $> ./make-imx6.sh ssh-key * menuconfig 를 통해 환경을 수정한 이 후 컴파일시 에러가 발생할 경우 clean 명령을 실행한다. $> make ...some errors... $> make clean $> make