问题描述
dw33d 路由器装了 pandorabox 固件,opkg.conf 中设置了 dest root /mnt/sda1。在使用 opkg 安装软件时,会报错 Cannot create symlink。
Collected errors:
* extract_archive: Cannot create symlink from ./usr/lib/liblzo2.so to 'liblzo2.so.2.0.0': Operation not permitted.
* extract_archive: Cannot create symlink from ./usr/lib/liblzo2.so.2 to 'liblzo2.so.2.0.0': Operation not permitted.
* extract_archive: Cannot create symlink from ./usr/lib/libmbedcrypto.so to 'libmbedcrypto.so.2': Operation not permitted.
* extract_archive: Cannot create symlink from ./usr/lib/libmbedcrypto.so.2 to 'libmbedcrypto.so.2.9.0': Operation not permitted.
* extract_archive: Cannot create symlink from ./usr/lib/libmbedtls.so to 'libmbedtls.so.10': Operation not permitted.
* extract_archive: Cannot create symlink from ./usr/lib/libmbedtls.so.10 to 'libmbedtls.so.2.9.0': Operation not permitted.
* extract_archive: Cannot create symlink from ./usr/lib/libmbedx509.so to 'libmbedx509.so.0': Operation not permitted.
* extract_archive: Cannot create symlink from ./usr/lib/libmbedx509.so.0 to 'libmbedx509.so.2.9.0': Operation not permitted.
解决方案
这是因为 sd 卡默认格式化为 exfat 格式,这个不支持软连接,格式化为 ext4 即可解决该问题。
首先安装 mkfs ,先把 /etc/opkg.conf 中的 dest root /mnt/sda1 改为 dest root / 。
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
然后执行命令安装 e2fsprogs 。
opkg update
opkg install e2fsprogs
重启路由器。
取消挂载 sd 卡。
umount /dev/sda1
格式化为 ext4。
mkfs.ext4 /dev/sda1
挂载 sd 卡。
mount
修改 /etc/opkg.conf 中的 dest root / 为 dest root /mnt/sda1
dest root /mnt/sda1
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
然后就可以安装软件到 sd 卡中。
文章评论