CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 16077|回复: 10

求救:释放CB2 NAND 剩余空间 - 解决

[复制链接]
发表于 2013-11-9 14:56:30 | 显示全部楼层 |阅读模式
本帖最后由 sweesin 于 2013-11-9 17:19 编辑

最近我的CB2 NAND 空间开始不够了,
查看df -hl 才知道之前的镜像才用了2Gig。

Filesystem      Size  Used Avail Use% Mounted on
/dev/nandd      2,0G  1,1G  851M  56% /
none            4,0K     0  4,0K   0% /sys/fs/cgroup
none             91M  368K   91M   1% /run
none            5,0M     0  5,0M   0% /run/lock
none            454M     0  454M   0% /run/shm
none            100M     0  100M   0% /run/user
overflow        1,0M     0  1,0M   0% /tmp

爬过很多文,试用nand-part

root@cubieboard:/home/linaro# ./nand-part

check partition table copy 0: mbr: version 0x00000200, magic softw411
OK
check partition table copy 1: mbr: version 0x00000200, magic softw411
OK
check partition table copy 2: mbr: version 0x00000200, magic softw411
OK
check partition table copy 3: mbr: version 0x00000200, magic softw411
OK
mbr: version 0x00000200, magic softw411
5 partitions
partition  1: class =         DISK, name =   bootloader, partition start =    32768, partition size =    65536 user_type=0
partition  2: class =         DISK, name =          env, partition start =    98304, partition size =    32768 user_type=0
partition  3: class =         DISK, name =         boot, partition start =   131072, partition size =    65536 user_type=0
partition  4: class =         DISK, name =       rootfs, partition start =   196608, partition size =  4194304 user_type=0
partition  5: class =         DISK, name =        UDISK, partition start =  4390912, partition size =  3342336 user_type=0

当我用./nand-part /dev/nand "env 32768" "boot 65536" "rootfs 7536640" "swap 0" 来增大rootfs,却不能。
  1. root@cubieboard2:~/compiler/sunxi-tools# ./nand-part /dev/nand "env 32768" "boot 65536" "rootfs 7536640" "swap 0"
  2. check partition table copy 0: mbr: version 0x00000200, magic softw411
  3. magic softw411 is not softw311
  4. check partition table copy 1: mbr: version 0x00000000, magic
  5. magic          is not softw311
  6. check partition table copy 2: mbr: version 0x00000000, magic
  7. magic          is not softw311
  8. check partition table copy 3: mbr: version 0x00000000, magic
  9. magic          is not softw311
  10. all partition tables are bad!
  11. check partition table copy 0: mbr: version 0x00000200, magic softw411
  12. OK
  13. check partition table copy 1: mbr: version 0x00000200, magic softw411
  14. OK
  15. check partition table copy 2: mbr: version 0x00000200, magic softw411
  16. OK
  17. check partition table copy 3: mbr: version 0x00000200, magic softw411
  18. OK
  19. mbr: version 0x00000200, magic softw411
  20. 5 partitions
  21. partition  1: class =         DISK, name =   bootloader, partition start =    32768, partition size =    65536 user_type=0
  22. partition  2: class =         DISK, name =          env, partition start =    98304, partition size =    32768 user_type=0
  23. partition  3: class =         DISK, name =         boot, partition start =   131072, partition size =    65536 user_type=0
  24. partition  4: class =         DISK, name =       rootfs, partition start =   196608, partition size =  4194304 user_type=0
  25. partition  5: class =         DISK, name =        UDISK, partition start =  4390912, partition size =  3342336 user_type=0
  26. Partition 1 starting offset must be at least 128
复制代码
各位大大有什么办法吗?
谢谢

回复

使用道具 举报

 楼主| 发表于 2013-11-9 17:18:19 | 显示全部楼层
搞了好久。。终于解决了。。{:soso_e182:}
原来少了这个“32768”。。。这是告诉nand-part第一个partition start。
  1. ./nand-part -f a20 /dev/nand 32768 "bootloader 65536" "env 32768" "boot 65536" "rootfs 7536640"
复制代码
步骤如下
1。从SD卡进入CB2
2。查看nand的结构
  1. root@cubieboard2:~/# ./nand-part -f a20 /dev/nand
  2. check partition table copy 0: mbr: version 0x00000200, magic softw411
  3. OK
  4. check partition table copy 1: mbr: version 0x00000200, magic softw411
  5. OK
  6. check partition table copy 2: mbr: version 0x00000200, magic softw411
  7. OK
  8. check partition table copy 3: mbr: version 0x00000200, magic softw411
  9. OK
  10. mbr: version 0x00000200, magic softw411
  11. 5 partitions
  12. partition  1: class =         DISK, name =   bootloader, partition start =    32768, partition size =    65536 user_type=0
  13. partition  2: class =         DISK, name =          env, partition start =    98304, partition size =    32768 user_type=0
  14. partition  3: class =         DISK, name =         boot, partition start =   131072, partition size =    65536 user_type=0
  15. partition  4: class =         DISK, name =       rootfs, partition start =   196608, partition size =  4194304 user_type=0
  16. partition  5: class =         DISK, name =        UDISK, partition start =  4390912, partition size =  3342336 user_type=0
复制代码
3。nand-part命令是:
  1. root@cubieboard2:~/# ./nand-part -f a20 /dev/nand 32768 "bootloader 65536" "env 32768" "boot 65536" "rootfs 7536640"
复制代码
4。再来就是resize2fs
  1. root@cubieboard2:~/# fsck -f /dev/nandd
  2. root@cubieboard2:~/# resize2fs /dev/nandd
复制代码
最后检查看:
  1. root@cubieboard:~# df -hl
  2. Filesystem      Size  Used Avail Use% Mounted on
  3. /dev/nandd      3.7G  939M  2.6G  27% /
  4. none            4.0K     0  4.0K   0% /sys/fs/cgroup
  5. none             91M  180K   91M   1% /run
  6. none            5.0M  4.0K  5.0M   1% /run/lock
  7. none            454M     0  454M   0% /run/shm
  8. none            100M     0  100M   0% /run/user
复制代码
希望可以帮到有必要的人。





回复 支持 反对

使用道具 举报

发表于 2013-11-10 20:51:04 | 显示全部楼层
请问这是linux的还是Android的
回复 支持 反对

使用道具 举报

发表于 2013-11-27 21:42:26 | 显示全部楼层
哈哈 CT3的板子 刷官方的lubuntu 参考这帖 扩容成功了
二楼很有用 不过要做做加减乘除才能看懂
命令中的有些参数要根据自己nand的大小和分区的不同做一点变动
回复 支持 反对

使用道具 举报

发表于 2013-11-27 22:57:51 | 显示全部楼层
本帖最后由 staalu 于 2013-11-27 23:01 编辑

写一下过程好了 不过我也linux菜鸟 英文基本看不懂 命令基本靠猜
以下命令请全部在root权限下执行
并且请事先准备好一张sd卡并在上面装好linux 你不能在当前挂载着的分区上扩容的

fdisk -l
看看有哪些分区
nand目测应该是 nanda nandb nandc ...等等 自己数数有几个 从nanda开始 第一个nand是整个储存器 不算
我的CT上只有nanda nandb nandc 三个区 楼主的有五个

然后
apt-get install nand-part
这是在安装nand-part分区工具 装好之后 按照楼主二楼写的

nand-part -f a20 /dev/nand
那个a20我猜是cpu型号 cb2和ct都是a20 cb1的话 可能要改成a10?
然后会返回一堆东西 以楼主返回来说明好了
前面几行看不懂 有人讲解一下吗?
不过不重要 重要的是从这里开始
  1. 5 partitions
  2. partition  1: class =         DISK, name =   bootloader, partition start =    32768, partition size =    65536 user_type=0
  3. partition  2: class =         DISK, name =          env, partition start =    98304, partition size =    32768 user_type=0
  4. partition  3: class =         DISK, name =         boot, partition start =   131072, partition size =    65536 user_type=0
  5. partition  4: class =         DISK, name =       rootfs, partition start =   196608, partition size =  4194304 user_type=0
  6. partition  5: class =         DISK, name =        UDISK, partition start =  4390912, partition size =  3342336 user_type=0
复制代码
先注意看 前面三个区的名字
name = bootloader
name = env
name = boot
第一个bootloader好像是系统一开始引导启动的分区 然后env和boot这两个分区不知道是干嘛的
我ct的板子上只有第一个bootloader分区 没有env和boot这两个分区
总之这种分区看上去就很屌的样子 碰了估计系统就毁了 所以别去碰
然后是第四个分区 name = rootfs 然后你看看这个分区的大小 size = 4194304
先做下除法  4194304÷2÷1024=2048 楼主这里是2048 也就是2G
你机器上就不一定了 总之这个结果要跟你在系统里看到的你系统磁盘总空间一样大才行 不一样大的话别乱动
(顺便 感觉这个数字的单位应该是类似机械硬盘上的"簇"的概念)
这样就确定了这个就是要扩容的磁盘 而扩容的空间就从第五个分区name = UDISK 上来
这个分区不知道干嘛的 目测是原生的安卓系统挂载的那个sdcard的分区
注意看这个分区的大小 size = 3342336
然后把要扩容的分区和扩容的空间的大小相加 楼主这例子里是第四个分区和第五个分区相加
4194304 + 3342336 = 7536640
紫字就是把第五个分区合并进第四个分区后 第四个分区的大小了
再来回头看一下楼主之前的分区状态
partition  1: class =         DISK, name =   bootloader, partition start =    32768, partition size =    65536 user_type=0
partition  2: class =         DISK, name =          env, partition start =    98304, partition size =    32768 user_type=0
partition  3: class =         DISK, name =         boot, partition start =   131072, partition size =    65536 user_type=0
partition  4: class =         DISK, name =       rootfs, partition start =   196608, partition size =  4194304 user_type=0
partition  5: class =         DISK, name =        UDISK, partition start =  4390912, partition size =  3342336 user_type=0

好了 这下可以执行改变分区的命令了 来看看楼主这个分区命令
nand-part -f a20 /dev/nand 32768 "bootloader 65536" "env 32768" "boot 65536" "rootfs 7536640"
自己看看颜色 现在知道命令中这些数字应该是多少了吧 自己弄的时候要注意跟自己nand上所对应的已有分区要一样

执行完这个命令后先重启
然后下面的两个命令就必须在从sd卡上启动的系统里做了
fsck -f /dev/nandd
resize2fs /dev/nandd
注意红字部分 因为楼主扩容的是第四个分区 所以是  abcdefg......
自己注意用这命令的时候根据自己nand卡上的情况进行调整
都执行完之后再重启  应该就行了

































回复 支持 反对

使用道具 举报

发表于 2013-11-27 23:05:47 | 显示全部楼层
还没开始学nand,记录一下
回复 支持 反对

使用道具 举报

发表于 2013-12-6 21:54:04 | 显示全部楼层
收藏了
回复 支持 反对

使用道具 举报

发表于 2013-12-6 23:51:14 | 显示全部楼层
staalu 发表于 2013-11-27 22:57
写一下过程好了 不过我也linux菜鸟 英文基本看不懂 命令基本靠猜
以下命令请全部在root权限下执行
并且请事 ...

按照你写的 设置完后 开不了机
回复 支持 反对

使用道具 举报

发表于 2013-12-6 23:59:41 | 显示全部楼层
sweesin 发表于 2013-11-9 17:18
搞了好久。。终于解决了。。
原来少了这个“32768”。。。这是告诉nand-part第一个partition  ...

sd卡根本进不了nand-part啊
回复 支持 反对

使用道具 举报

发表于 2013-12-7 14:29:34 | 显示全部楼层
你什麽板子 先用這個命令看看目前的分區狀況 貼上來
nand-part -f a20 /dev/nand
A20記得改成你自己CPU的型號 A10改成A10
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-11-23 04:46 , Processed in 0.025621 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部