Установка 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

  1. Посетите TinyOS (TinyProd) репозиторий разработки Debian и следуйте этим инструкциям:

    1. Расскажите apt о ключе подписи TinyProd.

      wget -O - http://tinyprod.net/repos/debian/tinyprod.key | sudo apt-key add -
      
    2. Добавьте две новые строки в /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
      
    3. Установите новые пакеты:

      sudo apt-get update  
      sudo apt-get install nesc tinyos-tools  
      

      На этом этапе я не устанавливал ни msp430-46, ни avr-tinyos, на случай, если вы захотите установить их позже, после того, как протестируете установку TinyOS.

  2. Получите код из репозитория релизов 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.

  3. Вам нужно будет добавить некоторые переменные окружения в вашу оболочку. Следующий файл включает в себя необходимые. Замените местозаполнитель путем, по которому вы решили разместить код в предыдущем разделе (рекомендуется полный путь).

    # 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. Теперь есть как минимум две возможности сделать эти переменные доступными в вашей оболочке:

    1. Поместите его как пользователь root в /etc/profile.d/
    2. Поместите это в <local-tinyos-path> и добавьте следующую строку в ваш.bashrc

      source <local-tinyos-path>/tinyos.env  
      

После завершения установки 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

У меня случилась та же проблема, и я решил ее следующим образом.

  1. Я скачал пакет tinyos из их репозитория github tiny-os-main.

  2. Я распаковал его на свой рабочий стол (вы можете распаковать его где угодно и записать путь).

  3. Затем я установил tinyos-tools из apt, используя apt-get install tinyos-tools,

  4. Затем я следовал 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"

Полезные ссылки

Это произойдет, если имя пакета введено неправильно, вы можете дважды проверить имя пакета в центре программного обеспечения или установить его оттуда. Терминал чувствителен к регистру для некоторых операций, используйте строчные буквы для установки пакетов. sudo apt - получить имя для установки. Это может зависеть от того, в каком хранилище находятся эти пакеты и включены ли эти хранилища. Я не специалист по apt - get, но если вы укажете, какие пакеты вы ищете, кто-то может помочь.

Другие вопросы по тегам