UBIFS

From Openmoko

Revision as of 11:42, 16 July 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/

(Please note as of July 2010 unstable is 2.6.3*: http://build.shr-project.org/shr-unstable/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])

=== Alternative === ( using slower but always available dfu-util )

1) update Qi with dfu-util

dfu-util -a u-boot -R -D /qi-ubi-s3c2442-1.0.2-r1+gitr0+c38b062a609f1442e6a9e13005cfbdfd59a5ac0d.udfu # for gta02

2) install kernel

dfu-util -a kernel -R -D ./uImage-2.6.29-oe11+gitr119862+a15608f241a40b41fed5bffe511355c2067c4e88-r8-om-gta02.bin 

3) install rootfs

dfu-util -a rootfs -R -D  /home/ew/Desktop/shr-full-eglibc-ipk--20100507-om-gta02.rootfs.ubi #  not the rootfs.ubifs image use rootfs.ubi file!

4) make shure that Qi is booting the NAND ( remove sd card or touch /boot/noboot-GTA02 ) boot GTA02 with Qi ( switch it on )

(Written by pwgen )

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

qi-ubi booting 2.6.29-oe11 with shr-lite-rootfs.ubi (parameters as indicated above, boot to desktop in 90sec):

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  1416  69  6874  67  4271  54  2126  97 42582  98  3129  93
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   936  97  2525  97   853  95   926  96 17800  98   638  95
16,32M,1416,69,6874,67,4271,54,2126,97,42582,98,3128.9,93,16,936,97,2525,97,853,95,926,96,17800,98,638,95

qi-ubi booting 2.6.31-oe1 with shr-lite-rootfs.ubi (parameters as indicated above, boot to desktop in 51sec):

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  2046  86 21393  21  8687  36  2231  94 52556 100  5118  99
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  1924  94 12296  99  1966  96  1888  93 +++++ +++  1492  95
16,32M,2046,86,21393,21,8687,36,2231,94,52556,100,5117.9,99,16,1924,94,12296,99,1966,96,1888,93,+++++,+++,1492,95

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

Status

12.5.2010

dfu-util confirmed to work too (by pwgen), but will be slower than nandwrite.

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/

(Please note as of July 2010 unstable is 2.6.3*: http://build.shr-project.org/shr-unstable/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])

=== Alternative === ( using slower but always available dfu-util )

1) update Qi with dfu-util

dfu-util -a u-boot -R -D /qi-ubi-s3c2442-1.0.2-r1+gitr0+c38b062a609f1442e6a9e13005cfbdfd59a5ac0d.udfu # for gta02

2) install kernel

dfu-util -a kernel -R -D ./uImage-2.6.29-oe11+gitr119862+a15608f241a40b41fed5bffe511355c2067c4e88-r8-om-gta02.bin 

3) install rootfs

dfu-util -a rootfs -R -D  /home/ew/Desktop/shr-full-eglibc-ipk--20100507-om-gta02.rootfs.ubi #  not the rootfs.ubifs image use rootfs.ubi file!

4) make shure that Qi is booting the NAND ( remove sd card or touch /boot/noboot-GTA02 ) boot GTA02 with Qi ( switch it on )

(Written by pwgen )

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

qi-ubi booting 2.6.29-oe11 with shr-lite-rootfs.ubi (parameters as indicated above, boot to desktop in 90sec):

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  1416  69  6874  67  4271  54  2126  97 42582  98  3129  93
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   936  97  2525  97   853  95   926  96 17800  98   638  95
16,32M,1416,69,6874,67,4271,54,2126,97,42582,98,3128.9,93,16,936,97,2525,97,853,95,926,96,17800,98,638,95

qi-ubi booting 2.6.31-oe1 with shr-lite-rootfs.ubi (parameters as indicated above, boot to desktop in 51sec):

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  2046  86 21393  21  8687  36  2231  94 52556 100  5118  99
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  1924  94 12296  99  1966  96  1888  93 +++++ +++  1492  95
16,32M,2046,86,21393,21,8687,36,2231,94,52556,100,5117.9,99,16,1924,94,12296,99,1966,96,1888,93,+++++,+++,1492,95

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

Status

12.5.2010

dfu-util confirmed to work too (by pwgen), but will be slower than nandwrite.