Root-NFS: Server returned error -13 while mounting /home

1、出现的问题:在开发板上挂载网络文件系统,修改之前的属性:

set bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.106:/home/gab/work/root_fs/fs_mini_mdev ip=192.168.1.17:192.168.1.106:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0 

2、补充一下,设置bootargs noinitrd的模式为:

root=/dev/nfs
nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
init=/linuxrc console=ttySAC0

3、reset重启uboot,跳过uboot,加载linux内核后,启动文件系统报错:

Root-NFS: Server returned error -13 while mounting /home
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00        256 mtdblock0 (driver?)
1f01        128 mtdblock1 (driver?)
1f02       2048 mtdblock2 (driver?)
1f03     259712 mtdblock3 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

3、解决方案:
exportfs -a //用来加载所有文件系统
发现设置的共享文件系统目录不支持 NFS export

root@iBOY-ARM:/home/gab# exportfs -a
exportfs: /home/gab/work/root_fs/fs_mini_mdev does not support NFS export

我的分析:
因为该目录位于gab用户下,我试过将该共享目录放在非用户目录下就可以了,将/home/gab/work/root_fs/fs_mini_mdev 复制到 /home目录下,然后在/etc/exports文件里添加:

/home/fs_mini_mdev *(rw,sync,no_subtree_check)

重新 exportfs -a 加载就没问题了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误是由于链接器(ld)返回了1的退出状态,通常是由于链接器无法找到或链接某些库文件所致。 你可以检查以下几点: 1. 检查你的代码中是否存在语法错误,确保所有的变量、函数和库文件都正确引用和声明。 2. 确保你的代码中使用的所有库文件都已正确安装,并且路径已经正确设置。 3. 检查你的编译器和链接器的版本是否兼容,如果不兼容可能会导致错误。 如果以上方法都不行,你可以尝试使用其他编译器来编译你的代码或者在编译时添加-l参数来指定链接库。 ### 回答2: collect2.exe:-1: error: error: ld returned 1 exit status是一种编译错误,在对源代码进行编译链接时出现了问题。collect2.exe是GNU编译器的链接器部分。ld返回1表示链接过程中存在错误,无法成功生成可执行文件。 出现这个错误的原因可能有很多,以下是一些常见的可能原因和解决方法: 1. 缺少库文件:可能由于缺少所需的库文件,导致链接失败。可以检查程序所依赖的库文件是否正确安装,并确保链接器能够找到这些库文件。 2. 函数定义重复:如果在多个源文件中定义了相同的函数,链接器可能会报错。可以检查是否在多个源文件中定义了相同的函数,若有重复,需要解决函数定义冲突。 3. 编译选项错误:编译选项设置不正确也可能导致链接错误。可以检查编译选项是否设置正确,包括库文件路径、头文件路径等。 4. 编译器版本不兼容:如果使用的编译器版本不兼容,可能会导致链接错误。可以尝试更新或更换编译器版本。 5. 代码错误:源代码中可能存在语法错误或逻辑错误,导致链接失败。可以仔细检查代码,修复错误。 总之,要解决collect2.exe:-1: error: error: ld returned 1 exit status错误,需要仔细检查代码、编译选项和库文件等相关因素,逐一排查可能的问题,并根据具体情况采取相应的解决方法。 ### 回答3: collect2.exe:-1: error: error: ld返回1退出状态。 这个错误通常是由于编译器无法找到所需的库文件或链接器发生了一些问题导致的。ld是GNU链接器的命令,它用于将已编译的目标文件链接并生成可执行文件。 此错误可能的原因有: 1. 缺少所需的库文件:编译器无法找到所需的库文件,导致链接失败。解决方法是确保库文件存在,并使用正确的标志将其链接到程序中。 2. 重复定义符号:代码中可能有重复定义的符号,例如,两个函数具有相同的名称。此错误可能会导致链接器无法确定引用哪个符号。解决方法是确保代码中没有重复定义的符号。 3. 编译器或链接器版本不兼容:某些情况下,编译器和链接器版本不兼容可能会导致此错误。解决方法是使用兼容的版本或更新编译器和链接器。 4. 编译选项错误:某些编译选项可能导致链接错误。例如,使用了错误的标志或选项。检查编译选项并确保其正确配置。 5. 代码错误:代码中可能存在错误,例如,语法错误或类型不匹配等问题,导致链接错误。解决方法是检查代码并修复错误。 总之,要解决collect2.exe:-1: error: error: ld returned 1 exit status错误,我们需要检查库文件、符号定义、版本兼容性、编译选项和代码等方面,找到并解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值