Format Data Partition
This short tutorial will guide you through the process of formating and mounting your data partition.
Contents |
[edit] Background
The Official Software Image is split into four separate partitions: the u-boot partition, the kernel partition, a 256MB rootfs partition holding the main files and a 1.7GB partition for data.
The filesystem used is ubifs, a successor to jffs2 that was written for direct NAND access as used on the Ben.
This split between rootfs and data was introduced in order to save time when booting the NanoNote. Ubifs scans the partition on initial mount. For a single 2GB partition this takes around 8sec.
Right now the formatting of the data-partition does not happen automatically and therefore needs to be done manually.
[edit] Steps
On your Ben:
1. format the data partition:
ubiformat /dev/mtd3 -y
2. attach MTD device to UBI and create corresponding UBI device:
ubiattach /dev/ubi_ctrl -m 3
3. create UBI volume:
ubimkvol /dev/ubi1 -s 1730MiB -N data
we update the rootfs partition to 512MB after OpenWrt release: 2010-11-17, so aftaer 2010-11-17, it should be: (or you may want create more then 1 volume )
test in xiangfu's nanonote, MAX volume size is 1486MB, different nand may have different bad blocks. so using 1480MB.
ubimkvol /dev/ubi1 -s 1480MiB -N data
4. create mountpoint:
mkdir /data
5. mount UBI volume to mountpoint
mount -t ubifs ubi1:data /data/
[edit] Notes
You will need to remount the UBI volume after your next restart. To do so, log in via ssh again and repeat steps 2 and 5.
[edit] Ubifs Startup
If you want to make the new data be avaliable at start, create a script:
# cd / # touch mount_data.sh # nano mount_data.sh
And then paste this in:
#!/bin/bash ubiattach /dev/ubi_ctrl -m 3 mount -t ubifs ubi1:data /data/ gmenu2x
Save using control + X, then yes
Now some links and permissions
# ln -s /mount_data.sh /usr/bin/mount_data # chmod +x /mount_data.sh /usr/bin/mount_data
Now add it to startup, is not the standard way but should work by editing:
# nano /etc/init.d/start
It should look like this:
#!/bin/sh /etc/rc.common # Copyright (C) 2006 OpenWrt.org START=99 boot() { source /etc/profile # /usr/bin/gmenu2x /usr/bin/mount_data }
Now enable it at startup:
# /etc/init.d/start enable