Presentation is loading. Please wait.

Presentation is loading. Please wait.

Geek-OS 단국대학교 정영진 Geek-OS 설치 및 개발환경구축 정영진

Similar presentations


Presentation on theme: "Geek-OS 단국대학교 정영진 Geek-OS 설치 및 개발환경구축 정영진"— Presentation transcript:

1 Geek-OS 단국대학교 정영진 Geek-OS 설치 및 개발환경구축 정영진 cyj4369@gmail.com

2 단국대학교 정영진 2 Geek-OS University of Maryland(2001) 교육용 운영체제 세계 많은 대학에서 수업과정으로 사용 운영체제가 제공하는 최소한의 기능 (user process, virtual memory, scheduler 등 ) 을 포함 부팅 및 기본 자원 초기화까지 구현 운영체제의 핵심 기능을 몇 가지 project 로 구성

3 단국대학교 정영진 3 Overall structure GeekOS running environment Host PC bochs GeekOS process ㆍㆍㆍ linux process

4 단국대학교 정영진 4 bochs x86 기반 PC 시스템을 에뮬레이트하는 소프트웨어 대부분 운영체제 개발 또는 Guest OS 를 구동시키기 위해 사용 프로세서, 메모리, 디스크, 디스플레이, Ethernet, BIOS 와 여러 하드웨어 주변기기를 지원 DOS, Windows, BSDs, Linux, Xenix 등 다수의 운영체제 수행 다양한 운영체제에서 실행 가능

5 단국대학교 정영진 5 nasm nasm(the network assembler) 인텔 x86 아키텍처 기반 어셈블러 다양한 운영체제에서 사용 가능 간결하고 쉬운 문법 사용 오픈소스 프리웨어 운영체제 개발 용도로 많이 사용

6 단국대학교 정영진 6 Guest OS Virtual box ORACLE Download https://www.virtualbox.org/wiki/Downloads

7 단국대학교 정영진 7 Guest OS VMWare Workstation VMWare Download  http://www.vmware.com/products/workstation/index.html http://www.vmware.com/products/workstation/index.html

8 단국대학교 정영진 8 Guest OS Ubuntu 10.04 iso 호환성 Ubuntu 10.04 권장 Download https://www.dropbox.com/s/8abun7w5tt7rxyl/ubuntu-10.04.2- desktop-i386.iso

9 단국대학교 정영진 9 Geek-OS install Bochs emulator Geek-OS 를 수행시킬 emulator Install ① shell 에서 직접 설치 $sudo apt-get install bochs bochs-x

10 단국대학교 정영진 10 Geek-OS install NASM assembler Geek-OS 의 컴파일에 사용될 assembler Install ① NASM 다운로드 (nasm-2.08-1.i386.rpm) $wget http://www.nasm.us/pub/nasm/releasebuilds/2.08/linux/nasm- 2.08-1.i386.rpm ② alien 설치 $sudo apt-get install alien ③ rpm 파일을 deb 파일로 변환 $sudo alien -k nasm-2.08-1.i386.rpm ④변환된 패키지 설치 $sudo dpkg -i nasm_2.08-1_i386.deb

11 단국대학교 정영진 11 Geek-OS install GeekOS(geekos-0.3.0) 프로젝트를 진행할 Geek-OS 커널 전체 소스 Install ① Geek-OS 소스 다운로드 $wget http://sourceforge.net/projects/geekos/files/geekos/geekos- 0.3.0/geekos-0.3.0.zip ②압축 해제 $unzip geekos-0.3.0 ③환경변수 추가 $vi.bashrc 마지막줄에 내용 추가 GEEKOS_HOME=/home/jyj/geekos-0.3.0 export GEEKOS_HOME PATH=$GEEKOS_HOME/scripts:$PATH export PATH

12 단국대학교 정영진 12 Geek-OS install ④첫 프로젝트 폴더 생성 startProject [ ] $startProject project0 /home/jyj/geekos-0.3.0/src project0 디렉토리 생성 확인 ⑤ Makefile 수정 (project0/build) 컴파일 과정의 반복적 명령을 자동화하여 기술한 파일 $vi Makefile 148,149 번째 줄 수정 ⑥ make(project0/build) 파일 간의 종속 관계를 파악해 Makefile 에 기술된 대로 컴파일 또는 쉘 명령을 내릴 수 있는 유틸리티 make 명령으로 Geek-OS 커널을 한 번에 컴파일 $make 148 줄 : GENERAL_OPTS := -O -Wall $(EXTRA_C_OPTS) -> GENERAL_OPTS := -O -Wall $(EXTRA_C_OPTS) -fno-stack-protector 149 줄 : CC_GENERAL_OPTS := $(GENERAL_OPTS) -Werror ->CC_GENERAL_OPTS := $(GENERAL_OPTS) #-Werror

13 단국대학교 정영진 13 Geek-OS install ⑦.bochrc 수정 (project0/build) bochs emulator 에 대한 설정을 저장해둔 파일 $vi.bochsrc 다음 내용으로 수정 vgaromimage: file=/usr/share/bochs/VGABIOS-lgpl-latest romimage: file=/usr/share/bochs/BIOS-bochs-latest megs: 8 boot: floppy floppy_bootsig_check: disabled=0 floppya: 1_44=fd.img, status=inserted log:./bochs.out keyboard_serial_delay: 250 keyboard_paste_delay: 100000 vga: extension=vbe mouse: enabled=0 private_colormap: enabled=0

14 단국대학교 정영진 14 Geek-OS install ⑧ bochs emulator 실행 및 Geek-OS 부팅 컴파일 하여 만들어진 커널 이미지를 통해 Geek-OS 부팅 $bochs 실행화면

15 단국대학교 정영진 15 Linux kernel compile Compile ① Download $wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.8.4.tar.xz 웹 페이지에서도 직접 download 가능 (www.kernel.org) ②압축 해제 $unxz linux-3.8.4.tar.xz $tar xvf linux-3.8.4.tar ③커널 구성 설정 $make menuconfig( 또는 config, xconfig) ④커널 컴파일 $make ⑤모듈 컴파일 및 install $make modules $sudo make modules_install ⑥커널 install $sudo make install

16 단국대학교 정영진 16 Linux kernel compile 부팅 설정 ① grub 설정 업데이트 설치한 커널을 grub 에 등록 $sudo update-grub ②적용하려는 커널의 index 확인 vi /boot/grub/grub.cfg ③부팅 순서 변경 $sudo vi /etc/default/grub GRUB_DEFAULT=0 를 적용하려는 커널의 index 로 변경 ④변경사항 적용을 위해 grub 재 설정 $sudo update-grub ⑤재 부팅 $sudo reboot ⑥부팅 된 커널 버전 확인 $uname -r 1 0 2


Download ppt "Geek-OS 단국대학교 정영진 Geek-OS 설치 및 개발환경구축 정영진"

Similar presentations


Ads by Google