아직 하드웨어와의 실험을 다 못해봤지만, 이번에 안 건...
cygwin와 그안의 컴파일러가 운영체제를 가린다는 것을 알았음.
일단, tinyos_wiki에서 받은 cygwin을 깔고...
이것을 받는 동안 해당 컴파일러와 TINYOS된 것을 받자.
rpm -Uvh --ignoreos --force avr-binutils-2.17tinyos-3.cygwin.i386.rpm
rpm -ivh --ignoreos avr-gcc-4.1.2-1.cygwin.i386.rpm
rpm -ivh --ignoreos avr-libc-1.4.7-1.cygwin.i386.rpm
rpm -ivh --ignoreos avarice-2.4-1.cygwin.i386.rpm
rpm -ivh --ignoreos avr-insight-6.3-1.cygwin.i386.rpm
rpm -Uvh --ignoreos --force --nodeps avrdude-tinyos-5.6cvs-1.cygwin.i386.rpm
rpm -ivh --ignoreos nesc-1.3.0-1.cygwin.i386.rpm
rpm -i --ignoreos tinyos-deputy-1.1-1.cygwin.i386.rpm
rpm -ivh --force --ignoreos tinyos-tools-1.3.0-1.cygwin.i386.rpm
rpm -ivh --ignoreos tinyos-2.1.0-2.cygwin.noarch.rpm
필자는 AVR+MICAZ이므로 이렇게 작성했음. 스크립트를 작성하던 걍 치시던 알아서 하시길...
TOSROOT="/opt/tinyos-2.x"
CLASSPATH="c:\cygwin\opt\tinyos-2.x\support\sdk\java\tinyos.jar;."
MAKERULES="$TOSROOT/support/make/Makerules"
TOSDIR="$TOSROOT/tos"
export TOSROOT
export TOSDIR
export CLASSPATH
export MAKERULES
type java >/dev/null 2>/dev/null || PATH='/usr/bin/tos-locate-jre --java':$PATH
type javac >/dev/null 2>/dev/null || PATH='/usr/bin/tos-locate-jre --javac':$PATH
echo $PATH | grep -q /usr/local/bin || PATH=/usr/local/bin:$PATH
이건 /etc/profile.d/ 밑에 sh를 붙여 파일을 만들어 저장하고 chmod +x 를 하자.
아 그리고, 가장 마지막으로 확인을 꼭 해야하는데,
The script is looking for this file: toscomm-32.dll.
I renamed the /usr/lib/tinyos/toscomm.dll to /usr/lib/tinyos/toscomm-32.dll (or you can edit the script, locate it with which tos-install-jni).
이걸로 그만한다.