본문 바로가기

기타 학습 정리

QEMU -drive 옵션과 -fda 옵션

https://lelana.tistory.com/274

 

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

예제 따라하다가 Disk Error가 나서 구글링 하다가 아래 글을 찾았다. http://jsandroidapp.cafe24.com/xe/development/12035 Development - [수정 건의] 5장 - qemu 버전과 Floppy Disk 변경 관련 안녕하세요, 개..

lelana.tistory.com

 

이 글에서 조금 헤맸던 원인을 파악해서 여기에 정리하려고 한다.

책의 예제랑 똑같이 했는데 실행이 안된 이유를 찾아보았다.

 

일단 -h 옵션으로 기본 메뉴얼을 확인해보자

여기서 먼저 내가 기존에 사용하여 실패했던 -drive 옵션부터 확인하자.

 

-drive: use 'file' as a drive image

-fda: -fda/-fdb file  use 'file' as floppy disk 0/1 image

 

기존 사용: 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

 

-fda 옵션은 해당 파일을 플로피 디스크 이미지로 간주하여 실행하는 것인데, 애초에 이 부분에서 내가 틀렸다.

왜냐면 책의 120 페이지에서 이미 실습 파일의 이미지 파일을 플로피 디스크로 설정한다는 내용이 들어가 있었기 때문이다. (근데 내가 옵션 설정을 하다가 오류로 인해서 임의로 다른 옵션으로 변경하였음) 

 

책도 이론적인 부분을 찬찬히 읽었으면 빠르게 오류를 찾을 수 있었다.

왜냐하면 레지스터 설명시, DL 레지스터는 드라이브 번호를 나타내고, 0x00은 플로피 디스크라고 나와있기 때문이다. (부트로더 어셈블리 파일 만들때 dl 레지스터 리셋을 0으로 하고 읽을때도 0x00을 읽음.) 그냥 책 보고 따라친 수준밖에 안되어서 창피하다.

 

하지만 평소의 나였다면 그냥 아 그렇구나, 하고 넘겼을 해프닝인데도 불구하고, 아무튼 이렇게 좀 더 디테일하게 들어가서 글로 남기는 것에 대해서 칭찬하고 싶다.

 

평소와 다르게 발전적인 모습을 보인 나, 칭찬해!

 

'기타 학습 정리' 카테고리의 다른 글

웹 접근성에 대해서.  (0) 2022.08.19
[Git] Git 허브 입문 12  (0) 2021.05.12
[Git] Git 허브 입문 11  (0) 2021.05.11
[Git] Git 허브 입문 10  (0) 2021.05.10
[Git] Git 허브 입문 9  (0) 2021.05.09