Blame view

README.md 6.06 KB
6b13f685e   김민수   BSP 최초 추가
1
2
  
  ## [컴파일러 설치]
a5dfe3da3   오재경   프로젝트 개요 파일 추가
3
  ---------------------------
ffaebe8c6   장형기   README.md 파일 내용 수정
4
  * docker/toolchain 디렉토리의 arm-buildroot-linux-gnueabihf-4.9.4.tar.gz 파일을 /opt 디렉토리에 풀어 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
5
  
6b13f685e   김민수   BSP 최초 추가
6
          $ cd docker/toolchain/
ffaebe8c6   장형기   README.md 파일 내용 수정
7
          $ sudo tar zxvf arm-buildroot-linux-gnueabihf-4.9.4.tar.gz  -C /opt
a5dfe3da3   오재경   프로젝트 개요 파일 추가
8
9
  
  
6b13f685e   김민수   BSP 최초 추가
10
  ## [컴파일을 위한 환경파일]
a5dfe3da3   오재경   프로젝트 개요 파일 추가
11
12
  ---------------------------
  
ffaebe8c6   장형기   README.md 파일 내용 수정
13
  * 환경파일 env-4.9.4.env
a5dfe3da3   오재경   프로젝트 개요 파일 추가
14
15
  
          export WORK_TOP_PATH=$(pwd)
a5dfe3da3   오재경   프로젝트 개요 파일 추가
16
  
6b13f685e   김민수   BSP 최초 추가
17
          export FA_COMPANY=falinux
2a3257134   김민수   네이밍 정리
18
          export FA_CHIPSET=imx6s
8a3f52017   김민수   이름 변경된 것들 문서에 적용
19
          export FA_PRODUCT=prime_oven
6b13f685e   김민수   BSP 최초 추가
20
21
22
23
24
25
26
27
28
  
          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 유틸리티를 사용하여 환경을 설정한다.
  
ffaebe8c6   장형기   README.md 파일 내용 수정
33
          $ source env-4.9.4.env
a5dfe3da3   오재경   프로젝트 개요 파일 추가
34
  
a5dfe3da3   오재경   프로젝트 개요 파일 추가
35
  
a5dfe3da3   오재경   프로젝트 개요 파일 추가
36
  
67e90b950   장형기   README.md 파일 수정
37
  
6b13f685e   김민수   BSP 최초 추가
38
39
  ## [부트로더 컴파일]
  ---------------------------
a5dfe3da3   오재경   프로젝트 개요 파일 추가
40
  
6b13f685e   김민수   BSP 최초 추가
41
  * 부트로더 컴파일을 위해서 gcc-arm-none-eabi 가 필요하다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
42
  
6b13f685e   김민수   BSP 최초 추가
43
          $ sudo apt-get install -y gcc-arm-none-eabi
a5dfe3da3   오재경   프로젝트 개요 파일 추가
44
  
6b13f685e   김민수   BSP 최초 추가
45
  * 부트로더 디렉토리로 이동한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
46
  
6b13f685e   김민수   BSP 최초 추가
47
          $ cd bootloader/u-boot_2015_04
2ce040084   장형기   README.md, env-4....
48
49
50
          $ cd ../../
          $ source env-4.9.4.env   #  (이미 실행하였다면 하지 않아도 된다)
          $ cd bootloader/u-boot_2015_04
a5dfe3da3   오재경   프로젝트 개요 파일 추가
51
  
6b13f685e   김민수   BSP 최초 추가
52
  * u-boot 환경 파일
a5dfe3da3   오재경   프로젝트 개요 파일 추가
53
  
8a3f52017   김민수   이름 변경된 것들 문서에 적용
54
          imx6s_prime_oven_defconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
55
  
6b13f685e   김민수   BSP 최초 추가
56
  * 컴파일은 make.sh 를 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
57
  
6b13f685e   김민수   BSP 최초 추가
58
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
59
  
6b13f685e   김민수   BSP 최초 추가
60
61
          -- 필요한 경우 clean ----
          $ ./make.sh  clean
a5dfe3da3   오재경   프로젝트 개요 파일 추가
62
  
67e90b950   장형기   README.md 파일 수정
63
64
  
  * 컴파일 결과물은 ../output-u-boot_2015_04 에 저장된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
65
  
6b13f685e   김민수   BSP 최초 추가
66
  * 빌드가 정상적으로 완료되면 u-boot.imx 파일이 /tftpboot/prime-oven 및 /nfs/prime-oven에 복사된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
67
  
a5dfe3da3   오재경   프로젝트 개요 파일 추가
68
  
67e90b950   장형기   README.md 파일 수정
69
70
  
  
6b13f685e   김민수   BSP 최초 추가
71
72
  ## [커널 컴파일]
  ---------------------------
a5dfe3da3   오재경   프로젝트 개요 파일 추가
73
  
6b13f685e   김민수   BSP 최초 추가
74
  * 커널 디렉토리로 이동한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
75
  
6b13f685e   김민수   BSP 최초 추가
76
          $ cd kernel/linux-imx6_3.14.28
2ce040084   장형기   README.md, env-4....
77
78
79
80
          $ cd ../../
          $ source env-4.9.4.env   #  (이미 실행하였다면 하지 않아도 된다)
          $ cd kernel/linux-imx6_3.14.28
   
a5dfe3da3   오재경   프로젝트 개요 파일 추가
81
  
6b13f685e   김민수   BSP 최초 추가
82
  * kernel 환경 파일
a5dfe3da3   오재경   프로젝트 개요 파일 추가
83
  
8a3f52017   김민수   이름 변경된 것들 문서에 적용
84
          arch/arm/configs/imx6s_prime_oven_defconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
85
  
6b13f685e   김민수   BSP 최초 추가
86
  * 컴파일은 make.sh 를 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
87
  
6b13f685e   김민수   BSP 최초 추가
88
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
89
  
6b13f685e   김민수   BSP 최초 추가
90
91
          -- 필요한 경우 clean ----
          $ ./make.sh  clean
a5dfe3da3   오재경   프로젝트 개요 파일 추가
92
  
6b13f685e   김민수   BSP 최초 추가
93
94
          -- 환경수정이 필요하다면 ----
          $ ./make.sh  menuconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
95
  
67e90b950   장형기   README.md 파일 수정
96
97
  
  * 컴파일 결과물은 ../output-linux-imx6_3.14.28 에 저장된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
98
  
8a3f52017   김민수   이름 변경된 것들 문서에 적용
99
  * 컴파일이 완료되면 uImage 파일과 imx6s-prime-oven.dtb 파일이 /tftpboot/prime-oven 및 /nfs/prime-oven에 복사된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
100
101
  
  
67e90b950   장형기   README.md 파일 수정
102
  
6b13f685e   김민수   BSP 최초 추가
103
  ## [RFS, buildroot 컴파일]
a5dfe3da3   오재경   프로젝트 개요 파일 추가
104
105
  ---------------------------
  
6b13f685e   김민수   BSP 최초 추가
106
  * buildroot 디렉토리  buildroot 로 이동한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
107
  
6b13f685e   김민수   BSP 최초 추가
108
          $ cd buildroot/buildroot-2016.08.1
2ce040084   장형기   README.md, env-4....
109
110
111
112
          $ cd ../../
          $ source env-4.9.4.env   #  (이미 실행하였다면 하지 않아도 된다)
          $ cd buildroot/buildroot-2016.08.1
  
a5dfe3da3   오재경   프로젝트 개요 파일 추가
113
  
6b13f685e   김민수   BSP 최초 추가
114
  * 컴파일은 make.sh 를 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
115
  
6b13f685e   김민수   BSP 최초 추가
116
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
117
  
67e90b950   장형기   README.md 파일 수정
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
  * 컴파일을 위한 도움말을 보기 위해서는 아래와 같이 사용한다.
  
          $ ./make.sh help
  
          [Help]
          ssh-key       : generate ssh key
          defconfig     : reload config
          toolchain     : apply config file for toolchain
          qt4_gst       : apply config file for QT4/Gstreamer
          qt5_gst       : apply config file for QT5/Gstreamer
          image         : generate ramdisk image file
          clean-target  : clean target directory
          distclean     : delete all non-source files (.config)
          savedefconfig : Save current config to BR2_DEFCONFIG (minimal confi
  
a5dfe3da3   오재경   프로젝트 개요 파일 추가
133
134
  * 환경 수정을 위해 menuconfig 를 사용할때는 아래와 같이 사용한다.
  
6b13f685e   김민수   BSP 최초 추가
135
          $ ./make.sh menuconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
136
137
138
  
  * 환경 파일을 defconfig 에 저장하려면 아래와 같이 사용한다. (함부로 저장하면 안되니 주의할것!!)
  
6b13f685e   김민수   BSP 최초 추가
139
          $ ./make.sh savedefconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
140
  
6b13f685e   김민수   BSP 최초 추가
141
  * toolchain을 다시 빌드하고 싶으면 아래와 같이 실행한다. (/opt/toolchain 경로에 쓰기 권한이 있어야함)
a5dfe3da3   오재경   프로젝트 개요 파일 추가
142
  
67e90b950   장형기   README.md 파일 수정
143
          $ ./make.sh toolchain
6b13f685e   김민수   BSP 최초 추가
144
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
145
  
67e90b950   장형기   README.md 파일 수정
146
  * 환경 파일을 저장하고 싶다면 새로운 환경파일을 만들어 사용하며, 이때는 menuconfig 명령을 통해 해당 파일 이름을 수정하여 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
147
  
6b13f685e   김민수   BSP 최초 추가
148
  * 컴파일된 후 파일들은 ../output-buildroot-2016.08.1 디렉토리에 생성된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
149
  
67e90b950   장형기   README.md 파일 수정
150
151
152
153
154
  * 램디스크 작업을 위해 아래와 같이 실행한다. 생성된 ramdisk-prime_oven-?M.gz 파일은 /tftpboot/prime-oven 및 /nfs/prime-oven에 복사된다.
  
          $ ./make.sh image
  
  * 기본 파일 시스템(램디스크 이미지)을 컴파일하기 위해서는 아래와 같이 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
155
  
67e90b950   장형기   README.md 파일 수정
156
157
158
          $ ./make.sh clean
          $ ./make.sh defconfig
          $ ./make.sh
6b13f685e   김민수   BSP 최초 추가
159
          $ ./make.sh image
a5dfe3da3   오재경   프로젝트 개요 파일 추가
160
  
6b13f685e   김민수   BSP 최초 추가
161
162
163
  * ssh-key를 다시 생성하고 싶으면 아래와 같이 실행한다.
  
          $ ./make.sh ssh-key
a5dfe3da3   오재경   프로젝트 개요 파일 추가
164
165
166
  
  * menuconfig 를 통해 환경을 수정한 이 후 컴파일시 에러가 발생할 경우 clean 명령을 실행한다.
  
6b13f685e   김민수   BSP 최초 추가
167
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
168
          ...some errors...
6b13f685e   김민수   BSP 최초 추가
169
          $ ./make.sh clean
67e90b950   장형기   README.md 파일 수정
170
171
          $ ./make.sh defconfig
          $ ./make.sh image
6b13f685e   김민수   BSP 최초 추가
172
173
174
175
176
  
  
  ## [파티션]
  ---------------------------
  
ca21f47b4   장형기   patch name 수정
177
  		  start		 size		desc
68e88b142   장형기   buildroot 수정
178
          ----------   ----------  ----------------------------
b5cb427d3   장형기   emmc partition
179
180
181
182
183
  		   0-MB		 128-MB		raw area
  		 128-MB		 128-MB		partition#1, ext3  : BOOT0
  		 256-MB	     256-MB		partition#2, ext4  : SYSTEM
  		 512-MB	     512-MB		partition#3, ext4  : FALINUX
  		1024-MB		    all	    partition#4, ext4  : PRIME
68e88b142   장형기   buildroot 수정
184
185
186
  
  
          -----------------------------------------------------
b5cb427d3   장형기   emmc partition
187
  		 0-MB		 128-MB	           raw area
68e88b142   장형기   buildroot 수정
188
189
190
191
192
193
194
195
196
          -----------------------------------------------------
                        start     size       start    size
          -----------------------------------------------------
          U-boot  :       1KB    640KB     ( 0x2      0x500   )
          Logo    :       1MB    4.5MB     ( 0x800    0x2400  )
          DTB     :     5.5MB    128KB     ( 0x2C00   0x100   )
          KERNEL  :       6MB      7MB     ( 0x3000   0x3800  ) 
          RAMDISK :      14MB     64MB     ( 0x7000   0x20000 )