如何在路由器Asus RT-N18U(带ARMv7l处理器)上安装node.js

如何在路由器Asus RT-N18U(带ARMv7l处理器)上安装node.js,node.js,installation,arm,router,Node.js,Installation,Arm,Router,我想在ASUS RT-N18U上安装node.js,Shibby()的番茄固件版本为1.28 硬件配置 root@unknown:/# cat /proc/cpuinfo Processor : ARMv7 Processor rev 0 (v7l) processor : 0 BogoMIPS : 1599.07 Features : swp half thumb fastmult edsp CPU implementer : 0x41 C

我想在ASUS RT-N18U上安装node.js,Shibby()的番茄固件版本为1.28

硬件配置

root@unknown:/# cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 0 (v7l)
processor       : 0
BogoMIPS        : 1599.07

Features        : swp half thumb fastmult edsp
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x3
CPU part        : 0xc09
CPU revision    : 0

Hardware        : Northstar Prototype
Revision        : 0000
Serial          : 0000000000000000
尝试1:

root@unknown:/# cd /opt
root@unknown:/opt# wget node-v4.2.1-linux-armv7l.tar.gz
root@unknown:/opt# tar zxvf node-v4.2.1-linux-armv7l.tar.gz
root@unknown:/opt# cd node-v4.2.1-linux-armv7l/bin
root@unknown:/opt/node-v4.2.1-linux-armv7l/bin# ls -l
  -rwxr-xr-x    1 root     root      20958710 Sep 23 03:55 node
  lrwxrwxrwx    1 root     root            38 Sep 24 17:47 npm -> ../lib/node_modules/npm/bin/npm-cli.js
root@unknown:/opt/node-v4.2.1-linux-armv7l/bin# ./node
  -sh: ./node: not found
结果: 目录中存在文件“节点”,但系统显示“未找到”

尝试2:

root@unknown:/# cd /opt
root@unknown:/opt# wget node-v4.2.1-linux-armv7l.tar.gz
root@unknown:/opt# tar zxvf node-v4.2.1-linux-armv7l.tar.gz
root@unknown:/opt# cd node-v4.2.1-linux-armv7l/bin
root@unknown:/opt/node-v4.2.1-linux-armv7l/bin# ls -l
  -rwxr-xr-x    1 root     root      20958710 Sep 23 03:55 node
  lrwxrwxrwx    1 root     root            38 Sep 24 17:47 npm -> ../lib/node_modules/npm/bin/npm-cli.js
root@unknown:/opt/node-v4.2.1-linux-armv7l/bin# ./node
  -sh: ./node: not found
我已经下载并解包了TomatoWare(最新版本1.0.3),然后编译了最新版本node.js

root@unknown:/opt/node-v4.2.1# ./configure --prefix=/opt/node && make && make install
...
root@unknown:/opt/node/bin# ./node -v
v4.2.1
root@unknown:/opt/node/bin# ./node
Illegal instruction
当我删除了TomatoWare的所有文件时

root@unknown:/opt/node/bin# ./node
-sh: ./node: not found
因此,错误与第一种情况相同

借 root@unknown:/opt#ldd/opt/node/bin/node 节点需要来自TomatWare的一些库

将这些文件复制到/opt/lib后:

root@unknown:/opt/lib# ls -l
  -rwxr--r--    1 root     root         28701 Sep  3 18:51 ld-uClibc.so.0
  -rwxr--r--    1 root     root        576031 Sep  3 18:51 libc.so.0
  -rwxr--r--    1 root     root         16129 Sep  3 18:51 libdl.so.0
  -rwxr--r--    1 root     root       1344500 Sep  3 18:51 libgcc_s.so.1
  -rwxr--r--    1 root     root         92168 Sep  3 18:51 libm.so.0
  -rwxr--r--    1 root     root        113786 Sep  3 18:51 libpthread.so.0
  -rwxr--r--    1 root     root         19328 Sep  3 18:51 librt.so.0
  -rwxr--r--    1 root     root       4079041 Sep  3 18:51 libstdc++.so.6
然后

尝试3:

root@unknown:/# cd /opt
root@unknown:/opt# wget node-v4.2.1-linux-armv7l.tar.gz
root@unknown:/opt# tar zxvf node-v4.2.1-linux-armv7l.tar.gz
root@unknown:/opt# cd node-v4.2.1-linux-armv7l/bin
root@unknown:/opt/node-v4.2.1-linux-armv7l/bin# ls -l
  -rwxr-xr-x    1 root     root      20958710 Sep 23 03:55 node
  lrwxrwxrwx    1 root     root            38 Sep 24 17:47 npm -> ../lib/node_modules/npm/bin/npm-cli.js
root@unknown:/opt/node-v4.2.1-linux-armv7l/bin# ./node
  -sh: ./node: not found
我安装了Optware ng()

结果:

/opt/node-v4.2.1/out/Release/obj.target/deps/gtest/libgtest.a(gtest.o): In function `testing::UnitTest::GetInstance()':
gtest.cc:(.text._ZN7testing8UnitTest11GetInstanceEv+0x78): undefined reference to `atexit'
collect2: error: ld returned 1 exit status
cctest.target.mk:118: recipe for target '/opt/node-v4.2.1/out/Release/cctest' failed
make[1]: *** [/opt/node-v4.2.1/out/Release/cctest] Error 1
make[1]: Leaving directory '/opt/node-v4.2.1/out'
Makefile:45: recipe for target 'node' failed
make: *** [node] Error 2
尝试4:

root@unknown:/# cd /opt
root@unknown:/opt# wget node-v4.2.1-linux-armv7l.tar.gz
root@unknown:/opt# tar zxvf node-v4.2.1-linux-armv7l.tar.gz
root@unknown:/opt# cd node-v4.2.1-linux-armv7l/bin
root@unknown:/opt/node-v4.2.1-linux-armv7l/bin# ls -l
  -rwxr-xr-x    1 root     root      20958710 Sep 23 03:55 node
  lrwxrwxrwx    1 root     root            38 Sep 24 17:47 npm -> ../lib/node_modules/npm/bin/npm-cli.js
root@unknown:/opt/node-v4.2.1-linux-armv7l/bin# ./node
  -sh: ./node: not found
我安装了Debian,并在其中安装了nodejs

root@unknown:/# debian enter
root@unknown:/# apt-get update && apt-get upgrade
root@unknown:/# apt-get install nodejs
root@unknown:/# nodejs -v
v4.1.1
root@unknown:/# nodejs
Illegal instruction

你能告诉我我做错了什么吗?

粗略猜测,你的节点和/或库的构建依赖于浮点支持,而你的内核似乎没有浮点支持。如果内核没有打开FPU硬件,指令将是未定义的。是否可以自己添加FPU支持?粗略猜测,节点和/或库的构建依赖于浮点支持,而内核似乎没有浮点支持。如果内核没有打开FPU硬件,那么指令将是未定义的。是否可以自己添加FPU支持?