Partitioning a flash card

m (Get root access)
(Finalise update of "partitioning a flash card")
Line 1: Line 1:
-
{{Midgard article}}
 
'''WARNING: Partitioning your flash card will delete all data of the card, so be sure to back up any important data to a computer or another flash card.'''
'''WARNING: Partitioning your flash card will delete all data of the card, so be sure to back up any important data to a computer or another flash card.'''
Line 5: Line 4:
'''Note:''' As of 4-28-2008 Penguinbait has made a deb package that automates all of this for you.  See http://www.internettablettalk.com/forums/showthread.php?t=19639  and  http://www.internettablettalk.com/forums/showthread.php?t=20534
'''Note:''' As of 4-28-2008 Penguinbait has made a deb package that automates all of this for you.  See http://www.internettablettalk.com/forums/showthread.php?t=19639  and  http://www.internettablettalk.com/forums/showthread.php?t=20534
-
== Get root access ==
 
-
 
-
First, you will need [[root access]].
 
== Install the necessary packages and create partitions ==
== Install the necessary packages and create partitions ==
Line 13: Line 9:
'''Note:''' on the N800 and N810 the filesystem mounted under /media/mmc1 is the external media card and the internal card is mounted under /media/mmc2. The device that is mounted under /media/mmc1 is /dev/mmcblk1 and not mmcblk0 that is mounted under /media/mmc2. If you plan to format the external media card replace mmcblk0p with mmcblk1p.
'''Note:''' on the N800 and N810 the filesystem mounted under /media/mmc1 is the external media card and the internal card is mounted under /media/mmc2. The device that is mounted under /media/mmc1 is /dev/mmcblk1 and not mmcblk0 that is mounted under /media/mmc2. If you plan to format the external media card replace mmcblk0p with mmcblk1p.
-
In Xterm on your tablet, '''as root''', run:
+
First, you will need [[root access]].
 +
 
 +
In Xterm on your tablet, run:
  apt-get install e2fsprogs
  apt-get install e2fsprogs
Line 24: Line 22:
  /dev/mmcblk0p4:
  /dev/mmcblk0p4:
-
This will create two partitions in a 1GB flash card: the first one is VFAT (that's what number 6 means), and the second one is LINUX_83. The size of the first one is almost 480MB (that's the meaning of the 15000), and the second one is sized till the end of the card (that's what ,, means). Partitions three and four are empty. You may calculate your partitions based on my description, or read more about [http://linux.die.net/man/8/sfdisk sfdisk]. (Actually 15000 means cylinders, being each one of 32KB. So that 15000 cylinder x 32 KB/cylinder = 480MB. This means that 30000 cylinder x 32 KB/cylinder = 960MB). It will probably be easier to copy the example and just modify it slightly.
+
This will create two partitions in a 1GB flash card: the first one is VFAT (that's what number 6 means), and the second one is LINUX_83. The size of the first one is almost 480MB (that's the meaning of the 15000), and the second one is sized till the end of the card (that's what ,, means). Partitions three and four are empty.
 +
 
 +
The arguments for [http://linux.die.net/man/8/sfdisk sfdisk] are:
 +
* The device node to use for the partition
 +
* The start cylinder on the card
 +
* The end cylinder on the card (leave blank to have the partition go to the end of the disk)
 +
* The filesystem type ([http://www.win.tue.nl/~aeb/partitions/partition_types-1.html complete list])
 +
 
 +
A cylinder is a 32KB block on a flash card, so 15,000 cylinders equates to 480,000KB (approx. 480MB).
== Format the partitions ==
== Format the partitions ==
 +
 +
Once you have created the required partition table, you will need to initialise the filesystems.
Type as root:
Type as root:
Line 33: Line 41:
  shutdown -r now
  shutdown -r now
-
After it reboots, then open Xterm and, '''as root''', run:
+
After it reboots, then open Xterm and, as root, run:
  mke2fs /dev/mmcblk0p2
  mke2fs /dev/mmcblk0p2
Line 44: Line 52:
  insmod /mnt/initfs/lib/modules/$(uname -r)/mbcache.ko
  insmod /mnt/initfs/lib/modules/$(uname -r)/mbcache.ko
  insmod /mnt/initfs/lib/modules/$(uname -r)/ext2.ko
  insmod /mnt/initfs/lib/modules/$(uname -r)/ext2.ko
-
 
+
mount /dev/mmcblk0p2 /media/mmc2
[[Category:Users]]
[[Category:Users]]
-
[[Category:Midgard wiki]]
 
[[Category:Wiki page of the day]]
[[Category:Wiki page of the day]]

Revision as of 10:01, 7 July 2008

WARNING: Partitioning your flash card will delete all data of the card, so be sure to back up any important data to a computer or another flash card.

Note: As of 4-28-2008 Penguinbait has made a deb package that automates all of this for you. See http://www.internettablettalk.com/forums/showthread.php?t=19639 and http://www.internettablettalk.com/forums/showthread.php?t=20534


Install the necessary packages and create partitions

Note: on the N800 and N810 the filesystem mounted under /media/mmc1 is the external media card and the internal card is mounted under /media/mmc2. The device that is mounted under /media/mmc1 is /dev/mmcblk1 and not mmcblk0 that is mounted under /media/mmc2. If you plan to format the external media card replace mmcblk0p with mmcblk1p.

First, you will need root access.

In Xterm on your tablet, run:

apt-get install e2fsprogs
umount /media/mmc1
umount /media/mmc2
sfdisk /dev/mmcblk0
/dev/mmcblk0p1:1,15000,6
/dev/mmcblk0p2:15001,,
/dev/mmcblk0p3:
/dev/mmcblk0p4:

This will create two partitions in a 1GB flash card: the first one is VFAT (that's what number 6 means), and the second one is LINUX_83. The size of the first one is almost 480MB (that's the meaning of the 15000), and the second one is sized till the end of the card (that's what ,, means). Partitions three and four are empty.

The arguments for sfdisk are:

* The device node to use for the partition
* The start cylinder on the card
* The end cylinder on the card (leave blank to have the partition go to the end of the disk)
* The filesystem type (complete list)

A cylinder is a 32KB block on a flash card, so 15,000 cylinders equates to 480,000KB (approx. 480MB).

Format the partitions

Once you have created the required partition table, you will need to initialise the filesystems.

Type as root:

mkdosfs /dev/mmcblk0p1
shutdown -r now

After it reboots, then open Xterm and, as root, run:

mke2fs /dev/mmcblk0p2
shutdown -r now

Mounting the partitions

The VFAT partition will be mounted by the system automagically at start-up. To mount the EXT2 partition we need to load the kernel modules, so open Xterm and, as root, type:

insmod /mnt/initfs/lib/modules/$(uname -r)/mbcache.ko
insmod /mnt/initfs/lib/modules/$(uname -r)/ext2.ko
mount /dev/mmcblk0p2 /media/mmc2