10장 64비트모드로의 전환 OS 2013.02.03 12:47

10장까지는 사실 12월에 해 놓긴 했는데 기록을 남기지 못했다. 





코드 자체는 큰 문제가 없었는데 http://alturl.com/3n42k 여기에 적힌대로 Mac OSX 개발툴에 포함된 NASM은 ELF32를 지원안하기 때문에 따로 설치를 해 줘야 한다.


Homebrew를 깔고 nasm 설치 완료!


휴가 때 마다 가끔 맥북을 만지게 되고 그 때 마다 가끔 씩 책을 따라가다보니, 세세한 부분에 신경을 많이 못 쓰고 있다. 

nasm이 두 개 깔려있는 상태에서, 쉘에서는 homebrew로 설치한 nasm이 우선적으로 실행되긴 하는데 eclipse makefile에서는 이상하게 Mac OS X 개발툴에 딸려있는게 먼저 실행돼서 그냥 makefile에 nasm 경로를 homebrew 쪽으로 잡아줬다. 


다음 휴가 때 SSD를 사고 장착하게 되면 처음 부터 다시 하면서 저자처럼 챕터별로 소스를 구분해 놓고 그걸 git 같은곳에 올려서 정리 해 두는것도 의미 있는 일이 될 듯. 



다음 계획

1. SSD 구매 및 장착 + 컴퓨터 포맷

2. 비상시를 대비해 bootable device 만들어 놓기 혹은 비상 복구 체제 점검. 

3. 운영체제 업그레이드. 현재: 10.7.5

4. 개발 툴 정비

Name
Password
Homepage
Secret

9장 페이징 OS 2012.10.02 22:33

페이징은 15-213에서 배웠었기 때문에 크게 이해가 안 되는 부분은 없는듯. 

대충 다음 링크에서 확인 가능한 내용들을 배웠음. http://csapp.cs.cmu.edu/public/ch9-preview.pdf 







아 근데 페이지 테이블이 문제가 아니라 binutils랑 gcc 다시 크로스 컴파일 했다. ㅡㅡ


맥북 폴더 정리를 하다가 MINT OS64 폴더를 옮겨 버렸더니, 프로젝트 빌드를 하는데 필요한 라이브러리를 제대로 못 찾아서 빌드가 안 됐다. 정확한 에러 메시지는 어디에도 적어두지 않아서 기억을 못 하는데 "dyld: libmpc not found" 비슷한 느낌이었다. 


내가 작성한 소스 내부의 절대 경로를 옮겨진 프로젝트 경로에 따라 맞춰서 바꿨음에도 불구하고 제대로 안돼서 컴파일러, 링커 등등의 문제라고 판단, 그냥 싹 다 새로 크로스 컴파일 해 버렸다. 그래서 컴파일 과정을 간략하게 나마 다시 정리 해 보고자 하지만 귀찮다.


근데 문제는 다시 할 때도 프로젝트 디렉토리 내부에 해 버려서 나중에 또 옮기면 또 다시 해야됨. -_- 

책에 적혀 있는 것 처럼 /usr/cross 라던지 /usr/local/cross 그런데 해 놔야겠음.

Name
Password
Homepage
Secret

8장까지 OS 2012.07.23 14:17

지난번 Can't find entry symbol Main 은 단순히 Main을 main으로 써놔서 발생했던 일로 판명 -_- 이젠 아무런 warning도 안 뜬다!





우선 책에서 하는대로 쭈우욱 따라가 보고 있다. 여기까진 무리 없이 완료했고 다음은 페이징이다.


Name
Password
Homepage
Secret
< PREV |  1  |  2  |  NEXT >