(1) OS/161
http://www.eecs.harvard.edu/~syrah/os161
ftp://ftp.eecs.harvard.edu/pub/os161/os161-1.11.tar.gz
ftp://ftp.eecs.harvard.edu/pub/os161/sys161-1.14.tar.gz
ftp://ftp.eecs.harvard.edu/pub/os161/toolchain/cs161-gcc-1.5.tgz
ftp://ftp.eecs.harvard.edu/pub/os161/toolchain/cs161-binutils-1.5.tgz
(2) gcc 버전 변경
$ sudo apt-get install gcc-4.1
$ cd /usr/bin
$ sudo mv gcc gcc_bak
$ sudo ln -s gcc-4.1 gcc
(3) binutils 설치
$ tar xf cs161-binutils-1.5.tar
$ cd cs161-binutils-1.5
$ ./toolbuild.sh --cs161dir='/home/user/oslab/cs161'
(4) 환경변수 설정
$ vim ~/.bashrc export PATH=/home/user/oslab/cs161:/home/user/oslab/cs161/bin:${PATH}
$ source ~/.bashrc
(5) GCC MIPS Cross-Compiler
$ tar xf cs161-gcc-1.5.tar
$ cd cs161-gcc-1.5
$ ./toolbuild.sh --cs161dir='/home/user/oslab/cs161'
(6) SYS/161
$ tar xf sys161-1.14.tar
$ cd sys161-1.14
$ ./configure --installdir='/home/user/oslab/sys161' --docdir='/home/user/oslab/sys161/document' mipseb
$ make && make install
만약 ./configure 가 오류나면,
$ vim ./configure
17번째줄에 `따옴표를 닫아줘야한다.
(7) OS/161
$ tar xf os161-1.11.tar
$ cd os161-1.11
$ ./configure --ostree='/home/user/oslab/sys161/root' --toolprefix=cs161-
$ make
$ cd kern/conf
$ ./config ASST0
$ cd ../compile/ASST0
$ make depend
$ make && make install
(8) sys161.conf
$ cd /home/user/oslab/sys161
$ cp sys161.conf.sample root/sys161.conf
(9) 환경변수 설정
$ vim ~/.bashrc PATH=/home/user/oslab/sys161:${PATH}
$ source ~/.bashrc
(10) 실행
$ cd /home/user/oslab/sys161/root
$ sys161 kernel
(11) main.c 수정
$ vim /home/user/oslab/os161/kern/main/main.c
kprintf("Put-your-group-name-here's system version"); 부분 수정
(12) 컴파일
$ cd /home/user/oslab/os161/kern/compile/ASST0
$ make && make install
$ cd /home/user/oslab/sys161/root
$ sys161 kernel