全志V3s之NFS连接ubuntu22.04

1、问题一:

c 复制代码
[  100.329728] VFS: Unable to mount root fs via NFS, trying floppy.
[  100.336262] VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6
[  100.343580] Please append a correct "root=" boot option; here are the available partitions:
[  100.351978] b300        15558144 mmcblk0
[  100.351982]  driver: mmcblk
[  100.358777]   b301           32768 mmcblk0p1 0edd73af-01
[  100.358779]
[  100.365591]   b302        15523840 mmcblk0p2 0edd73af-02
[  100.365593]
[  100.372399] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[  100.380655] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.2.0-licheepi-zero+ #4
[  100.387777] Hardware name: Allwinner sun8i Family
[  100.392510] [<c010ed14>] (unwind_backtrace) from [<c010b72c>] (show_stack+0x10/0x14)
[  100.400251] [<c010b72c>] (show_stack) from [<c0734290>] (dump_stack+0x84/0x98)
[  100.407472] [<c0734290>] (dump_stack) from [<c011dddc>] (panic+0x110/0x2fc)
[  100.414431] [<c011dddc>] (panic) from [<c0a0136c>] (mount_block_root+0x1a0/0x288)
[  100.421908] [<c0a0136c>] (mount_block_root) from [<c0a01598>] (mount_root+0x144/0x160)
[  100.429817] [<c0a01598>] (mount_root) from [<c0a01704>] (prepare_namespace+0x150/0x194)
[  100.437815] [<c0a01704>] (prepare_namespace) from [<c074c6e4>] (kernel_init+0x8/0x10c)
[  100.445727] [<c074c6e4>] (kernel_init) from [<c01010e8>] (ret_from_fork+0x14/0x2c)
[  100.453284] Exception stack(0xc3833fb0 to 0xc3833ff8)
[  100.458331] 3fa0:                                     00000000 00000000 00000000 00000000
[  100.466498] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  100.474664] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[  100.481283] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) ]---

出现以上问题,主要是NFS版本的问题。

NFS是一种网络文件系统,它允许计算机通过网络共享文件和目录。

在Linux内核中,NFS实现作为内核模块存在,可以在需要时加载。NFS在Linux内核的许多版本中都得到了支持,从2.0版本开始就有了NFSv2,2.2版本开始支持NFSv3,2.6版本开始支持NFSv4。此外,还有一些可选的NFS相关内核模块,例如nfsd(NFS服务器),nfs_acl(NFS访问控制列表)和lockd(NFS文件锁定)。这些模块可以通过编译内核或者作为模块编译后加载到内核中,以提供支持NFS所需的功能。因此,具体使用哪个版本的内核取决于您的应用程序和环境需要的功能和兼容性。

默认情况下,在 Ubuntu 22.04 上禁用 NFS 版本 2。 版本 3 和 4 已启用。为使用NFS进行连接,可以使用以下指令进行设置:

c 复制代码
console=ttyS0,115200 root=/dev/nfs nfsroot=XXXXXXXXX:XXXXXXXXX/nfs/rootfs,v3 proto=tcp rw ip=XXXXXXXXXXXXXXXXXXX::eth0:off init=/linuxrc 

xxxxxx改为自己的IP即可。

2、问题二:

c 复制代码
[    4.610226] Run /linuxrc as init process
[    4.662182] random: fast init done
mount: you must be root
mount: you must be root
mkdir: can't create directory '/dev/pts': Permission denied
mkdir: can't create directory '/dev/shm': Permission denied
mount: you must be root
hostname: sethostname: Operation not permitted
Starting logging: OK
Initializing random number generator... [    5.634798] random: dd: uninitialized urandom read (512 bytes read)
done.
Starting network: ip: RTNETLINK answers: Operation not permitted
FAIL
can't open /dev/console: Permission denied
can't open /dev/console: Permission denied
can't open /dev/console: Permission denied
can't open /dev/console: Permission denied
can't open /dev/console: Permission denied
can't open /dev/console: Permission denied

出现以上问题,主要是由于初始化时权限不够造成的,可以在U-Boot环境变量的bootargs变量中添加init=/linuxrc 并将linuxrc文件的权限设置为777

相关推荐
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5203 天前
Linux 11 动态监控指令top
linux
小宇宙Zz3 天前
Maven依赖冲突
java·服务器·maven