본문 바로가기

개발일지

[OS개발] 4.플로피 디스크에서 OS 이미지 로딩

예제 따라하다가 Disk Error가 나서 구글링 하다가 아래 글을 찾았다.

http://jsandroidapp.cafe24.com/xe/development/12035

 

Development - [수정 건의] 5장 - qemu 버전과 Floppy Disk 변경 관련

안녕하세요, 개발자 kkamagui님의 『64비트 멀티코어 OS 원리와 구조』 책으로 OS 공부를 하고 있는 개발자 입니다.다름이 아니라, 5장 - "플로피 디스크에서 OS 이미지를 로딩하자" 내용 중 BootLoader.as

jsandroidapp.cafe24.com

 

위 글쓴이가 말한대로 QEMU의 플로피 디스크의 트랙 당 섹터 수가 36개가 되었기에 코드 상의 19 -> 37로 변경했는데도 난 반영이 안된다. 뭐가 문제지

책으로는 154p이다.

 

8/6 에러 수정

 

명령어가 문제였다.

기존: qemu-system-x86_64 -L . -m 64 -drive file=Disk.img -rtc base=localtime -M pc

현재: qemu-system-x86_64 -L . -m 64 -fda ./Disk.img -rtc base=localtime -M pc

 

시간은 상관 없으니 그냥 `qemu-system-x86_64 -L . -m 64 -fda ./Disk.img -M pc` 이렇게만 해도 정상 동작한다.

 

원인을 파악하기 위해서 qemu의 -drive 명령어와 -fda의 차이점을 확인해봐야겠다.

 

이걸 마지막으로 PART1이 끝났는데, 이론적인것은 건너 뛰고 실행만 먼저 했던것 같다. (평소에 내 스타일처럼)

원래 이게 목적이 아니었으므로 PART1을 다시 이론 중심으로 훑어보려고 한다.