rootfs和/dev/root满了,如何解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rootfs和/dev/root满了,如何解决?相关的知识,希望对你有一定的参考价值。

WDMyCloud:~# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 1.9G 1.9G 0 100% /
/dev/root 1.9G 1.9G 0 100% /
tmpfs 23M 404K 23M 2% /run
tmpfs 40M 4.0K 40M 1% /run/lock
tmpfs 10M 0 10M 0% /dev
tmpfs 5.0M 0 5.0M 0% /run/shm
tmpfs 100M 148K 100M 1% /tmp
/dev/root 1.9G 1.9G 0 100% /var/log.hdd
ramlog-tmpfs 20M 2.4M 18M 12% /var/log
我现在干什么都说no space left on device,请问如何解决?

参考技术A 必须对每个文件确定再删除追问

不好意思,我对linux没有任何了解,请问如何确定?

本回答被提问者采纳

嵌入式 emmc 中 安装 烧录 内核 kernel,设备树 devicetree ,根文件系统 rootfs

  一般调试嵌入式开发板喜欢选择  利用 TFTP 传送  内核与 设备树,  利用 nfs 加载根文件系统。

uboot 环境变量 设置如下:

  bootargs=root=/dev/nfs rw nfsroot=192.168.1.4:/exports/rfs ip=192.168.1.200 video=HDMI-A-2:1280x800

  Bootcmd  tftp 0x48080000 Image;tftp 0x48000000 XXXXXXXXXXX.dtb;booti 0x48080000 - 0x48000000

  如果内核调试完成 ,不再需要利用上位机调试,可以把 Image dtb rootfs 烧录到板子的emmc中或者SD卡中,快速启动。

uboot环境变量 设置如下: 

  bootargs=root=/dev/mmcblk0p2 video=HDMI-A-2:1280x800 console=ttySC0

  bootcmd \'ext4load mmc 1:1 0x48080000 Image;ext4load mmc 1:1 0x48000000 r8a7795-salvator-xs.dtb;booti 0x48080000 - 0x48000000\'

  其中 exit4load 为uboot自带的程序 可以在uboot 命令 敲? 查看 。ext4load mmc 1:1 0x48080000 Image 

     (Image  *.dtb 为已经烧录到emmc中的文件   1:1 为第一个mmc下的第一个分区 p1   前提是分区 p1 已经格式化为 ext4 系统)

TIPS :

   可以将bootcmd赋值为run bootcmd_xxx  就可以轻松的切换启动方式,比如要nfs启动,就在uboot中设置 set bootcmd run bootcmd_nfs,然后保存重启就可以了,emmc启动也是同理。

 

格式化工具为 e2fsprogs     地址 https://sourceforge.net/projects/e2fsprogs/?source=typ_redirect

tar -zxvf /mnt/hgfs/linuxbak/e2fsprogs-1.43.7.tar.gz

sourc 交叉工具编译脚本 

生成 makefile   ./configure --host=aarch64-poky-linux --prefix=/exports/rfs/usr

make install

 

 

  NFS 进入系统》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

  

首先需要使用fdisk 进行emmc 分区:

  fdisk /dev/mmcblk0
(  分区的大小   依据 自己的 emmc 大小 进行分区  )
Command (m for help): m        ---输入m获取fdisk工具的使用说明
Command (m for help): n                      ---输入n创建新的分区
Select (default p): p               ---输入p创建primary分区
Partition number (1-4, default 1): 1           ---输入分区号
First sector (2048-31116287, default 2048):              ---输入该分区的起始地址,回车使用默认值
Last sector, +sectors or +size{K,M,G} (2048-31116287, default 31116287): 10000000           ---输入该分区的结束地址

Command (m for help): n         ---创建第二个分区
Partition type: 
p primary (1 primary, 0 extended, 3 free) 
e extended 
Select (default p): p 
Partition number (1-4, default 2): 2 
First sector (10000001-31116287, default 10000001): 
Using default value 10000001 
Last sector, +sectors or +size{K,M,G} (10000001-31116287, default 31116287): 20000000 

Command (m for help): p       ---打印mmcblk0的分区情况

Command (m for help): w                   ---保存分区设置并退出

<<<<<<<<<<<<<<<<<<<<<<<<<< EMMC 分区完成 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

。。。。。。。。。。。。。。给分区格式化 文件系统  。。。。。。。。。。。。。。。。。。。。。。。

格式化FAT32

mkfs.vfat -F 32 /dev/sdb1

格式化ext
mkfs.ext4 /dev/mmcblk0p1  

mkfs.ext4 /dev/mmcblk0p2   给  分区 1   分区 2  格式化   ext4 系统   

mount 分区 

mkdir  /mnt/emmc1

mkdir /mnt/emmc2

mount  /dev/mmcblk0p1 /mnt/emmc1

mount /dev/mmcblk0p2 /mnt/emmc2

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

通过  NFS 登录 linux 系统中 ,

把  包含  Image dtb  文件 拷贝到    /mnt/emmc1 中 

把  根文件目录  拷贝到  /mnt/emmc2 中 

完成 emmc 烧录 。

至此   修改 uboot 启动  args  完成  emmc 启动 内核 ,加载 emmc中的文件系统 。

 

参考网址  : 

  http://blog.csdn.net/u011975319/article/details/51803126

  https://www.cnblogs.com/zero2nine/p/5138950.html

 

以上是关于rootfs和/dev/root满了,如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

解决/dev/mapper/centos-root 空间满了的问题

/dev/root file system full unix根文件系统满了

docker /dev/mapper/centos-root 空间满了,怎么办

docker /dev/mapper/centos-root 空间满了,怎么办

docker /dev/mapper/centos-root 空间满了,怎么办

/dev/mapper/cl-root占用到达100%的解决方法