Blame view

README.md 4.28 KB
6b13f685e   김민수   BSP 최초 추가
1
2
  
  ## [컴파일러 설치]
a5dfe3da3   오재경   프로젝트 개요 파일 추가
3
  ---------------------------
6b13f685e   김민수   BSP 최초 추가
4
  * docker/toolchain 디렉토리의 arm-buildroot-linux-gnueabihf-4.9.3.tar.gz 파일을 /opt 디렉토리에 풀어 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
5
  
6b13f685e   김민수   BSP 최초 추가
6
7
          $ cd docker/toolchain/
          $ sudo tar zxvf arm-buildroot-linux-gnueabihf-4.9.3.tar.gz  -C /opt
a5dfe3da3   오재경   프로젝트 개요 파일 추가
8
9
  
  
6b13f685e   김민수   BSP 최초 추가
10
  ## [컴파일을 위한 환경파일]
a5dfe3da3   오재경   프로젝트 개요 파일 추가
11
12
  ---------------------------
  
6b13f685e   김민수   BSP 최초 추가
13
  * 환경파일 env-4.9.3.env
a5dfe3da3   오재경   프로젝트 개요 파일 추가
14
15
  
          export WORK_TOP_PATH=$(pwd)
a5dfe3da3   오재경   프로젝트 개요 파일 추가
16
  
6b13f685e   김민수   BSP 최초 추가
17
          export FA_COMPANY=falinux
2a3257134   김민수   네이밍 정리
18
          export FA_CHIPSET=imx6s
6b13f685e   김민수   BSP 최초 추가
19
20
21
22
23
24
25
26
27
28
          export FA_PRODUCT=prime_qt5
  
          export BR_TOOLCHAIN_PREFIX=arm-buildroot-linux-gnueabihf
          export BR_TOOLCHAIN_PATH=/opt/toolchain/${FA_CHIPSET}/${FA_PRODUCT}
  
          export CROSS_COMPILE=${BR_TOOLCHAIN_PREFIX}-
          export ARCH=arm
  
          export PATH=${BR_TOOLCHAIN_PATH}/usr/bin:$PATH
          export WORK_LD_LIBRARY_PATH=${BR_TOOLCHAIN_PATH}/usr/lib
a5dfe3da3   오재경   프로젝트 개요 파일 추가
29
30
31
32
  
  
  * source 유틸리티를 사용하여 환경을 설정한다.
  
6b13f685e   김민수   BSP 최초 추가
33
          $ source env-4.9.3.env
a5dfe3da3   오재경   프로젝트 개요 파일 추가
34
  
a5dfe3da3   오재경   프로젝트 개요 파일 추가
35
  
a5dfe3da3   오재경   프로젝트 개요 파일 추가
36
  
6b13f685e   김민수   BSP 최초 추가
37
38
  ## [부트로더 컴파일]
  ---------------------------
a5dfe3da3   오재경   프로젝트 개요 파일 추가
39
  
6b13f685e   김민수   BSP 최초 추가
40
  * 부트로더 컴파일을 위해서 gcc-arm-none-eabi 가 필요하다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
41
  
6b13f685e   김민수   BSP 최초 추가
42
          $ sudo apt-get install -y gcc-arm-none-eabi
a5dfe3da3   오재경   프로젝트 개요 파일 추가
43
  
6b13f685e   김민수   BSP 최초 추가
44
  * 부트로더 디렉토리로 이동한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
45
  
6b13f685e   김민수   BSP 최초 추가
46
47
          $ cd bootloader/u-boot_2015_04
          $ source ../../env-4.9.3.env   #  (이미 실행하였다면 하지 않아도 된다)
a5dfe3da3   오재경   프로젝트 개요 파일 추가
48
  
6b13f685e   김민수   BSP 최초 추가
49
  * u-boot 환경 파일
a5dfe3da3   오재경   프로젝트 개요 파일 추가
50
  
2a3257134   김민수   네이밍 정리
51
          imx6s_prime_qt5_defconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
52
  
6b13f685e   김민수   BSP 최초 추가
53
  * 컴파일은 make.sh 를 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
54
  
6b13f685e   김민수   BSP 최초 추가
55
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
56
  
6b13f685e   김민수   BSP 최초 추가
57
58
          -- 필요한 경우 clean ----
          $ ./make.sh  clean
a5dfe3da3   오재경   프로젝트 개요 파일 추가
59
  
6b13f685e   김민수   BSP 최초 추가
60
  * 컴파일 결과물은 ../output-u-boot\_2015\_04 에 저장된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
61
  
6b13f685e   김민수   BSP 최초 추가
62
  * 빌드가 정상적으로 완료되면 u-boot.imx 파일이 /tftpboot/prime-oven 및 /nfs/prime-oven에 복사된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
63
  
a5dfe3da3   오재경   프로젝트 개요 파일 추가
64
  
6b13f685e   김민수   BSP 최초 추가
65
66
  ## [커널 컴파일]
  ---------------------------
a5dfe3da3   오재경   프로젝트 개요 파일 추가
67
  
6b13f685e   김민수   BSP 최초 추가
68
  * 커널 디렉토리로 이동한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
69
  
6b13f685e   김민수   BSP 최초 추가
70
71
          $ cd kernel/linux-imx6_3.14.28
          $ source ../../env-4.9.3.env   #  (이미 실행하였다면 하지 않아도 된다)
a5dfe3da3   오재경   프로젝트 개요 파일 추가
72
  
6b13f685e   김민수   BSP 최초 추가
73
  * kernel 환경 파일
a5dfe3da3   오재경   프로젝트 개요 파일 추가
74
  
2a3257134   김민수   네이밍 정리
75
          arch/arm/configs/imx6s_prime_qt5_defconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
76
  
6b13f685e   김민수   BSP 최초 추가
77
  * 컴파일은 make.sh 를 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
78
  
6b13f685e   김민수   BSP 최초 추가
79
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
80
  
6b13f685e   김민수   BSP 최초 추가
81
82
          -- 필요한 경우 clean ----
          $ ./make.sh  clean
a5dfe3da3   오재경   프로젝트 개요 파일 추가
83
  
6b13f685e   김민수   BSP 최초 추가
84
85
          -- 환경수정이 필요하다면 ----
          $ ./make.sh  menuconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
86
  
6b13f685e   김민수   BSP 최초 추가
87
  * 컴파일 결과물은 ../output-linux-imx6\_3.14.28 에 저장된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
88
  
2a3257134   김민수   네이밍 정리
89
  * 컴파일이 완료되면 uImage 파일과 imx6s-prime-qt5.dtb 파일이 /tftpboot/prime-oven 및 /nfs/prime-oven에 복사된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
90
91
  
  
6b13f685e   김민수   BSP 최초 추가
92
  ## [RFS, buildroot 컴파일]
a5dfe3da3   오재경   프로젝트 개요 파일 추가
93
94
  ---------------------------
  
6b13f685e   김민수   BSP 최초 추가
95
  * buildroot 디렉토리  buildroot 로 이동한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
96
  
6b13f685e   김민수   BSP 최초 추가
97
          $ cd buildroot/buildroot-2016.08.1
a5dfe3da3   오재경   프로젝트 개요 파일 추가
98
  
6b13f685e   김민수   BSP 최초 추가
99
  * 컴파일은 make.sh 를 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
100
  
6b13f685e   김민수   BSP 최초 추가
101
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
102
103
104
  
  * 환경 수정을 위해 menuconfig 를 사용할때는 아래와 같이 사용한다.
  
6b13f685e   김민수   BSP 최초 추가
105
          $ ./make.sh menuconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
106
107
108
  
  * 환경 파일을 defconfig 에 저장하려면 아래와 같이 사용한다. (함부로 저장하면 안되니 주의할것!!)
  
6b13f685e   김민수   BSP 최초 추가
109
          $ ./make.sh savedefconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
110
  
6b13f685e   김민수   BSP 최초 추가
111
  * toolchain을 다시 빌드하고 싶으면 아래와 같이 실행한다. (/opt/toolchain 경로에 쓰기 권한이 있어야함)
a5dfe3da3   오재경   프로젝트 개요 파일 추가
112
  
6b13f685e   김민수   BSP 최초 추가
113
114
          $ ./make.sh bootstrap
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
115
  
6b13f685e   김민수   BSP 최초 추가
116
  * 환경 파일을 저장하고 싶다면 새로운 환경파일을 만들어 사용며 이때는 menuconfig 명령을 통해 해당 파일 이름을 수정하여 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
117
  
6b13f685e   김민수   BSP 최초 추가
118
  * 컴파일된 후 파일들은 ../output-buildroot-2016.08.1 디렉토리에 생성된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
119
  
6b13f685e   김민수   BSP 최초 추가
120
  * 램디스크 작업을 위해 아래와 같이 실행한다. 생성된 ramdisk-prime\_qt5.gz 파일은 /tftpboot/prime-oven 및 /nfs/prime-oven에 복사된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
121
  
6b13f685e   김민수   BSP 최초 추가
122
          $ ./make.sh image
a5dfe3da3   오재경   프로젝트 개요 파일 추가
123
  
6b13f685e   김민수   BSP 최초 추가
124
125
126
  * ssh-key를 다시 생성하고 싶으면 아래와 같이 실행한다.
  
          $ ./make.sh ssh-key
a5dfe3da3   오재경   프로젝트 개요 파일 추가
127
128
129
  
  * menuconfig 를 통해 환경을 수정한 이 후 컴파일시 에러가 발생할 경우 clean 명령을 실행한다.
  
6b13f685e   김민수   BSP 최초 추가
130
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
131
          ...some errors...
6b13f685e   김민수   BSP 최초 추가
132
133
134
135
136
137
138
139
140
141
          $ ./make.sh clean
          $ ./make.sh
  
  
  ## [파티션]
  ---------------------------
  
  		start		size		desc
          ----------  ----------  ------------------
  		 00-MB		 64-MB		reserved area
274fcaab6   김민수   파일 이름 수정
142
143
144
145
  		 64-MB		 64-MB		partition#0, FAT32 : BOOT0
  		128-MB		 64-MB		partition#1, FAT32 : BOOT1
  		192-MB		128-MB		partition#2, ext4  : APP
  		320-MB		all		partition#3, ext4  : DATA
6b13f685e   김민수   BSP 최초 추가
146
147