OS 만들기 -1- (bochs)

Operating Systems/OS 만들기 프로젝트 2010. 9. 2. 21:57 Posted by 알 수 없는 사용자

OS를 만들기 위해 준비를 해야 할 것이 있다.


먼저 어셈블 코드를 바이너리 코드로 만들기 위해 nasm이 필요하다.


http://www.nasm.us/


python을 이용하기 때문에 python도 받아두자.


그리고 MBR Code를 만들고 매번 부팅을 하는 수고를 덜기 위해 가상공간이 필요한데 이 부분은
bochs로 해결하였다.
 


bochs를 이용하기 위해 우선 bochs를 설치하고 cmd로 dos모드에서 bximage.exe를 실행한다.

 

첫번째는 HD(Hard)와 FD(Floppy) 선택 부분인데 기본은 HD이기 때문에 그냥 엔터를 입력한다.

세번째는 Image의 Size인데 기본은 10M이지만 현재 256M으로 잡았다.

네번째는 Image의 Name인데 "boot.img"를 입력하였다.

현재 클립보드에 ata0-master에 대한 정보가 입력되어 있기 때문에 다른 어딘곳에 복사를 해 둔다.

 

 

위 그림과 같이 boot.img 라는 Image파일이 생성되었다.

바로 그 위에 보이는 bochsrc-sample.txt가 있는데 이 파일은 bochs를 실행할떄 환경을 설정줄 수 있는 파일이다.

 

 

위 그림은 주석부분을 다 지우고 설정 부분만 따로 모아 놓은 것이다.

위에 보이는 ata0-master부분을 지우고 전에 저장해 놓았던 부분으로 바꾼 후 bochsrc로 파일을 저장해 둔다.

 

그리고 BXSHARE부분을 설정해 주어야 한다.

prompt> set $BXSHARE="bochs 설치 경로"

를 입력해준다. 이 부분은 ROM 파일이 이 설치된 폴더에 있기에 그 쪽으로 지정해 주는 것이다.

설정을 다 했으면 실행을 해보자.

Prompt> bochs -q

옵션으로 q를 주는 것은 빠른 실행을 위해서이며 자동으로 폴더에 있는 bochsrc를 찾아서 설정을 해 준다.

 

 

위 그림처럼 "No bootable device"가 뜰것이다. 이 것은 현재 POST(power-on self-test 퓨터에 전원이 공급되었을 때, 컴퓨터 키보드, , 디스크 드라이브 그리고 기타 하드웨어 등이 바르게 동작하는지를 확인하기 위해, 컴퓨터 BIOS가 동작시키는 일련의 진단 시험 과정이다)과정을 거치고MBR Code(Master Boot Record. 부팅시 BIOS에 의해 처음으로 읽어들여지는 디스크의 정보)를  실행 해야 하는데 어떠한 MBR Code가 없기 때문에 위와 같은 메시지를 출력하게 된다.

 

만약 Image 파일이 필요하다거나 궁금한점이 있으면 댓글을 달아주세요.
"만들면서 배우는 OS 커널의 구조와 원리"를 참조하고 있습니다.

'Operating Systems > OS 만들기 프로젝트' 카테고리의 다른 글

OS 만들기 -6- (IDT)  (0) 2010.09.14
OS 만들기 -5- (GDT)  (0) 2010.09.08
OS 만들기 -4- (Protected Mode)  (3) 2010.09.08
OS 만들기 -3- (Kernel)  (0) 2010.09.08
OS 만들기 -2- (MBR)  (2) 2010.09.02
AND