TinyOS-1.x Installation on Linux(Fedora 10)콘솔(터미널)을 열어 root 권한으로 진행...
1. IBM Java sdk, javacomm 다운로드 받는다.
http://www.ibm.com/developerworks/java/jdk/linux/download.html 에서 아래 두 개의 rpm파일을 다운로드 받는다.
다운로드 받기 위해서 등록은 필수 -.-
IBM Java를 사용하는 이유는 설치가 쉬워서?? SUN Java는 설치가 어렵다는데... -.-
ibm-java2-i386-sdk-5.0-9.0.i386.rpm
ibm-java2-i386-javacomm-5.0-9.0.i386.rpm
파일을 다운로드 받았으면 설치를 한다.
$>yum localinstall --nogpgcheck ibm-java2-i386-jre-5.0-9.0.i386.rpm
$>yum localinstall --nogpgcheck ibm-java2-i386-sdk-5.0-9.0.i386.rpm
$>yum localinstall --nogpgcheck ibm-java2-i386-javacomm-5.0-9.0.i386.rpm설치가 끝나면 /opt/ibm/java2-i386-50에 설치된다.
vi /root/.bashrc 파일을 열어 아래와 같은 내용의 Java path 및 환경변수를 추가하고 저장한다.
#JAVA
export JAVA_HOME=/opt/ibm/java2-i386-50
export JDKROOT=$JAVA_HOME
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$CLASSPATH
2. TinyOS linux tools 를 다운로드 및 설치한다.
http://www.tinyos.net/dist-1.1.0/tools/linux 와
http://www.tinyos.net/dist-1.2.0/tools/linux 에서 아래 파일들을 다운로드 받는다.
avarice-2.0.20030825cvs-1.i386.rpm
avr-binutils-2.13.2.1-1.i386.rpm
avr-gcc-3.3tinyos-1.i386.rpm
avr-insight-pre6.0cvs.tinyos-1.3.i386.rpm(rpm -ivh --replacefiles 명령으로 설치)
avr-libc-20030512cvs-1.i386.rpm
make-3.80tinyos-1.i386.rpm (기존에 파일이 없다고 나오는 경우 yum install make로 설치)
graphviz-1.10-1.i386.rpm ( graphviz tool의 경우 compile error를 발생시키므로 yum install graphviz로 설치)
msp430tools-base-0.1-20050607.i386.rpm
msp430tools-binutils-2.16-20050607.i386.rpm
msp430tools-gcc-3.2.3-20050607.i386.rpm
msp430tools-gdb-6.0-20050609.i386.rpm (설치시 에러가 나므로 일단 패스 -.-.)
msp430tools-gdb-proxy-6.0-20050609.i386.rpm (마찬가지로 패스 -.-.)
msp430tools-libc-20050308cvs-20050608.i386.rpm
msp430tools-jtag-lib-20031101cvs-20050610.i386.rpm
msp430tools-python-tools-1.0-1.noarch.rpm
nesc-1.2.8a-1.i386.rpm
tinyos-tools-1.2.3-1.i386.rpm
tinyos-1.1.15Dec2005cvs-1.noarch.rpm
다음과 같이 설치한다.
$>yum install gcc-c++
$>yum install make
$>yum localinstall --nogpgcheck avarice-2.4-1.i386.rpm
$>yum localinstall --nogpgcheck avr-binutils-2.15tinyos-3.i386.rpm
$>yum localinstall --nogpgcheck avr-gcc-3.4.3-1.i386.rpm
$>yum localinstall --nogpgcheck avr-libc-1.2.3-1.i386.rpm
$>rpm -ivh --replacefiles avr-insight-6.3-1.i386.rpm
$>yum install graphviz
$>yum localinstall --nogpgcheck nesc-1.2.8a-1.i386.rpm
$>yum localinstall --nogpgcheck tinyos-tools-1.2.3-1.i386.rpm
$>yum localinstall --nogpgcheck msp430tools-base-0.1-20050607.i386.rpm
$>yum localinstall --nogpgcheck msp430tools-binutils-2.16-20050607.i386.rpm
$>yum localinstall --nogpgcheck msp430tools-gcc-3.2.3-20050607.i386.rpm
$>yum localinstall --nogpgcheck msp430tools-libc-20050308cvs-20050608.i386.rpm
$>yum localinstall --nogpgcheck msp430tools-jtag-lib-20031101cvs-20050610.i386.rpm
$>yum localinstall --nogpgcheck msp430tools-python-tools-1.0-1.noarch.rpm
$>yum localinstall --nogpgcheck tinyos-1.1.15Dec2005cvs-1.noarch.rpm
CVS repository로부터 TinyOS source를 다운로드 받아 복사해도 되지만 이 부분은 아직 해보지 않아서 검증되지 않았지만 다음과 같이 source를 받아오면 된다.
이 때, 반드시 해당 디렉토리로 이동 후 명령 실행해야 한다.(opt/tinyos-1.x의 경로에 설치할 경우, /opt 폴더에서 실행)
$>cvs -d:pserver:anonymous@tinyos.cvs.sourceforge.net:/cvsroot/tinyos login(passware를 물어보면 엔터를 친다.)
$>cvs -z3 -d:pserver:anonymous@tinyos.cvs.sourceforge.net:/cvsroot/tinyos co -r tos-1-1-14-candidate tinyos-1.x
또는, cvs -d:pserver:anonymous@tinyos.cvs.sourceforge.net:/cvsroot/tinyos co tinyos-1.x(설치시간은 대략 30분 남짓 걸린다.)
만약 cvs 가 실행이 안 될 경우, cvs 설치한다.
$>yum install cvs
설치가 끝나면 vi /root/.bashrc 파일을 열어 아래와 같은 내용의 환경변수를 추가한다.
#MSPGCC
export MSPGCCROOT=/opt/msp430
export PATH=$MSPGCCROOT/bin:$PATH
#TinyOS
export TOSROOT=/opt/tinyos-1.x
export TOSDIR=$TOSROOT/tos
export CLASSPATH=$TOSROOT/tools/java:$CLASSPATH
export MAKERULES=$TOSROOT/tools/make/Makerules
3. 아래 내용중에 vi /root/.bashrc 파일을 열어 빠진 내용이 없는지 확인한다.
#Java
export JAVA_HOME=/opt/ibm/java2-i386-50
export JDKROOT=$JAVA_HOME
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.
#MSPGCC
export MSPGCCROOT=/opt/msp430
export PATH=$MSPGCCROOT/bin:$PATH
#TinyOS
export TOSROOT=/opt/tinyos-1.x
export TOSDIR=$TOSROOT/tos
export CLASSPATH=$TOSROOT/tools/java:$CLASSPATH
export MAKERULES=$TOSROOT/tools/make/Makerules
이로써 fedora 10 환경에서 TinyOS를 사용할 수 있게 된다.
시스템을 재부팅을 하고, 마지막으로 테스트를 한다.
Blink 디렉토리로 이동~~
$>cd /opt/tinyos-1.x/apps/Blink
$>make install telosb
...
...
...
rm -f build/telosb/main.exe.out build/telosb/main.ihex.out
성공이다... :-)
*TIP
java tools 가 실행되지 않을 경우...
/opt/tinyos-1.x/tools/java 로 이동하여 컴파일...
$>make
해당 툴의 class 파일이 생성되면 사용가능하게 된다.
USB serial Comm. 을 위해 다음과 같이 수정한다.
$>vi /opt/ibm/java2-i386-50/jre/lib/javax.comm.properties의 내용 중
/dev/ttyS=PORT_SERIAL >> /dev/ttyUSB=PORT_SERIAL 로 변경 후 적용하면 끝.