[OS] Pintos 설치하기
필자의 환경조건 )
Ubuntu 14.04 x86버전.
필자만 잘 따라하면 좋은 결과를 얻을 수 있을 것이다.
make 부분에서 오류가 나지 않으려면 gcc를 제대로 설치해야한다.
$ sudo apt-get install g++ xorg-dev ncurses-dev vim
$ sudo apt-get install gcc-4.4
$ sudo mv /usr/bin/gcc-4.4 /usr/bin/gcc
위 세가지 소스코드를 확실히 실행시켜야 한다.
자신이 원하는 위치에 dir를 하나 생성하고 pintos 파일을 받아온다.
$ cd /
$ sudo mkdir temp
$ wget http://www.stanford.edu/class/cs140/projects/pintos/pintos.tar.gz
$ tar xzf pintos.tar.gz
이렇게 함으로써 pintos파일을 받아 왔다.
필자는 Bochs 대신 Qemu를 사용할 것이다.
$ sudo apt-get install qemu
qemu 설치후 몇가시 환경 세팅을 해줘야 한다.
$ sudo vi ~/.bashrc
export PINTOSDIR=/temp/pintos
export PATH=$PINTOSDIR/src/utils:$PATH
마지막에 위 export 두줄을 넣어주고
$ sudo source ~/.bashrc
새로고침을 해준다. 위 구문을 치기 싫다면, 재부팅 또는 ssh를 껐다 키도록 하자.
$ sudo vi $PINTOSDIR/src/utils/Makefile
"LDFLAGS = -lm" -> IBS = -lm" 수정
$ sudo vi $PINTOSDIR/src/threads/Make.vars
"SIMULATOR = --bochs" 를 "SIMULATOR = --qemu" 로 바꿔준다.
마찬가지로 아래 항목도 바꿔준다
$ sudo vi $PINTOSDIR/src/userprog/Make.vars
$ sudo vi $PINTOSDIR/src/vm/Make.vars
$ sudo vi $PINTOSDIR/src/filesys/Make.vars
$ cd $PINTOSDIR/src/threads/
$ sudo make
$ cd $PINTOSDIR/src/utils/
$ sudo make
$ sudo vi $PINTOSDIR/src/utils/pintos
$sim = "bochs" if !defined $sim; -> $sim = "qemu" if !defined $sim; 로 수정 (Line : 103)
my $name = find_file ('kernel.bin'); ->
my $name = find_file ($ENV{'PINTOSDIR'}.'/src/threads/build/kernel.bin');
수정 (Line : 259)
$ sudo vi $PINTOSDIR/src/utils/Pintos.pm
$name = find_file ("loader.bin") if !defined $name; ->
$name = find_file ($ENV{'PINTOSDIR'}."/src/threads/build/loader.bin") if !defined $name;
수정 (Line : 362)
$ cd /usr/bin/
$ sudo ln -s qemu-system-x86_64 qemu
qemu 버전을 선택하기 위해서 위 명령어를 쳐준다.
이렇게만 하면 Power Off가 되지 않기 때문에 아래의 구문을 추가해준다.
$ sudo vi $PINTOSDIR/src/devices/shutdown.c
outw(0x604, 0x0|0x2000); (Line : 103 아래 추가)
다시 make 해줘야 하기때문에
$ cd $PINTOSDIR/src/threads/
$ sudo make clean; make
$ cd $PINTOSDIR/src/utils/
$ sudo make clean; make
반복해준다.
Prototype mismatch: sub main::SIGVTALRM () vs none at /temp/pintos/src/utils/pintos line 935.
Constant subroutine SIGVTALRM redefined at /temp/pintos/src/utils/pintos line 927.
이런 오류가 뜨는데 무시하도록 하자.
'그냥 개발 및 잡담 > OS 개발' 카테고리의 다른 글
[OS] Pintos - BusyWaiting 해제 (0) | 2020.01.21 |
---|---|
[OS] Busy Waiting 정의 (0) | 2020.01.19 |
댓글
이 글 공유하기
다른 글
-
[OS] Pintos - BusyWaiting 해제
[OS] Pintos - BusyWaiting 해제
2020.01.21 -
[OS] Busy Waiting 정의
[OS] Busy Waiting 정의
2020.01.19