리눅스에서 작업중임...
부트로더는 10000번지에 커널로드 하고 jmp 1000:0000 하게 해둿음;
헌데 C로작성한 kernel.c로 넘어가질 못함 -_-;
애시당초 sudo cat boot.bin kernel.o > kernel.img 한게 졸라 문제스럽게 보이긴한데;
bin이든 o든 둘다 바이너리니까 문제 없다고 생각했거든;
boot.asm 부트로더, kernel.c 커널 본체. 어떻게 엮어야할지 미치겠음 ㅠ 검색하면 전부 제각각이고 대부분 윈도우에서 작업해서..
gcc로 컴파일 하고 병합하는것부터 이렇게 막막함.. 중생좀 구제해줘요..
부트로더는 10000번지에 커널로드 하고 jmp 1000:0000 하게 해둿음;
헌데 C로작성한 kernel.c로 넘어가질 못함 -_-;
애시당초 sudo cat boot.bin kernel.o > kernel.img 한게 졸라 문제스럽게 보이긴한데;
bin이든 o든 둘다 바이너리니까 문제 없다고 생각했거든;
boot.asm 부트로더, kernel.c 커널 본체. 어떻게 엮어야할지 미치겠음 ㅠ 검색하면 전부 제각각이고 대부분 윈도우에서 작업해서..
gcc로 컴파일 하고 병합하는것부터 이렇게 막막함.. 중생좀 구제해줘요..
커널포팅?
ㅇㅇ?
ㄷㅈ // 임베디드는 아님. VM으로 테스트중 \'-\';
vmware로 리눅스 포팅?
ㅇㅇ ㅠ
윈7에 VM서 우분투 돌림서 테스트중. kernel.asm을 kernel.bin으로 할땐 잘 됬는데 kernel.c 를 kernel.o 로 한뒤 boot.bin과 합치니 좆망
음 부트로더 만드나 고도로가 만든 문서라도 읽어보라는 말밖에
kelp 고도리 쨔응
문제는 개초보라 gcc 컴파일 방법도 gcc -c kernel.c 밖에 모른다는거. 합쳐도 부트로더만 실행되고 이새끼가 커널로 점프를 못한다는거 ㅠ
고도리 쨔응의 어느 글을 읽으면됨? 8년차나되는 초 화석이네
메일주소 대면 쏴주겠음
KELP라고 썻네 ㅋㅋ
오ㅗ미 이것이 뭐당까 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
횽 고생했는데 미안해서 어쩌나 ㅠㅠ 뭐가 뭔지 모르겠음.
포팅 존내 어렵지 차근차근 해보셈
아니. 난 임베디드가 아니라 걍 병커널 작성중인데..
만들면서 배우는 OS 책 보는중임 ㅇ유;
.o는 binary 가 아니다 -_-;;;
objcopy를 가꼬 binary를 만들라능
DMW // 어헉; 그래도 안되던데요
gcc -c kernel.c 한후 objcpoy -R .comment .... 하는거 맞나요?
-O binary 근데 왜 리플니 10개 넘는데 .o가 elf라고 알려주는 사람이 하나도 없냐? [m]
이상하네요 -_-;; gcc -c kernel.c 한후 나온 kernel.o를 objcopy -R .comment -R .note -S -O binary kernel.o kernel.bin 하니 kernel.o는 알수없는 포멧이라는디요...
그 책 아마 플루피이미지를 만들어서 할탠데...공지에 fat12관랸 글을 보는게 도음이 될꺼라는 [m]
헐머치 gcc -c kernel.c로 나온 kerenl.o는 안되고 gcc -c kernel.c -o kernel.o는 되네
나머지는 담배한대 피구 잘해봥 뭔가 실수하고 있겠지 [m]
말씀 하신데로 맹글어진 kernel.bin과 boot.bin을 sudo cat boot.bin kernel.bin > kernel.img 했습니다. 여전히 부트로더만 실행이 되네요.. 점프를 잘못 하고 있는 걸까요 ? -_ㅜ
정확한 영역에 로드하고 있나 살펴보라능 [m]
read: mov ax, 0x1000 mov es, ax mov bx, 0 mov ah, 2 mov al, 1 mov ch, 0 mov cl, 2 mov dh, 0 mov dl, 0
int 0x13 후 jmp 0x1000:0000인데요.. 그대로 끓어온건디..이상합니다 ㅠ
따라하기 스타일책이지만 부터블이미지를 만드는데 사용하는 명령어랑 코드가 어떤의마가 있고 왜 이순서로 해야되는지 이해하지 못하면 이번엔 어캐 넘어갈 수 있어도 앞으로는 디버깅못한다. 그냥 안되여 그러면 너랑 똑같은 경험을 한사람 말고는 못알려준다. 여기 몇명이나 된다고 그런 사람이 있겠냐? [m]