UBIFS

From Openmoko

Revision as of 18:14, 7 January 2010 by Glenn (Talk | contribs)

Jump to: navigation, search

Contents

With kernel 2.6.32

1) booting 2.6.32 kernel on uSD

http://build.shr-project.org/tests/mrmoku/2.6.32/images/om-gta02/

download uImage to /boot

download modules and untar it to /

update uImage link in /boot


2) flash image

flash_eraseall /dev/mtd6

nandwrite -p /dev/mtd6 shr-full-eglibc-ipk--20100105-om-gta02.rootfs.ubi


3) then test if it works

ubiattach /dev/ubi_ctrl -O 2048 -m 6

mount -t ubifs ubi0:om-gta02-rootfs /media/om

ls /media/om


4) update Qi with dfu-util

http://build.shr-project.org/shr-unstable/images/om-gta02/

qi-s3c* expects jffs2 as rootfs

qi-ubi-s3c* expects ubifs as rootfs (with rootfs name om-gta02-rootfs which corresponds to name in ubinized image)

it is now in OE repository as qi_git.bb and qi-ubi_git.bb.


5) flash 2.6.32 also to NAND


6) boot it, test it, play with it

(Written by Martin JaMa Jansa [1])

Performance

How to test: Please run 'bonnie\+\+ -u 0:0 -s 32 -m 16 -r 16' on a fresh filesystem. bonnie++ is now in shr-unstable feeds.

UBIFS

max_posedon provided some bonnie++ results using kernel 2.6.29

=== ubifs ===       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
localhost       32M  1531  78  7594  73  4318  76  2195  98 42904  99  2805  87
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   887  94  2802  99   859  98   914  97 18084  99   659  98
localhost,32M,1531,78,7594,73,4318,76,2195,98,42904,99,2804.8,87,16,887,94,2802,99,859,98,914,97,18084,99,659,98


JFFS2

Latest 2.6.29-andy-tracking with jffs2 and SHR-testing (by Dima Kogan[2], with unknown parameters)

Version 1.03c       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
om-gta02       300M   844  96  1552  92  1550  94  1508  96  4252  92 462.4  94
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   174  68 17360  99   275  92   208  80 18970  99   236  79
om-gta02,300M,844,96,1552,92,1550,94,1508,96,4252,92,462.4,94,16,174,68,17360,99,275,92,208,80,18970,99,236,79

Kernel 2.6.32, parameters as indicated above.

Version 1.03c       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
16              32M   614  97  1802  96  1776  97  1155  97 33702  98  1282  97
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   197  96 +++++ +++   209  95   196  95 +++++ +++   207  95
16,32M,614,97,1802,96,1776,97,1155,97,33702,98,1282.2,97,16,197,96,+++++,+++,209,95,196,95,+++++,+++,207,95

Comparsion with ext on uSD

ext3, async

=== ext3, async === ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
localhost       32M  1122  69  1911  40  2288  28  1832  82 43012  99  2923  98
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   111  96 18460  95  1315  85   111  95 20824  99   258  75
localhost,32M,1122,69,1911,40,2288,28,1832,82,43012,99,2923.0,98,16,111,96,18460,95,1315,85,111,95,20824,99,258,75

ext2, sync

=== ext2, sync ===  ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
localhost       32M    70   5   122   3   970  11  2196  98 42969  99  56.1   1
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16    18  12 17609  89    14   2    18  12 20165  98     6   1
localhost,32M,70,5,122,3,970,11,2196,98,42969,99,56.1,1,16,18,12,17609,89,14,2,18,12,20165,98,6,1

ext2, async

=== ext2, async === ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
localhost       32M  1319  70  2637  29  1997  16  1904  86 42504  99  3151  98
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   166  95 19707  98  2588  97   170  96 20644  99   321  63
localhost,32M,1319,70,2637,29,1997,16,1904,86,42504,99,3151.4,98,16,166,95,19707,98,2588,97,170,96,20644,99,321,63
Personal tools

With kernel 2.6.32

1) booting 2.6.32 kernel on uSD

http://build.shr-project.org/tests/mrmoku/2.6.32/images/om-gta02/

download uImage to /boot

download modules and untar it to /

update uImage link in /boot


2) flash image

flash_eraseall /dev/mtd6

nandwrite -p /dev/mtd6 shr-full-eglibc-ipk--20100105-om-gta02.rootfs.ubi


3) then test if it works

ubiattach /dev/ubi_ctrl -O 2048 -m 6

mount -t ubifs ubi0:om-gta02-rootfs /media/om

ls /media/om


4) update Qi with dfu-util

http://build.shr-project.org/shr-unstable/images/om-gta02/

qi-s3c* expects jffs2 as rootfs

qi-ubi-s3c* expects ubifs as rootfs (with rootfs name om-gta02-rootfs which corresponds to name in ubinized image)

it is now in OE repository as qi_git.bb and qi-ubi_git.bb.


5) flash 2.6.32 also to NAND


6) boot it, test it, play with it

(Written by Martin JaMa Jansa [1])

Performance

How to test: Please run 'bonnie\+\+ -u 0:0 -s 32 -m 16 -r 16' on a fresh filesystem. bonnie++ is now in shr-unstable feeds.

UBIFS

max_posedon provided some bonnie++ results using kernel 2.6.29

=== ubifs ===       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
localhost       32M  1531  78  7594  73  4318  76  2195  98 42904  99  2805  87
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   887  94  2802  99   859  98   914  97 18084  99   659  98
localhost,32M,1531,78,7594,73,4318,76,2195,98,42904,99,2804.8,87,16,887,94,2802,99,859,98,914,97,18084,99,659,98


JFFS2

Latest 2.6.29-andy-tracking with jffs2 and SHR-testing (by Dima Kogan[2], with unknown parameters)

Version 1.03c       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
om-gta02       300M   844  96  1552  92  1550  94  1508  96  4252  92 462.4  94
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   174  68 17360  99   275  92   208  80 18970  99   236  79
om-gta02,300M,844,96,1552,92,1550,94,1508,96,4252,92,462.4,94,16,174,68,17360,99,275,92,208,80,18970,99,236,79

Kernel 2.6.32, parameters as indicated above.

Version 1.03c       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
16              32M   614  97  1802  96  1776  97  1155  97 33702  98  1282  97
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   197  96 +++++ +++   209  95   196  95 +++++ +++   207  95
16,32M,614,97,1802,96,1776,97,1155,97,33702,98,1282.2,97,16,197,96,+++++,+++,209,95,196,95,+++++,+++,207,95

Comparsion with ext on uSD

ext3, async

=== ext3, async === ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
localhost       32M  1122  69  1911  40  2288  28  1832  82 43012  99  2923  98
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   111  96 18460  95  1315  85   111  95 20824  99   258  75
localhost,32M,1122,69,1911,40,2288,28,1832,82,43012,99,2923.0,98,16,111,96,18460,95,1315,85,111,95,20824,99,258,75

ext2, sync

=== ext2, sync ===  ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
localhost       32M    70   5   122   3   970  11  2196  98 42969  99  56.1   1
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16    18  12 17609  89    14   2    18  12 20165  98     6   1
localhost,32M,70,5,122,3,970,11,2196,98,42969,99,56.1,1,16,18,12,17609,89,14,2,18,12,20165,98,6,1

ext2, async

=== ext2, async === ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
localhost       32M  1319  70  2637  29  1997  16  1904  86 42504  99  3151  98
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   166  95 19707  98  2588  97   170  96 20644  99   321  63
localhost,32M,1319,70,2637,29,1997,16,1904,86,42504,99,3151.4,98,16,166,95,19707,98,2588,97,170,96,20644,99,321,63