2권까지 읽어보고 img 파일로 usb를 책에 있는 내용대로 구운 다음


부팅을 시도 햇는대요 화면이 검정 화면에서 멈춰 버리는대


좀 답답하네요


uefi 와 bios 부팅 간의 차이 같은대 현재 구글링을 해보고 있는 중 입니다.



관련 소스를 가지고 디버깅 중입니다만 


  제가 경험한 몇가지 해결책이 있어 공유 드립니다.


  첫째는 bootloader  제일 첫 부분에 

  xor ax,ax  < 초기화 코드가 없으면 읽지 못하는 바이오스가 있습니다.


  둘째는 bios 설정에서 enable ps2 emulator 기능을 활성화 하면 ps/2 설정이 가능한 bios가 꽤 있었습니다.

  집 컴4대 회사컴 2대



 그리고 제일 삽질?을 많이 했던 부분입니다.

 부팅하다가 그냥꺼집니다.

 

 이 부분 디버깅이 가장 오래걸렸습니다.


 원인은 getapicid() <= 요 값이 27번 이상 나오는 경우가 있습니다.


 MainForApplicationProcessor 요 함수에서  kGetAPICID() * sizeof(GDTENTRY16) 이런식으로 정해진 배열내에서의


 위치값으로  가져오록 되어 있는데


 실제 바이오스에서 가져오는 값은 최대 배열 16개 이상을 가져오는 경우가 생겨


 REBOOT되는 문제가 있습니다.


 넷째는 아직 디버깅 중인데

  WAKEUPAP APPLICATION PROCESSOR가 다 깨어나지 않습니다.

 그래서 무한대기를 탑니다. 코어가 2개 까지는 잘되는데 3개 부터 그러네요

  구글링 중입니다.


  혼자 질문하고 혼자 답하네요 ㅎㅎㅎ