티스토리 뷰

가상의 OS 이미지를 생성해서 부트로더가 이미지를 읽을 수 있게 하려고 한다. 순간 floppy 디스크 를 읽는 방법 설명이 나오며 BIOS 를 사용하여 디스크를 읽는 소스가 나왔을 때 어떻게 진행을 해야할 지 고민을 했다. 

지금은 읽기위해서 테스트용 소스를 사용하니까 뒤에 가서 해결 할 까도 고민했지만 QEMU 메뉴얼을 보니 img 파일을 floppy 에 연결해서 기동할 수 있다는 사실을 알았다. (qemu 사랑합니다..ㅠ)

전에 사용하던 명령어: qemu-system-x86_64 -L . -m 64 -hda ./Disk.img -localtime -display curses

변경 된 명령어 : qemu-system-x86_64 -L . -m 64 -fda ./Disk.img -localtime -display curses

(-fda 가 첫 번째 floppy disk 에 마운트해서 기동해 준다.)

이제 전에 작성한 BootLoader.asm 소스에 인터럽트를 사용하여 읽는 소스를 추가한다.

https://github.com/KNero/os-study/blob/master/00.BootLoader/BootLoader.asm

그리고 가상의 이미지 소스를 추가한다.

https://github.com/KNero/os-study/blob/master/01.Kernel32/Source/VirtualOS.asm

새로만든 VirtualOS 를 빌드하는 make 파일을 추가하고 root 의 make 파일도 수정한다.

추가 : https://github.com/KNero/os-study/blob/master/01.Kernel32/makefile

수정 : https://github.com/KNero/os-study/blob/master/makefile


그리고 실행하면 책에서 나온 것과 같이 읽은 데이터 만큼 숫자가 출력되는 것을 볼 수 있다.

지금 환경에 맞게 도커에서 OS 공부를 할 수 있다는 사실에 너무 감동스러웠다... 

'OS 개발' 카테고리의 다른 글

#4 보호 모드 커널로 진입  (0) 2019.02.07
#2 makefile 생성, BootLoader.asm 작성, qemu 실행  (0) 2018.12.22
#1 개발환경 세팅 1  (0) 2018.12.21
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함