개인공부 후 자료를 남기기 위한 목적으로 포스팅합니다. 내용 상에 오류가 있을 수 있습니다.0x06. Nachos 컴파일 및 실행결과 크로스 컴파일러의 준비가 끝났으므로 이제 MIPS 기반의 Nachos를 컴파일 할 수 있다. nachos4[1].0-modified.tar 파일을 다운받아 사용했다. tar 명령어를 통해 압축을 풀면 아래와 같은 디렉토리 내용을 확인 할 수 있다. 우리는 리눅스 환경에서 컴파일 할 것이므로 ports/x86.linux 파일을 Makefile.dep로 심볼릭링크를 걸어준다.# ln -s ports/x86.linux Makefile.dep Nachos는 threads 디렉토리의 Nachos와 userprog 디렉토리의 Nachos 두 가지가 존재한다. 첫 번째로 threads..
개인공부 후 자료를 남기기 위한 목적으로 포스팅합니다. 내용 상에 오류가 있을 수 있습니다. 0x05. 리눅스에 gcc 3.0.1 설치 Nachos에서 구동될 gcc 예전 버전을 구하기 위해 gun의 ftp 사이트로 접속해 gcc-3.0.1.tar.gz를 다운 받는다. 윈도우에 다운받은 gcc-3.0.1.tar.gz 파일을 리눅스의 rz 명령어를 통해 리눅스로 옮긴다. 다운받은 gcc 설치 tar 파일의 압축을 해제한다. # tar -zxvf gcc-3.0.1.tar.gz gcc-3.0.1 디렉토리가 생성되었으며, gcc 빌드를 위한 별도의 gcc-build 디렉토리르 생성했다. 다음으로 configure 파일을 통해 컴파일 설정을 다시 해준다. # configure --target=decstation-..
개인공부 후 자료를 남기기 위한 목적으로 포스팅합니다. 내용 상에 오류가 있을 수 있습니다. 0x04. 리눅스에 binutils 설치 Nachos는 내부적으로 MIPS 아키텍쳐를 가상화하므로 MIPS 명령어로 구성된 바이너리 파일이 실행 가능하게 된다. 하지만 우리는 인텔 x86 프로세서를 사용하기 때문에 현재 우리가 사용하는 프로세서에서 MIPS 명령어로 구성된 바이너리를 만들어내는 컴파일러를 만들어야 한다. 이렇게 host machine과 target machine이 다른 컴파일러를 크로스 컴파일러라고 하며, 여기에서는 Redhat9에 binutils와 GCC를 설치하여 MIPS Instruction을 만들어내는 컴파일러로 구성할 것이다. binutils는 GNU의 웹 FTP(http://ftp.gn..