8챕터이다. 이번에는 A20 게이트를 이용해서 1MB 이상의 주소에 접근할 수 있도록 하고, IA-32e 모드로 넘어가기 위한 64비트 커널을 올릴 영역을 검사하는 부분을 만들었다. 그렇게 큰 어려움은 없었는데 빌드를 해서 부팅시켜 보면 이상하게 자꾸 글자가 중간에 짤리는 오류가 있었다. 그래서 이것저것 다 찾아보다가 저번에 만들어 놓은 ImageMaker가 오류라는 것을 알았다. 나는 책대로 소스를 잘 짰는데 어디가 오류인가 하고 봤더니 책 오탈자 리스트에서 lPosition = lseek( iTargetFd, 5, SEEK_SET ); 을 lPosition = lseek( iTargetFd, (off_t)5, SEEK_SET ); 라고 써야 한다는 것이다. 그래서 (off_t)5로 바꾸고 다시 컴파일해서 해보니까 잘 부팅이 되어 글자가 짤리지 않았었다. 앞으로는 오탈자도 잘 찾아 봐야겠다.
'Project > OS' 카테고리의 다른 글
OS 개발 10챕터 (0) | 2016.04.10 |
---|---|
OS 개발 9챕터 (0) | 2016.04.08 |
OS 개발 7챕터 (0) | 2016.04.07 |
OS 개발 6챕터 (0) | 2016.04.07 |
OS 개발 및 공부 스터디 5주차 (0) | 2016.02.25 |