CubieBoard中文论坛

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

对cubieboard板上nand flash重新分区

[复制链接]
发表于 2013-4-5 21:23:37 | 显示全部楼层 |阅读模式
本帖最后由 eignil 于 2013-4-5 21:30 编辑

作为一个新手,折腾了好久,终于知道怎么分区了。
将linux装到cubieboard板上的NAND flash时需要对其进行重新分区。
sunxi-tools 下的工具“nand-part”可用来完成这个工作。
(也可以说是重写MBR,似乎之前"nand-part"官方命名就叫MBR)
默认NAND flash上是烧的Android,因此是Android所用的分区。
http://cn.cubieboard.org/forum.php?mod=viewthread&tid=127

但是这个工具比较蛋疼的一点是要在板上运行的linux上才能用。
详见http://linux-sunxi.org/Sunxi-tools

要用这个工具之前当然是要把它build出来。有两种方法:
1.在PC上交叉编译。
2.在cubieboard上跑着的linux上build(SD卡上的系统).
由于在PC上交叉编译后也要有一个能从SD起来的系统来操作,因此最方便的还是直接从cubieboard上的linux来build。

下面就详细介绍下怎么build这个工具,及怎么用它来分区。

先决条件:
1.位于SD卡上可用的linux操作系统。这里用的是lubuntu。
2.系统可顺利连上网

步骤(下面的步骤都是在cubieboard跑的系统上进行的操作):
一.安装环境
    1. 安装git,用于从github上抓sunxi-tools的code.
       sudo apt-get install git
    2. 安装编译环境,make,gcc 等。Debian系列直接装build-essential就是。
       sudo apt-get install  build-essential
       (由于已经是在ARM系统上因此不需要装交叉编译的工具,默认的已经是用于ARM平台的编译器)
    3.安装sunxi-tools所需要的library libusb-1.0和用它需要的pkg-config。这一步其实并不是必需的,因为nand-part并不需要这个usb的library,也不需要pkg-config。如果跳过这一步,需要将makefile里边TOOLS这个变量的nand-part这个值拿到前面,或者直接只保留这一个值。不然build到fel出错后就跳出,不会build nand-part了。
       sudo apt-get install pkg-config libusb-1.0
二. build出可执行文件
    4.抓取sunxi-tools源码。先找一个有权限的目录。
      git clone https://github.com/linux-sunxi/sunxi-tools.git
    5. 进入源码目录开始build.
      cd sunxi-tools
      make all

      如果这一步顺利完成,在目录下应该可以看到 nand-part这个文件。如果有错误,可看看第三步。
三. 分区
    6.现在终于可以开始分区了。
    sudo nand-part /dev/nand 'linux 8000000'
    如果要分很多块按"nand-part /dev/nand nand-device 'name2 len2 [usertype2]' ['name3 len3 [usertype3]'] ..."的形式下命令。(直接输nand-part就会有提示)
    如果提示"usage: /dev/nand nand-device 'name2 len2 [usertype2]' ['name3 len3 [usertype3]'] ..."注意看看执行权限,或者管理员权限等。(我开始就是没有加sudo折腾了半天,从错误提示看是命令没下对,其实是没有权限。害我改源码,加log才看出来)第一个分区应该是留来boot用,默认不能改。最后面的大小下太大,好像它会自动计算正确的(没仔细看不太确定)。
      7.查看分区信息:
    sudo fdisk -l
    列出的信息中/dev/nanda /dev/nandb 下面的就是相关的分区信息了。
    8.按需要格式化分区
   mkfs.ext4 /dev/nandb
   其中nandb按实际情况替换成nand?...


参考链接:
Using the NAND - how to install to it
linux-sunxi / sunxi-tools
Sunxi-tools

PS:论坛是不是也应该搞个代码高亮什么的插件呢。



回复

使用道具 举报

发表于 2013-4-6 16:06:17 | 显示全部楼层
支持技术贴,代码高亮插件,让管理员加上去。
回复 支持 反对

使用道具 举报

发表于 2013-6-7 20:45:30 | 显示全部楼层
nand-part 打个包丢出来啊
回复 支持 反对

使用道具 举报

发表于 2013-6-18 16:47:10 | 显示全部楼层
能否分享下编译后的文件
回复 支持 反对

使用道具 举报

发表于 2013-7-18 16:52:21 | 显示全部楼层
用安卓的应该怎么弄?
回复 支持 反对

使用道具 举报

发表于 2014-8-17 21:54:37 | 显示全部楼层
请教一下    我输入nand-part时   显示 command not found  求解答?
如何安装?
回复 支持 反对

使用道具 举报

发表于 2014-8-17 23:21:58 | 显示全部楼层
shangbo120812 发表于 2014-8-17 21:54
请教一下    我输入nand-part时   显示 command not found  求解答?
如何安装?

旧的固件可能没有,新的一般自带
回复 支持 反对

使用道具 举报

发表于 2014-8-20 09:26:20 | 显示全部楼层
可以在ubuntu下交叉编译sunxi-tools后push到板子,也可以直接在板子上建立交叉编译环境后编译sunxi-tools
回复 支持 反对

使用道具 举报

发表于 2014-8-20 09:30:03 | 显示全部楼层
教程地址在:http://linux-sunxi.org/Sunxi-tools
我机器上有一个
nand-part

nand-part.gz

10.44 KB, 下载次数: 6, 下载积分: 金钱 -1

nand-part

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 16:27 , Processed in 0.028239 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部