Установка TinyOS на последнюю версию Ubuntu
Я следую этому руководству, чтобы установить TinyOS, но когда я запускаю sudo apt-get install tinyos
он говорит, что не может найти пакет. Я перепробовал все дистрибутивы.
4 ответа
Из учебника TinyOS по вашей ссылке:
Поддерживаемые дистрибутивы: (Hardy, Intrepid, Jaunty, Karmic)
Все эти выпуски Ubuntu устарели и больше не поддерживаются обновлениями. Вы используете Ubuntu 14.04, которая не поддерживается репозиторием пакетов TinyOS, который показан в руководстве по вашей ссылке.
Вместо этого я следовал инструкциям Автоматической установки - TinyOS Wiki для установки TinyOS в Ubuntu 14.04 (он также работает в Ubuntu 16.04).
Установите TinyOS в Ubuntu 14.04 и 16.04
Посетите TinyOS (TinyProd) репозиторий разработки Debian и следуйте этим инструкциям:
Расскажите apt о ключе подписи TinyProd.
wget -O - http://tinyprod.net/repos/debian/tinyprod.key | sudo apt-key add -
Добавьте две новые строки в
/etc/apt/sources.list.d/tinyprod-debian.list
:sudo -s cd /etc/apt/sources.list.d echo "deb http://tinyprod.net/repos/debian wheezy main" >> tinyprod-debian.list echo "deb http://tinyprod.net/repos/debian msp430-46 main" >> tinyprod-debian.list
Установите новые пакеты:
sudo apt-get update sudo apt-get install nesc tinyos-tools
На этом этапе я не устанавливал ни msp430-46, ни avr-tinyos, на случай, если вы захотите установить их позже, после того, как протестируете установку TinyOS.
Получите код из репозитория релизов TinyOS:
wget http://github.com/tinyos/tinyos-release/archive/tinyos-2_1_2.tar.gz tar xf tinyos-2_1_2.tar.gz
Это извлечет фактический код TinyOS в папку с именем tinyos-release-tinyos-2_1_2 внутри каталога, в котором была выполнена команда. Не стесняйтесь переименовать эту папку в tinyos-main.
Вам нужно будет добавить некоторые переменные окружения в вашу оболочку. Следующий файл включает в себя необходимые. Замените местозаполнитель путем, по которому вы решили разместить код в предыдущем разделе (рекомендуется полный путь).
# Here we setup the environment # variables needed by the tinyos # make system export TOSROOT="<local-tinyos-path>" export TOSDIR="$TOSROOT/tos" export CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java export MAKERULES="$TOSROOT/support/make/Makerules" export PYTHONPATH=$PYTHONPATH:$TOSROOT/support/sdk/python echo "setting up TinyOS on source path $TOSROOT"
Предположим, вы назвали этот файл tinyos.env. Теперь есть как минимум две возможности сделать эти переменные доступными в вашей оболочке:
- Поместите его как пользователь root в
/etc/profile.d/
Поместите это в
<local-tinyos-path>
и добавьте следующую строку в ваш.bashrcsource <local-tinyos-path>/tinyos.env
- Поместите его как пользователь root в
После завершения установки TinyOS вы можете проверить ее успешность, выполнив некоторые из этих команд:
tos-bsl tos-ident-flags tos-serial-debug
tos-build-deluge-image tos-install-jni tos-set-symbols
tos-channelgen tos-locate-jre tos-storage-at45db
tos-check-env tos-mote-key tos-storage-pxa27xp30
tos-decode-flid tos-mviz tos-storage-stm25p
tos-deluge tos-ramsize tos-write-buildinfo
tos-dump.py tos-serial-configure tos-write-image
У меня случилась та же проблема, и я решил ее следующим образом.
Я скачал пакет tinyos из их репозитория github tiny-os-main.
Я распаковал его на свой рабочий стол (вы можете распаковать его где угодно и записать путь).
Затем я установил tinyos-tools из apt, используя
apt-get install tinyos-tools
,Затем я следовал 3-й инструкции по ссылке Автоматическая установка - TinyOS Wiki для настройки среды. "Local-tinyos-path" - это путь, который вы отметили на шаге 2.
Кстати, я использую Ubuntu 14.04.
Надеюсь это поможет.
Установите TinyOS на Ubuntu 18.04
Вам не нужно скачивать исходный код для TinyOS, эта команда сделает это:
% sudo apt-get update
% sudo apt-get install tinyos-tools bison flex graphviz
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
ca-certificates-java default-jre default-jre-headless fonts-dejavu-extra java-common libatk-wrapper-java libatk-wrapper-java-jni libjama-java libpcsclite1 nescc
openjdk-11-jre openjdk-11-jre-headless tinyos-source uisp
Suggested packages:
default-java-plugin libjama-java-doc pcscd gcc-avr gcc-msp430 libnss-mdns fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic
The following NEW packages will be installed:
ca-certificates-java default-jre default-jre-headless fonts-dejavu-extra java-common libatk-wrapper-java libatk-wrapper-java-jni libjama-java libpcsclite1 nescc
openjdk-11-jre openjdk-11-jre-headless tinyos-source tinyos-tools uisp
0 upgraded, 15 newly installed, 0 to remove and 0 not upgraded.
Need to get 53.2 MB of archives.
After this operation, 233 MB of additional disk space will be used.
Do you want to continue? [Y/n]y
Приведенные выше команды устанавливают Java, nescc (v1.3.5), tinyos-source (v2.1.2) и tinyos-tools (v.1.4.2).
Исходный код для TinyOS будет размещен в /usr/src/tinyos
,
После установки вам нужно будет добавить некоторые переменные окружения в вашу оболочку:
source /etc/profile.d/tinyos.sh
Или для автоматического добавления этих переменных среды введите:
printf 'source /etc/profile.d/tinyos.sh\n' | tee -a "$HOME/.bash_profile"
Далее проверьте установку с помощью:
tos-check-env
Наконец, измените владельца источника TinyOS:
% printenv TOSROOT
/usr/src/tinyos
% sudo chown -R "$USER". "$TOSROOT"
Полезные ссылки
- Вики-страница: http://tinyos.stanford.edu/tinyos-wiki/index.php/Main_Page
- FAQ: http://tinyos.stanford.edu/tinyos-wiki/index.php/FAQ
- Обзор: http://tinyos.stanford.edu/tinyos-wiki/index.php/TinyOS_Overview
- Установка в Ubuntu 16: установка TinyOS в последней версии Ubuntu
- [Устарело] Установка из неофициального репозитория: http://tinyprod.net/repos/debian/
Это произойдет, если имя пакета введено неправильно, вы можете дважды проверить имя пакета в центре программного обеспечения или установить его оттуда. Терминал чувствителен к регистру для некоторых операций, используйте строчные буквы для установки пакетов. sudo apt - получить имя для установки. Это может зависеть от того, в каком хранилище находятся эти пакеты и включены ли эти хранилища. Я не специалист по apt - get, но если вы укажете, какие пакеты вы ищете, кто-то может помочь.