Cygwin์„ ์‚ฌ์šฉํ•˜๊ธฐ์— ์•ž์„œ..

FALINUX์˜ ์ œํ’ˆ์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๊ฐœ๋ฐœํ•˜๊ธฐ ์‰ฌ์šด ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์—์„œ ์ดํด๋ฆฝ์Šค(Eclipse)์™€ ์‹œ๊ทธ์œˆ(Cygwin)์„ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์‹œ๊ทธ์œˆ(Cygwin)์€ ์œˆ๋„์šฐ์—์„œ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
Forum์—์„œ ์†Œ๊ฐœ์ค‘์ธ coLinux ๋ฐ ๊ฐ€์ƒ PC๋ฅผ ํ†ตํ•œ ํ™˜๊ฒฝ์ด ๋ฆฌ๋ˆ…์Šค ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ๊ฐ€๊น์ง€๋งŒ,
์ดํด๋ฆฝ์Šค(Eclipse)์—์„œ CDT ์ปดํŒŒ์ผ ํ™˜๊ฒฝ์ด ์ง€์›๋œ๋‹ค๋Š” ์ ์—์„œ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด ๋ชฉํ‘œ์ธ FAIDE ๊ฐœ๋ฐœ์— ์ข€๋” ์šฉ์ด ํ•ฉ๋‹ˆ๋‹ค.

์‹œ๊ทธ์œˆ(Cygwin)์ด FALINUX ์ œํ’ˆ์˜ Ezboot์™€ Kernel, ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปดํŒŒ์ผ ํ•˜๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ์œผ๋กœ ํ˜„์žฌ๊นŒ์ง„ ๋ถ€์กฑํ•จ์ด ์—†๋‹ค๊ณ  ํŒ๋‹จํ•˜์—ฌ, ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์„œ ์••์ถ•์„ ํ’€์–ด์„œ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐฐํฌํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

๋จผ์ € FAIDE ํ™˜๊ฒฝ์— ๋งž๋Š” Cygwin์„ ์ œ๊ณตํ•˜๊ณ  FAIDE (for eclipse) ํ™˜๊ฒฝ์„ ์˜ฌ๋ฆฌ๋ฉด์„œ ์ง„ํ–‰ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

1. CYGWIN ๋‹ค์šด๋กœ๋“œ

FALinux์—์„œ ์ตœ์†Œํ•œ์œผ๋กœ ์„ค์น˜๋ฅผ ํ•œ ํ›„์— ToolChain์„ ์„ค์น˜ํ•œ Cygwin ์••์ถ• ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.
์•„๋ž˜ ์••์ถ• ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ํ›„์— ๊ฐ•์ขŒ๋Œ€๋กœ ์ฐจ๊ทผ์ฐจ๊ทผ ๋”ฐ๋ผํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
(๋˜๋Š” Cygwin ์ง์ ‘ ์„ค์น˜ํ•œ ํŒŒ์ผ์— ToolChain์„ ๋ณ„๋กœ๋กœ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜, Cygwin ๊ฐ•์ขŒ๋ฅผ ์ง์ ‘ ์ฐพ์•„๋ณด๊ณ  ์ธ์Šคํ†จ ํ•ด๋ณด์…”๋„ ๋ฉ๋‹ˆ๋‹ค.)

ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ CYGWIN ์••์ถ•ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ(cygwin.zip) ํฌ๊ธฐ : 422MB (443,117,802 ๋ฐ”์ดํŠธ)

๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ํŒŒ์ผ์„ C ๋“œ๋ผ์ด๋ธŒ์— ๋ณต์‚ฌ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.
Cygwin ๊ธฐ๋ณธ ๋””๋ ‰ํ† ๋ฆฌ์ธ C:\Cygwin ์— ์„ค์น˜ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

2. CYGWIN ์••์ถ•ํ’€๊ธฐ

๋‹ค์šด ๋ฐ›์€ cygwin.zip ํŒŒ์ผ์˜ ์••์ถ• ์šฉ๋Ÿ‰์€ 422MB ์ž…๋‹ˆ๋‹ค.
์••์ถ•์„ ํ‘ผ ํ›„์˜ ์šฉ๋Ÿ‰์€ 1.14GB ์ •๋„ ์ด๋ฏ€๋กœ ์šฉ๋Ÿ‰์„ ๋„‰๋„‰ํ•˜๊ฒŒ ์ค€๋น„ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ•์ขŒ์—์„  ์„ค๋ช…ํ•˜๊ธฐ ์‰ฝ๊ฒŒ C:\Cygwin ๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์••์ถ•์„ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ์™ธ์— ์›ํ•˜๋Š” ๊ณณ์— ์••์ถ•์„ ํ‘ธ์…”๋„ ๋ฉ๋‹ˆ๋‹ค.

์••์ถ•์„ ํ’€๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํด๋”์˜ ๊ตฌ์กฐ๋กœ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Cygwin.bat : Cygwin ์‹คํ–‰ํŒŒ์ผ
Cygwin.ico : ์•„์ด์ฝ˜ ํŒŒ์ผ
Cygwin.reg : ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋“ฑ๋ก ํŒŒ์ผ

3. CYGWIN ๋“ฑ๋กํ•˜๊ธฐ

์••์ถ•์„ ํ’€๊ณ  CYGWIN์„ ์‹คํ–‰ํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
(์˜ˆ์ „์— ์„ค์น˜๋œ ๋˜๋Š” ํ˜„์žฌ ์„ค์น˜๋œ CYGWIN ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ •๋ณด๋กœ ์ธํ•ด ๋™์ž‘์„ ํ•˜๋Š” ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.)

C:\cygwin ๊ฒฝ๋กœ๊ฐ€ ๊ธฐ๋ณธ ์œ„์น˜๋กœ ์„ค์ •๋˜์–ด ์žˆ์ง€๋งŒ, ๋‹ค๋ฅธ ํด๋”์— ์„ค์น˜๋ฅผ ์›ํ•  ๊ฒฝ์šฐ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
์•„๋ž˜์—์„  C:\FAIDE\cygwin ์ด๋ผ๋Š” ์œ„์น˜๋กœ ์„ค์ •ํ•œ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์— ์„ค๋ช…ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

1) Cygwin.bat ์ˆ˜์ •

(์ˆ˜์ • ์ „)@echo off

C:
chdir C:\cygwin\bin <--- cygwin ์„ค์น˜ ๊ฒฝ๋กœ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

bash --login -i

(์ˆ˜์ • ํ›„)@echo off

C:
chdir C:\FAIDE\cygwin\bin

bash --login -i

2) Cygwin.reg ๋“ฑ๋ก ๋ฐ ์ˆ˜์ •

Cygwin.reg ํŒŒ์ผ์„ ๋”๋ธ”ํด๋ฆญํ•˜๋ฉด ์œˆ๋„์šฐ์ฆˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ž๋™์œผ๋กœ ๋“ฑ๋ก์ด ๋ฉ๋‹ˆ๋‹ค.

HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin ์•„๋ž˜์— Cygwin ๊ด€๋ จ ์„ค์ •๋“ค์ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

(์ˆ˜์ • ์ „)Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions]

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin]

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2]
"cygdrive prefix"="/cygdrive"
"cygdrive flags"=dword:00000022

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/]
"native"="C:\\cygwin"
"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin]
"native"="C:\\cygwin/bin"
"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib]
"native"="C:\\cygwin/lib"
"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options]

(์ˆ˜์ • ํ›„)Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions]

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin]

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2]
"cygdrive prefix"="/cygdrive"
"cygdrive flags"=dword:00000022

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/]
"native"="C:\\FAIDE\\cygwin" <-- ๊ฒฝ๋กœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” \ ๋ฅผ \\ ๋กœ 2๋ฒˆ ์ž…๋ ฅ์„ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin]
"native"="C:\\FAIDE\\cygwin/bin"
"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib]
"native"="C:\\FAIDE\\cygwin/lib"
"flags"=dword:0000000a

[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options]

์œ„์™€ ๊ฐ™์ด ์ˆ˜์ • ํ›„, Cygwin.reg ํŒŒ์ผ์„ ๋”๋ธ” ํด๋ฆญํ•˜์—ฌ ๋“ฑ๋กํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

4. Cygwin ์‹คํ–‰ํ•˜๊ธฐ

์••์ถ•์„ ํ’€๊ณ  ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํŒŒ์ผ์„ ๋“ฑ๋กํ•˜์—ฌ ์„ค์น˜๋ฅผ ์™„๋ฃŒํ•œ Cygwin ํด๋”์—์„œ
Cygwin.bat ํŒŒ์ผ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด home ํด๋” ์•„๋ž˜ ์‚ฌ์šฉ์ž ์ปดํ“จํ„ฐ์˜ ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ๊ณ„์ •์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

ls ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์œˆ๋„์šฐ์ฆˆ์—์„œ ๋ณด์ด๋Š” ํด๋”์™€ ๋™์ผํ•œ์ง€ ๋น„๊ตํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

5. gcc ์ปดํŒŒ์ผ ํ…Œ์ŠคํŠธ

gcc, arm-linux-gcc ๊ฐ€ ์„ค์น˜๊ฐ€ ๋˜์—ˆ๋Š”์ง€, ์•„๋ž˜์™€ ๊ฐ™์ด --version ๋ช…๋ น์„ ํ†ตํ•ด ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

vi ํŽธ์ง‘ ๋ช…๋ น์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

test.c ํŒŒ์ผ#include

int main()
{
printf( "Cygwin ์„ค์น˜ ์™„๋ฃŒ!!\n");
}

gcc ๋ช…๋ น์œผ๋กœ ์ปดํŒŒ์ผ์„ ํ•œ ํ›„์— ์‹คํ–‰์„ ํ•ฉ๋‹ˆ๋‹ค.

CYGWIN ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜๋ฅผ ์™„๋ฃŒํ•˜์˜€์Šต๋‹ˆ๋‹ค.