자료에서보면
boshs에 방금 만든 이미지를 돌리더라
바로 돌릴수 있는줄 알고 해봤지만
- 부팅가능한 이미지가 아니라고 아무것도 뜨지 않는다.
다시 잘보니 toolset으로 부팅 가능 이미지로 만들어야 된다고 한다.
toolset이 원래 CD에 있다고는 하는데 나는 CD가없으므로
소스 찾다보니 깃헙에 올라온걸 찾았다.
https://github.com/HariboteOS/tolsrc
일단 윈도우 바이너리로 빌드하긴 해야되니
mingw부터 깔고, 환경변수 등록하고
toolset 빌드 중
하다가 에러발생
gmtime_r 이 인클루드 안된것 같다.
찾아보니 ctime.h는 g++에 있는듯 하다
g++도 설치
으악 보다보니
c++이 아니라
내가 사용한 gcc랑 c언어 표준 이랑 맞지 않았던것 같다.
C Standards. C표준. C11, C99, C90, 등. 그리고 gcc
C2X는 C18 다음 표준안인듯 하다.
일단 메이크 파일에서
-std=gnu2x를 추가해주고 다시 빌드를 해봤다.
아까 처럼 워닝은 안뜨지만
gmtime_r이 없으니 링킹이 안되는건 여전하다.
gcc 버전을 바꿔야 될수도 있겠다...
다시 검색하다보니
gmtime_r은 gmtime의 안전한 버전으로 susv2에 있다고 한다.
gcc에 susv2만 추가할 수 있으면 될것같긴한데 ...
일단 sus는 단일 유닉스 규격 single unix specification
도저히 안되서 msys에서 작업하려는데
gcc도 못찾고 있더라
누가 pacman -S gcc를 치면 된다길래 했더니
gcc가 설치된다 ..
찾아보니 pacman이 msys에서 패키지 관리 프로그램이라고 한다.
pacman으로 gcc 설치후 make 해보니
빌드 성공 ..
지금까지 뭘한걸가 ㅠㅜㅜㅜ
make install로 바이너리 정리해주고
윈도우 실행파일로 빌드 완료 ㅎㅎ
추가적인 유용한 도구들 설치
- 아직은 gcc만 설치되어있으므로
imgtol을 써야되는데
자꾸 cpp0가 없다고 빌드가 안된다.
pacman -S mingw-w64-x86_64-yaml-cpp0.3 설치
그래도 안된다..
계속 해매다가
어느 중국인이 tolset을 깃헙에 올린걸 찾았다..
결국에는 이짓을 할 필요가 없었어..
다시 해서
run.bat 파일이랑 아까 만든 이미지 파일을 놓고
run.bat을 돌리면
qemu가 돌아가는데 부팅불가능한 이미지라고 뜬다.
install.bat도 만들어서 돌려보면...
16비트라고 안돌아간다 OTL
아까 구한 imgtol 소스에서
빌드해야될것 같다..
그런데 아까 cpp0가 없다고 빌드가 안됬었는데
z_tools에 있던 cpp0를 가져와 써보자..
여전히 cpp0를 못찾는다고 하니
일단 cpp0.exe로 고쳐주자
./cpp0.exe -v 로 찍어보니
엄청 오래된듯 하다
메이크 파일을 고치고
빌드했더니
cpp0는 잘 넘어갔는데 이번에는 aska가 문제다..
메이크 파일에서 필요하단건 다 복붙하자
그런데 bim2bin3이 안보인다..
일단 찾은것 대로만 메이크파일 고쳐주고 다시 실행해보면..
역시 잘되다가 bim2bin3이 문제다
아쉬운 대로 ztools에 bim2bin.exe로 바꿔서 한번 돌려보면
역시나 안된다.
실행 파일명만 바꾸고 옵션을 그대로 둔 상태에서 빌드해봤더니
성공
드디여 삽질해서
imgtol.com를 만들었다.
실행했더니 포맷 에러 발생
생각해보니 빌드 문제가 아니라 도스 명령을 64비트 운영체제에서 돌리려한게 문제였다.
검색해보니 기능 추가하면 돌릴수 있다고 하내
근데 난 없음
어쩔수 없이 도스박스에서 돌려보자
반가운 도스박스
일단 돌아가기는 하지만
없는 install.bat에 없는 a드라이브에다가 이미지를 쓴다고 했으니
드라이버 에러가 난다
아까 imtol 폴더에 readme를 봐야할것같은데
한글 윈도우라 다깨진다.
일단 볼수 있는 부분으로 이해해보면
imgtol.com w a: helloos.img는
a: 드라이브로 이미지를 올린다고 볼수 있을것같다
삽질한 결과 문제는 이게아니었다..
'컴퓨터과학 > 컴퓨터, OS' 카테고리의 다른 글
os만들기 - 4. 어셈블러 체험 (0) | 2020.07.30 |
---|---|
os만들기 - 3. 글자찍히는 부팅가능한 바이너리 이미지 만들기 (0) | 2020.07.29 |
os만들기 - 1. 바이너리 에디터 (0) | 2020.07.28 |
오브젝트 파일 ~ 고급 언어 (0) | 2020.05.01 |
어셈블리어 ~ 심벌 테이블 (0) | 2020.05.01 |