20 작업환경 설치
들어가기 전에...
- **이 글은 kkamagui에 의해 작성된 글입니다.**
- 마음껏 인용하시거나 사용하셔도 됩니다. 단 출처(http://kkamagui.tistory.com)는 밝혀 주십시오.
- 기타 사항은 mint64os at gmail.com 이나 http://kkamagui.tistory.com으로 보내주시면 반영하겠습니다.
- 상세한 내용은 책 "64비트 멀티코어 OS 구조와 원리"를 참고하기 바랍니다.
1.작업 환경
프레임워크의 작업환경은 아래와 같다.
- DOS 용 GCC인 DJGPP : 커널 소스를 컴파일하고 링크
- 어셈블리어 컴파일러 NASM : 부트로더 및 커널로더 컴파일 및 링크, 커널 소스의 어셈블리어 코드 부분을 컴파일
- Visual C++ : 소스 관리를 위해 필요. 울트라에디터나 기타 편집기로 대체 가능. 필수적이지는 않음.
- 2007/08/31 23:28:57 이후로 개발툴은 이클립스로 대체되었음. 설치 및 환경 설정에 대해서는 06 이클립스(Eclipse) CDT 설치 및 07 이클립스(Eclipse) 단축키 및 환경설정을 참조
- 편리한 작업 환경에 맞게 makefile 전면 수정됨
- 수정된 커널 파일에 대해서는 21 OS 프레임워크 소스 릴리즈를 참조
- Virtual Box : 커널 실행을 위한 환경. 오픈 소스 가상 머신
2.DJGPP(GCC) 설치 및 NASM 설치
2.1 DJGPP(GCC) 설치 방법
http://www.delorie.com/djgpp/zip-picker.html 로 이동하면 필요한 항목을 선택할 수 있다.
아래와 같이 대충 설정하고 나서
맨 아래에 있는 "Tell me which files I need" 버튼을 클릭하면 아래에 보는 것과 같이 필요한 파일들이 줄줄 나온다.
unzip32.exe to unzip the zip files 95 kb
v2/copying.dj DJGPP Copyright info 3 kb
v2/djdev203.zip DJGPP Basic Development Kit 1.5 mb
v2/faq230b.zip Frequently Asked Questions 664 kb
v2/readme.1st Installation instructions 22 kb
v2gnu/bnu217b.zip Basic assembler, linker 3.9 mb
v2gnu/gcc412b.zip Basic GCC compiler 4.0 mb
v2gnu/gdb611b.zip GNU debugger 1.5 mb
v2gnu/gpp412b.zip C++ compiler 4.1 mb
v2gnu/mak3791b.zip Make (processes makefiles) 267 kb
v2gnu/txi48b.zip Info file viewer 779 kb
아래의 파일들을 다 다운 받고 그 아래쪽에 보면 설치에 관한 내용이 있는데, 그것대로 실행하면 설치는 끝난다.
C:\> mkdir djgpp
C:\> cd djgpp
C:\DJGPP> unzip32 d:\tmp\djdev203.zip
C:\DJGPP> unzip32 d:\tmp\faq230b.zip
C:\DJGPP> unzip32 d:\tmp\bnu217b.zip
C:\DJGPP> unzip32 d:\tmp\gcc412b.zip
C:\DJGPP> unzip32 d:\tmp\gdb611b.zip
C:\DJGPP> unzip32 d:\tmp\gpp412b.zip
C:\DJGPP> unzip32 d:\tmp\mak3791b.zip
C:\DJGPP> unzip32 d:\tmp\txi48b.zip
그리고 마지막으로 "내컴퓨터" 아이콘의 속성을 클릭하여 고급 탭에 들어가서 환경 변수 설정을 해주어야 한다.
나는 "D:\djgpp" 폴더에 인스톨 했기 때문에 저렇게 입력했으니, 각자 자기 폴더에 맞도록 변경해서 입력하면 된다.
설치 확인은 cmd 창에서 gcc를 입력했을 때, 아래와 같이 나오면 정상적으로 설치가 된것이다.
C:\> gcc
gcc.exe: no input files
2.2 DJGPP 관련 파일 변경(2007/08/31)
자신의 윈도우에 다양한 툴체인이 깔려있다면, 위와 같이 PATH의 가장 앞쪽에 DJGPP 폴더를 설정하면 문제가 발생할 수 있다. 따라서 DJGPP 폴더의 bin 폴더로 이동해서 gcc.exe, gpp.exe, ld.exe, make.exe 파일 이름을 수정해 주면 어느정도 충돌을 막을 수 있다.
해당 파일들의 앞에 dj를 추가하여 djgcc.exe, djgpp.exe, djld.exe, djmake.exe로 수정하도록 하자.
2.3 NASM 설치
http://nasm.sourceforge.net/ 로 가서 파일을 다운로드 한 뒤에, DJGPP가 설치된 폴더 안의 "bin"에 압축을 풀어 실행파일을 복사해 주면 끝난다.
설치 확인은 cmd 창에서 nasm을 입력했을 때, 아무것도 안나오면 정상적으로 설치된 것이다. 만약 파일이 없다고 에러가 나면 정상적으로 복사가 되지 않은 것이니 다시 복사를 하도록 한다.
3. VirtualBox 설치
http://www.virtualbox.org/ 로 가서 파일을 다운로드 한 뒤에, Next를 눌러 설치한다. 설치가 크게 어렵지 않으므로 설치가 끝난 후, "시작" 버튼으로 가서 Virtual Box를 실행한다.
프로그램이 실행되면 "new 버튼" 을 눌러 프레임워크를 실행할 환경을 설정한다.
- "VM Name and OS Type" 에서 Name은 "KKAMAGUI OS Framework"를 입력하고 OS Type은 "Other/Unknown"으로 입력
- "Memory"에서 8Mbyte로 설정
- "Virtual Hard Disk"에서 "No Hard Disk"로 설정
설정을 완료하게 되면 아래와 같은 화면이 표시된다.
여기서 Floppy를 클릭하여 아래와 같이 실행할 이미지를 설정해 준다.
그후 "Start 버튼" 을 눌러 실행을 확인한다.
4.이클립스(Eclipse) 프로젝트 생성 및 빌드
이클립스를 사용하는 경우 매우 편리하게 프로젝트를 빌드할 수 있다. 이클립스에 대한 사용방법에 대한 내용은 06 이클립스(Eclipse) CDT 설치 및 07 이클립스(Eclipse) 단축키 및 환경설정를 참고하도록 하고 문서에 따라 OSFramework 프로젝트를 생성한 다음 해당 폴더에 프레임워크 압축파일을 풀면된다. 압축을 푼다음 프로젝트를 Refresh하거나 이클립스를 닫고 다시 실행하면 변경된 사항이 적용되어있을 것이다.
djmake.exe를 이용해서 실행해야 하므로 이클립스를 열어 Project -> Properties 를 클릭하여 아래를 djmake로 바꿔주도록 하자.
<이클립스 설정 변경>
*만약 이클립스 환경을 사용하지 않는 경우라면 기타 에디터로 소스를 수정한다음 커맨드 라인에서 DJGPP용 make.exe(djmake.exe)를 실행하면 빌드가 된다. *
5.마치면서...
이상으로 프레임워크 작업환경 설치에 대해서 알아보았다. 프레임워크가 정상적으로 컴파일 되는지 확인해 보자.
'OS Kernel > 32bit OS Framework' 카테고리의 다른 글
참고. Intel i386 CPU의 16bit->32bit 전환 (0) | 2007.11.17 |
---|---|
21 OS 프레임워크 소스 릴리즈 (2) | 2007.11.14 |
Part18. Tutorial6-간단한 파일시스템을 추가해 보자 (0) | 2007.11.14 |
Part17. Tutorial5-메모리 동적할당 기능에 동기화 기능을 추가해 보자 (0) | 2007.11.14 |
Part16. Tutorial4-메모리 동적할당(malloc, free) 기능을 추가해 보자 (0) | 2007.11.14 |