2016-10-19 2 views
1

Я пишу приложение, которое нужно запустить на Beaglebone Black, работающем под управлением Angstrom Linux. Отгруженный Linux на этой плате уже поставляется с узлом, но это очень ранняя версия (0.12.7). Поэтому я попытался использовать более новую версию. Я зашел на сайт node.js и загрузил this archive (узловая версия 4.6.1 для двоичных файлов Linux для ARMv7). Когда я достаю пакет на Beaglebone и попробуйте запустить узел, я получаю странную ошибку:Как сделать новую версию node.js запущенной на Beaglebone Black ARMv7?

[email protected]:/sdcard/node-v4.6.1-linux-armv7l/bin# ./node -v 
-sh: ./node: No such file or directory 

sdcard является ext4 раздел на SD-карте, которую я использую (карта в порядке, я могу также запустить другой проект узла из того же раздела со старой версией узла).

Зачем возникает эта ошибка и что это значит? Исполняемый узел в каталоге упомянутого выше, кажется, хорошо:

[email protected]:/sdcard/node-v4.6.1-linux-armv7l/bin# file node 
node: ELF 32-bit LSB executable, ARM, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x2b816f446e6e77cabfa4c3303376c05a5f90ff2a, not stripped 

Это должно быть хорошо для этой платы, я думаю:

[email protected]:/sdcard/node-v4.6.1-linux-armv7l/bin# cat /proc/cpuinfo 
processor  : 0 
model name  : ARMv7 Processor rev 2 (v7l) 
BogoMIPS  : 990.68 
Features  : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls 
CPU implementer : 0x41 
CPU architecture: 7 
CPU variant  : 0x3 
CPU part  : 0xc08 
CPU revision : 2 

Hardware  : Generic AM33XX (Flattened Device Tree) 
Revision  : 0000 
Serial   : 0000000000000000 

Что я делаю неправильно || что мне не хватает?

+1

Что показывает 'ldd node'? – robertklep

+0

На BBB нет ldd. – Robert

+1

Это либо недостающая библиотека, либо [сам динамический загрузчик] (http://stackoverflow.com/q/36085323/3156750). – Notlikethat

ответ

0

Вы можете обновить версию BeagleBone версии Node.js, установив Debian 8.7.

Все изображения BeagleBone Debian (после 2016-11-06) имеют Node.js v4.x по умолчанию. Я обновился с Debian 8.6 (Node.js v0.12.17) до Debian 8.7 (Node.js v4.7.2).

Вот как вы можете это сделать:

  1. Скачать с 4GB SD LXQT изображение из weekly snapshots. Примечание: Имена изображений содержат ГЭБ для BeagleBone черный или BBBW для BeagleBone Black Wireless (пример BBBW-blank-debian-8.7-lxqt-4gb-armhf-2017-01-15-4gb.img.xz)
  2. Распакуйте образ (от .img.xz до .img). Если в Windows вы можете использовать 7-Zip для этого.
  3. Превратите изображение в изображение eMMC flasher image. Для этого вам необходимо проверить содержимое /boot/uEnv.txt в файле .img. Важно, чтобы строка о «eMMC Flasher» не была прокомментирована. Он должен выглядеть так: cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3-bbbw.sh.
  4. Написать изображение на карточку microSD . Если в Windows вы можете использовать Win32 Disk Imager.
  5. Выключайте BeagleBone (физически отсоединении USB/кабель питания)
  6. Плагин карты MicroSD
  7. Держите загрузки коммутатора (рядом с гнездом для карты MicroSD) и, удерживая эту кнопку, вставка USB/кабель питания. Держите , удерживая переключатель загрузки, пока пользовательские светодиоды не начнут мигать.
  8. Подождите, пока пользовательские светодиоды перестанут мигать, а все 4 пользовательских светодиода находятся на. Этот процесс может занять 5-25 минут в зависимости от используемого изображения.
  9. Отсоедините кабель USB/питания.
  10. Извлеките карту microSD. В противном случае вы снова начнете мигать eMMC.
  11. Power on the BeagleBone Black.

Вот обзор BeagleBone (с кнопками & светодиоды):

BeagleBone buttons

Не бойтесь количества шагов. Это просто. Есть также официальные руководства о latest firmware images и installing the latest software.