Blame view

README.md 5.64 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
ffaebe8c6   장형기   README.md 파일 내용 수정
48
          $ source ../../env-4.9.4.env   #  (이미 실행하였다면 하지 않아도 된다)
a5dfe3da3   오재경   프로젝트 개요 파일 추가
49
  
6b13f685e   김민수   BSP 최초 추가
50
  * u-boot 환경 파일
a5dfe3da3   오재경   프로젝트 개요 파일 추가
51
  
8a3f52017   김민수   이름 변경된 것들 문서에 적용
52
          imx6s_prime_oven_defconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
53
  
6b13f685e   김민수   BSP 최초 추가
54
  * 컴파일은 make.sh 를 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
55
  
6b13f685e   김민수   BSP 최초 추가
56
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
57
  
6b13f685e   김민수   BSP 최초 추가
58
59
          -- 필요한 경우 clean ----
          $ ./make.sh  clean
a5dfe3da3   오재경   프로젝트 개요 파일 추가
60
  
67e90b950   장형기   README.md 파일 수정
61
62
  
  * 컴파일 결과물은 ../output-u-boot_2015_04 에 저장된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
63
  
6b13f685e   김민수   BSP 최초 추가
64
  * 빌드가 정상적으로 완료되면 u-boot.imx 파일이 /tftpboot/prime-oven 및 /nfs/prime-oven에 복사된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
65
  
a5dfe3da3   오재경   프로젝트 개요 파일 추가
66
  
67e90b950   장형기   README.md 파일 수정
67
68
  
  
6b13f685e   김민수   BSP 최초 추가
69
70
  ## [커널 컴파일]
  ---------------------------
a5dfe3da3   오재경   프로젝트 개요 파일 추가
71
  
6b13f685e   김민수   BSP 최초 추가
72
  * 커널 디렉토리로 이동한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
73
  
6b13f685e   김민수   BSP 최초 추가
74
          $ cd kernel/linux-imx6_3.14.28
ffaebe8c6   장형기   README.md 파일 내용 수정
75
          $ source ../../env-4.9.4.env   #  (이미 실행하였다면 하지 않아도 된다)
a5dfe3da3   오재경   프로젝트 개요 파일 추가
76
  
6b13f685e   김민수   BSP 최초 추가
77
  * kernel 환경 파일
a5dfe3da3   오재경   프로젝트 개요 파일 추가
78
  
8a3f52017   김민수   이름 변경된 것들 문서에 적용
79
          arch/arm/configs/imx6s_prime_oven_defconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
80
  
6b13f685e   김민수   BSP 최초 추가
81
  * 컴파일은 make.sh 를 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
82
  
6b13f685e   김민수   BSP 최초 추가
83
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
84
  
6b13f685e   김민수   BSP 최초 추가
85
86
          -- 필요한 경우 clean ----
          $ ./make.sh  clean
a5dfe3da3   오재경   프로젝트 개요 파일 추가
87
  
6b13f685e   김민수   BSP 최초 추가
88
89
          -- 환경수정이 필요하다면 ----
          $ ./make.sh  menuconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
90
  
67e90b950   장형기   README.md 파일 수정
91
92
  
  * 컴파일 결과물은 ../output-linux-imx6_3.14.28 에 저장된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
93
  
8a3f52017   김민수   이름 변경된 것들 문서에 적용
94
  * 컴파일이 완료되면 uImage 파일과 imx6s-prime-oven.dtb 파일이 /tftpboot/prime-oven 및 /nfs/prime-oven에 복사된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
95
96
  
  
67e90b950   장형기   README.md 파일 수정
97
  
6b13f685e   김민수   BSP 최초 추가
98
  ## [RFS, buildroot 컴파일]
a5dfe3da3   오재경   프로젝트 개요 파일 추가
99
100
  ---------------------------
  
6b13f685e   김민수   BSP 최초 추가
101
  * buildroot 디렉토리  buildroot 로 이동한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
102
  
6b13f685e   김민수   BSP 최초 추가
103
          $ cd buildroot/buildroot-2016.08.1
a5dfe3da3   오재경   프로젝트 개요 파일 추가
104
  
6b13f685e   김민수   BSP 최초 추가
105
  * 컴파일은 make.sh 를 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
106
  
6b13f685e   김민수   BSP 최초 추가
107
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
108
  
67e90b950   장형기   README.md 파일 수정
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
  * 컴파일을 위한 도움말을 보기 위해서는 아래와 같이 사용한다.
  
          $ ./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   오재경   프로젝트 개요 파일 추가
124
125
  * 환경 수정을 위해 menuconfig 를 사용할때는 아래와 같이 사용한다.
  
6b13f685e   김민수   BSP 최초 추가
126
          $ ./make.sh menuconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
127
128
129
  
  * 환경 파일을 defconfig 에 저장하려면 아래와 같이 사용한다. (함부로 저장하면 안되니 주의할것!!)
  
6b13f685e   김민수   BSP 최초 추가
130
          $ ./make.sh savedefconfig
a5dfe3da3   오재경   프로젝트 개요 파일 추가
131
  
6b13f685e   김민수   BSP 최초 추가
132
  * toolchain을 다시 빌드하고 싶으면 아래와 같이 실행한다. (/opt/toolchain 경로에 쓰기 권한이 있어야함)
a5dfe3da3   오재경   프로젝트 개요 파일 추가
133
  
67e90b950   장형기   README.md 파일 수정
134
          $ ./make.sh toolchain
6b13f685e   김민수   BSP 최초 추가
135
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
136
  
67e90b950   장형기   README.md 파일 수정
137
  * 환경 파일을 저장하고 싶다면 새로운 환경파일을 만들어 사용하며, 이때는 menuconfig 명령을 통해 해당 파일 이름을 수정하여 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
138
  
6b13f685e   김민수   BSP 최초 추가
139
  * 컴파일된 후 파일들은 ../output-buildroot-2016.08.1 디렉토리에 생성된다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
140
  
67e90b950   장형기   README.md 파일 수정
141
142
143
144
145
  * 램디스크 작업을 위해 아래와 같이 실행한다. 생성된 ramdisk-prime_oven-?M.gz 파일은 /tftpboot/prime-oven 및 /nfs/prime-oven에 복사된다.
  
          $ ./make.sh image
  
  * 기본 파일 시스템(램디스크 이미지)을 컴파일하기 위해서는 아래와 같이 사용한다.
a5dfe3da3   오재경   프로젝트 개요 파일 추가
146
  
67e90b950   장형기   README.md 파일 수정
147
148
149
          $ ./make.sh clean
          $ ./make.sh defconfig
          $ ./make.sh
6b13f685e   김민수   BSP 최초 추가
150
          $ ./make.sh image
a5dfe3da3   오재경   프로젝트 개요 파일 추가
151
  
6b13f685e   김민수   BSP 최초 추가
152
153
154
  * ssh-key를 다시 생성하고 싶으면 아래와 같이 실행한다.
  
          $ ./make.sh ssh-key
a5dfe3da3   오재경   프로젝트 개요 파일 추가
155
156
157
  
  * menuconfig 를 통해 환경을 수정한 이 후 컴파일시 에러가 발생할 경우 clean 명령을 실행한다.
  
6b13f685e   김민수   BSP 최초 추가
158
          $ ./make.sh
a5dfe3da3   오재경   프로젝트 개요 파일 추가
159
          ...some errors...
6b13f685e   김민수   BSP 최초 추가
160
          $ ./make.sh clean
67e90b950   장형기   README.md 파일 수정
161
162
          $ ./make.sh defconfig
          $ ./make.sh image
6b13f685e   김민수   BSP 최초 추가
163
164
165
166
167
168
169
170
  
  
  ## [파티션]
  ---------------------------
  
  		start		size		desc
          ----------  ----------  ------------------
  		 00-MB		 64-MB		reserved area
274fcaab6   김민수   파일 이름 수정
171
172
173
  		 64-MB		 64-MB		partition#0, FAT32 : BOOT0
  		128-MB		 64-MB		partition#1, FAT32 : BOOT1
  		192-MB		128-MB		partition#2, ext4  : APP
ffaebe8c6   장형기   README.md 파일 내용 수정
174
  		320-MB		all		    partition#3, ext4  : DATA
6b13f685e   김민수   BSP 최초 추가
175
  
0cfc5671d   장형기   u-boot auto logo ...
176
177
178
179
180
181
182
183
184
          ------------------------------------------
  		00-MB		 64-MB		reserved area
          ------------------------------------------
                     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     32MB  ( 0x7000   0x10000 )