将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
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