UBIFS
From Openmoko
(+links) |
|||
(15 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
− | == With kernel 2.6. | + | == With kernel 2.6.34 == |
− | 1) booting 2.6. | + | 1) booting 2.6.34 kernel on uSD |
− | http://build.shr-project.org/tests/mrmoku/2.6.32/images/om-gta02/ | + | http://build.shr-project.org/tests/mrmoku/2.6.34/images/om-gta02/ |
+ | |||
+ | (Please note as of July 2010 unstable is 2.6.32+: http://build.shr-project.org/shr-unstable/images/om-gta02/ ) | ||
download uImage to /boot | download uImage to /boot | ||
Line 28: | Line 30: | ||
− | 4) update Qi with dfu-util | + | 4) Setup bootloader [[U-boot]], [[U-boot-gena2x]] or [[Qi]]: |
+ | |||
+ | 4.1) configure U-boot [[U-Boot_commands#Environment]] | ||
+ | |||
+ | change kernel parameters from: | ||
+ | <pre> | ||
+ | rootfstype=jffs2 root=/dev/mtdblock6 | ||
+ | </pre> | ||
+ | |||
+ | to: | ||
+ | <pre> | ||
+ | rootfstype=ubifs ubi.mtd=6,2048 root=ubi0:om-gta02-rootfs | ||
+ | </pre> | ||
+ | |||
+ | 4.2) update Qi with dfu-util | ||
http://build.shr-project.org/shr-unstable/images/om-gta02/ | http://build.shr-project.org/shr-unstable/images/om-gta02/ | ||
Line 45: | Line 61: | ||
(Written by Martin JaMa Jansa [http://www.mail-archive.com/community@lists.openmoko.org/msg56825.html]) | (Written by Martin JaMa Jansa [http://www.mail-archive.com/community@lists.openmoko.org/msg56825.html]) | ||
+ | |||
+ | === Alternative === | ||
+ | ( using slower but always available dfu-util ) | ||
+ | |||
+ | # update Qi with dfu-util | ||
+ | #: <pre>dfu-util -a u-boot -R -D /qi-ubi-s3c2442-1.0.2-r1+gitr0+c38b062a609f1442e6a9e13005cfbdfd59a5ac0d.udfu # for gta02</pre> | ||
+ | # install kernel | ||
+ | #: <pre>dfu-util -a kernel -R -D ./uImage-2.6.29-oe11+gitr119862+a15608f241a40b41fed5bffe511355c2067c4e88-r8-om-gta02.bin </pre> | ||
+ | # install rootfs | ||
+ | #: <pre>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!</pre> | ||
+ | # 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 == | == Performance == | ||
How to test: | How to test: | ||
− | Please run 'bonnie | + | Please run 'bonnie++ -u 0:0 -s 32 -m 16 -r 16' on a fresh filesystem. bonnie++ is now in shr-unstable feeds. (Note that this example uses only a 32MiB file, which easily fits in the GTA02's RAM and does not provide accurate speeds due to Linux's disk cache. For good results, use at least '-s 300'). |
=== [http://en.wikipedia.org/wiki/UBIFS UBIFS] === | === [http://en.wikipedia.org/wiki/UBIFS UBIFS] === | ||
Line 64: | Line 94: | ||
</pre> | </pre> | ||
+ | [http://build.shr-project.org/shr-unstable/images/om-gta02/qi-ubi-s3c2442-1.0.2-r0+gitr0+c38b062a609f1442e6a9e13005cfbdfd59a5ac0d.udfu qi-ubi] booting [http://build.shr-project.org/shr-unstable/images/om-gta02/uImage-2.6.29-oe11+gitr119862+a15608f241a40b41fed5bffe511355c2067c4e88-r7-om-gta02.bin 2.6.29-oe11] with [http://build.shr-project.org/shr-unstable/images/om-gta02/shr-lite-eglibc-ipk--20100115-om-gta02.rootfs.ubi shr-lite-rootfs.ubi] (parameters as indicated above, boot to desktop in 90sec): | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | |||
+ | [http://build.shr-project.org/shr-unstable/images/om-gta02/qi-ubi-s3c2442-1.0.2-r0+gitr0+c38b062a609f1442e6a9e13005cfbdfd59a5ac0d.udfu qi-ubi] booting [http://build.shr-project.org/tests/mrmoku/2.6.32/images/om-gta02/uImage-2.6.31-oe1+gitr157549+dd32737aa524e09c1d141a0e735dd58674552244-r6-om-gta02.bin 2.6.31-oe1] with [http://build.shr-project.org/shr-unstable/images/om-gta02/shr-lite-eglibc-ipk--20100115-om-gta02.rootfs.ubi shr-lite-rootfs.ubi] (parameters as indicated above, boot to desktop in 51sec): | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | |||
+ | [http://build.shr-project.org/shr-unstable/images/om-gta02/old/qi-ubi-s3c2442-1.0.2-r5+gitr0+c38b062a609f1442e6a9e13005cfbdfd59a5ac0d.udfu qi-ubi] booting [http://build.shr-project.org/shr-unstable/images/om-gta02/old/uImage-2.6.34-r7-oe17-om-gta02.bin 2.6.34-r7-oe17] with [http://build.shr-project.org/shr-unstable/images/om-gta02/old/shr-lite-eglibc-ipk--20110404-om-gta02.rootfs.ubi shr-lite-rootfs.ubi] (parameters as indicated above): | ||
+ | <pre> | ||
+ | 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 2089 88 20845 8 9938 27 2341 98 53687 99 4661 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 2189 96 13423 99 2142 94 2125 93 +++++ +++ 1681 97 | ||
+ | 16,32M,2089,88,20845,8,9938,27,2341,98,53687,99,4660.5,87,16,2189,96,13423,99,2142,94,2125,93,+++++,+++,1681,97 | ||
+ | </pre> | ||
=== [[JFFS2]] === | === [[JFFS2]] === | ||
Line 131: | Line 199: | ||
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 | 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 | ||
</pre> | </pre> | ||
+ | |||
== Status == | == Status == | ||
− | === | + | === 12.5.2010 === |
− | + | dfu-util confirmed to work too (by pwgen), but will be slower than nandwrite. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
[[Category:Flashing SHR]] | [[Category:Flashing SHR]] |
Latest revision as of 10:07, 10 February 2012
Contents |
[edit] With kernel 2.6.34
1) booting 2.6.34 kernel on uSD
http://build.shr-project.org/tests/mrmoku/2.6.34/images/om-gta02/
(Please note as of July 2010 unstable is 2.6.32+: 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) Setup bootloader U-boot, U-boot-gena2x or Qi:
4.1) configure U-boot U-Boot_commands#Environment
change kernel parameters from:
rootfstype=jffs2 root=/dev/mtdblock6
to:
rootfstype=ubifs ubi.mtd=6,2048 root=ubi0:om-gta02-rootfs
4.2) 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])
[edit] Alternative
( using slower but always available dfu-util )
- update Qi with dfu-util
-
dfu-util -a u-boot -R -D /qi-ubi-s3c2442-1.0.2-r1+gitr0+c38b062a609f1442e6a9e13005cfbdfd59a5ac0d.udfu # for gta02
-
- install kernel
-
dfu-util -a kernel -R -D ./uImage-2.6.29-oe11+gitr119862+a15608f241a40b41fed5bffe511355c2067c4e88-r8-om-gta02.bin
-
- 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!
-
- 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 )
[edit] 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. (Note that this example uses only a 32MiB file, which easily fits in the GTA02's RAM and does not provide accurate speeds due to Linux's disk cache. For good results, use at least '-s 300').
[edit] 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
qi-ubi booting 2.6.34-r7-oe17 with shr-lite-rootfs.ubi (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 2089 88 20845 8 9938 27 2341 98 53687 99 4661 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 2189 96 13423 99 2142 94 2125 93 +++++ +++ 1681 97 16,32M,2089,88,20845,8,9938,27,2341,98,53687,99,4660.5,87,16,2189,96,13423,99,2142,94,2125,93,+++++,+++,1681,97
[edit] 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
[edit] Comparsion with ext on uSD
[edit] 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
[edit] 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
[edit] 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
[edit] Status
[edit] 12.5.2010
dfu-util confirmed to work too (by pwgen), but will be slower than nandwrite.