DS220j 安装gcc

用户试图在群晖DS220j设备上通过SSH安装GCC,以便进行ARM64的neon编程。他们遇到了使用AndroidNDK交叉编译的问题,然后选择直接在设备上安装GCC。经过长时间的下载和安装过程,最终成功安装了GCC,但发现命令未找到。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

近来学习了一下ARM64的neon编程,想找个硬件实际测试一下。发现我的群晖DS220j就是基于ARM64的,原本是用android-ndk-r25c\toolchains\llvm\prebuilt\windows-x86_64交叉编译的,结果发现编出来的a.out 无法运行,显示“-sh: ./a.out: No such file or directory” 。所以就想着直接在DS220j上装个gcc。

过程:

参考了这篇文章 

群晖ds216j 安装gcc | FelixBlog

首先当然是通过ssh登录DS220j了,此处略过。

后面步骤

1. 切换到root账号

sudo -i

2. 切换到临时目录,下载一个脚本 buildroot-armeabihf-bootstrap.sh,并添加可执行权限

cd /volume1/@tmp
wget http://ipkg.nslu2-linux.org/optware-ng/bootstrap/buildroot-armeabihf-bootstrap.sh .
chmod +x buildroot-armeabihf-bootstrap.sh

3. 执行脚本

./buildroot-armeabihf-bootstrap.sh

这步sh执行特别特别慢,因为下载速度实在太慢了。我没有弄代理,所以下载了一夜。大家做好心理准备。

执行结果

root@DS220j:/volume1/@tmp# ./buildroot-armeabihf-bootstrap.sh
--2023-03-18 19:06:25--  http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/ipkg-static_0.2.4-3_arm.ipk
Resolving ipkg.nslu2-linux.org... 2620:139:a000::c1, 23.141.224.193
Connecting to ipkg.nslu2-linux.org|2620:139:a000::c1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 376785 (368K) [text/plain]
Saving to: '/tmp/ipkg-static_0.2.4-3_arm.ipk'

/tmp/ipkg-static_0.2.4-3_arm.  86%[==========================================>       ] 317.19K  --.-KB/s    in 19m 25s

2023-03-18 19:25:54 (279 B/s) - Read error at byte 324800/376785 (Connection timed out). Retrying.

--2023-03-18 19:25:55--  (try: 2)  http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/ipkg-static_0.2.4-3_arm.ipk
Connecting to ipkg.nslu2-linux.org|2620:139:a000::c1|:80... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 376785 (368K), 51985 (51K) remaining [text/plain]
Saving to: '/tmp/ipkg-static_0.2.4-3_arm.ipk'

/tmp/ipkg-static_0.2.4-3_arm. 100%[+++++++++++++++++++++++++++++++++++++++++++======>] 367.95K  2.58KB/s    in 20s

2023-03-18 19:26:15 (2.58 KB/s) - '/tmp/ipkg-static_0.2.4-3_arm.ipk' saved [376785/376785]

./data.tar.gz
./
./opt/
./opt/bin/
./opt/bin/ipkg-static
./opt/bin/ipkg
./opt/bin/update-alternatives
./opt/var/
./opt/var/lock/
./opt/share/
./opt/share/man/
./opt/share/man/man1/
./opt/share/man/man1/opkg-cl.1
./opt/share/opkg/
./opt/share/opkg/intercept/
./opt/share/opkg/intercept/update-modules
./opt/share/opkg/intercept/depmod
./opt/share/opkg/intercept/ldconfig
./opt/etc/
./opt/etc/ipkg/
./opt/etc/ipkg/ipkg.conf
./opt/etc/ipkg.conf
Bootstraping done
Installing glibc-locale package to generate needed /opt/lib/locale/locale-archive
=================================================================================
Downloading http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/Packages.gz.
Inflating http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/Packages.gz.
Updated list of available packages in /opt/lib/ipkg/lists/optware-ng.
Installing glibc-locale (2.25-5) on /opt/.
Downloading http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/glibc-locale_2.25-5_arm.ipk.
Installing glibc-opt (2.25-1) on /opt/.
Downloading http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/glibc-opt_2.25-1_arm.ipk.
Installing libnsl (2.25-1) on /opt/.
Downloading http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/libnsl_2.25-1_arm.ipk.
Installing gconv-modules (2.25-4) on /opt/.
Downloading http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/gconv-modules_2.25-4_arm.ipk.
Configuring libnsl.
Configuring glibc-opt.
Configuring gconv-modules.
Configuring glibc-locale.
Generating locale-archive with default locales ... Done
=================================================================================
Removing glibc-locale package to save space: this doesn't remove generated /opt/lib/locale/locale-archive
Removing package glibc-locale from /opt/...
root@DS220j:/volume1/@tmp#

4. 升级ipkg

/opt/bin/ipkg update

 执行结果

root@DS220j:/volume1/@tmp# /opt/bin/ipkg update
Downloading http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/Packages.gz.
Inflating http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/Packages.gz.
Updated list of available packages in /opt/lib/ipkg/lists/optware-ng.
root@DS220j:/volume1/@tmp#

 5. 安装gcc

/opt/bin/ipkg install gcc

这一步也很慢,download了很久。所以最好有个好网络

执行结果

  root@DS220j:/volume1/@tmp# /opt/bin/ipkg install gcc
Installing gcc (7.2.0-7) on /opt/.
Downloading http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/gcc_7.2.0-7_arm.ipk.
Installing libgmp (6.1.2-1) on /opt/.
Downloading http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/libgmp_6.1.2-1_arm.ipk.
Installing libmpfr (3.1.3-1) on /opt/.
Downloading http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/libmpfr_3.1.3-1_arm.ipk.
Installing libmpc (1.0.2-1) on /opt/.
Downloading http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/libmpc_1.0.2-1_arm.ipk.
Installing zlib (1.2.11-2) on /opt/.
Downloading http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/zlib_1.2.11-2_arm.ipk.
Configuring libgmp.
Configuring libmpfr.
Configuring libmpc.
Configuring zlib.
Configuring gcc.
root@DS220j:/volume1/@tmp# gcc
-ash: gcc: command not found
root@DS220j:/volume1/@tmp# /opt/bin/gcc
gcc: fatal error: no input files
compilation terminated.
root@DS220j:/volume1/@tmp# exit
logout

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值