Send commitlog mailing list submissions to
commitlog@lists.openmoko.org
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.openmoko.org/mailman/listinfo/commitlog
or, via email, send a message with subject or body 'help' to
[EMAIL PROTECTED]
You can reach the person managing the list at
[EMAIL PROTECTED]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of commitlog digest..."
Today's Topics:
1. Openmoko's OpenEmbedded repository. This is used to build the
Openmoko distribution: Changes to 'org.openmoko.asu.dev'
([EMAIL PROTECTED])
2. Openmoko's OpenEmbedded repository. This is used to build the
Openmoko distribution: Changes to 'org.openmoko.asu.stable'
([EMAIL PROTECTED])
3. Holger's qtopia repo: Changes to 'master' ([EMAIL PROTECTED])
4. Openmoko's OpenEmbedded repository. This is used to build the
Openmoko distribution: Changes to 'org.openmoko.asu.dev'
([EMAIL PROTECTED])
5. r4483 - in developers/werner: . nandpart
([EMAIL PROTECTED])
--- Begin Message ---
packages/efl1/evas_cvs.bb | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
New commits:
commit 983eba6df66029930998a2fd6612db302f98da47
Merge: 068dfb2d20634741cd797bdc749738b6357beff5
6c573d48981137c0760f50d5cf810082af157cfc
Author: Holger Hans Peter Freyther <[EMAIL PROTECTED]>
Date: Tue Jun 10 18:41:05 2008 +0200
Merge commit '6c573d4' into org.openmoko.asu.dev
commit 6c573d48981137c0760f50d5cf810082af157cfc
Author: Holger Hans Peter Freyther <[EMAIL PROTECTED]>
Date: Tue Jun 10 18:39:17 2008 +0200
[evas] Bump the PR because the config changed
Bump the PR as the resulting package will be different due
the config change. This is also making sure things get rebuilt.
--- End Message ---
--- Begin Message ---
packages/efl1/evas_cvs.bb | 23 ++++++++++++-----------
1 files changed, 12 insertions(+), 11 deletions(-)
New commits:
commit 12c34620d92287f9d1313b9e5eda696aa9c59a2b
Author: Holger Hans Peter Freyther <[EMAIL PROTECTED]>
Date: Tue Jun 10 18:39:17 2008 +0200
[evas] Bump the PR because the config changed
Bump the PR as the resulting package will be different due
the config change. This is also making sure things get rebuilt.
commit 92c06719534c25dcd2376b73b87398a3216290eb
Author: Carsten Haitzler <[EMAIL PROTECTED](none)>
Date: Tue Jun 10 10:56:29 2008 +0800
fix evas build to disable threads, and clean up formatting
--- End Message ---
--- Begin Message ---
BUGS.x11 | 17 ++-
src/libraries/qtopia/qtopiaapplication.cpp | 372 +++++++++++++++-------------
2 files changed, 210 insertions(+), 179 deletions(-)
New commits:
commit 8e9a4d7fcab9a77415d9b0923907e20725e56f6d
Author: Holger Freyther <[EMAIL PROTECTED]>
Date: Wed Jun 11 00:45:23 2008 +0200
[bugs] Callhistory is not updated when the addressbook changes
commit ea66d89b6c0947e0936e218bce1ef785684f25a3
Author: Holger Freyther <[EMAIL PROTECTED]>
Date: Wed Jun 11 00:44:11 2008 +0200
[bugs] Document the dbmigratetask performance annoyance
commit 749d05be2eed2912e4d5aa341333e4610c8c28e7
Author: Holger Freyther <[EMAIL PROTECTED]>
Date: Wed Jun 11 00:36:36 2008 +0200
[lifecycle] Do not quit before we have processed QCOP application data
This is fixing the issue were attempting to add a contact to the
contactlist only worked when the contact application was already
running.
qpe successfully started the addressbook app (quicklauncher) and the
LifeCycle manager decided that it is time to quit the app as no gui
and no tasks were active. Give the app time until the qcop stuff was
processed. The issue is fixed, the new one is callhistory is only
updated
after a restart...
commit b715886545dce3506a67e37a637c50b5cd779106
Author: Holger Freyther <[EMAIL PROTECTED]>
Date: Wed Jun 11 00:33:16 2008 +0200
[lifecycle] Prepare the code for changes
Fix the initializer list to be able to easily add new members
commit ce5311a7aea68b07560a050e62614251265ab68b
Author: Holger Freyther <[EMAIL PROTECTED]>
Date: Wed Jun 11 00:31:14 2008 +0200
[lifecycle] move the lifecycle definition after the QtopiaApplicationData
declaration
We will need access to QtopiaApplicationData from the LifeCycle to allow
this we need to move the definition/implementation past the declaration
of
QtopiaApplicationData.
commit f8c0ff5def18fdfaf3f6f25606852d0d6f0f499e
Author: Holger Freyther <[EMAIL PROTECTED]>
Date: Sun Jun 8 00:44:47 2008 +0200
[bugs] Start discussing the open bugs with myself
--- End Message ---
--- Begin Message ---
conf/distro/include/sane-srcrevs.inc | 6 +++---
packages/openmoko-projects/assassin_svn.bb | 3 ++-
2 files changed, 5 insertions(+), 4 deletions(-)
New commits:
commit cd847be2bcc81835c727c6d146173897866b5310
Author: Holger Hans Peter Freyther <[EMAIL PROTECTED]>
Date: Wed Jun 11 01:14:45 2008 +0200
[srcrev] Upgrade assassin to get animation changes
As requested by tick update assassin to r170 to get:
 - back arrow added
        - tiny UI animation turning about the list selected effect
commit bdf53616454250ae9b035b02058baea599f96880
Author: Holger Hans Peter Freyther <[EMAIL PROTECTED]>
Date: Wed Jun 11 01:12:25 2008 +0200
[srcrev] Upgrade ninja to get the Green bar selected animator
As of tick's request update the ninja theme.
commit 99884bb0b9bf076e4e6d40a8d8cc03b8388f355f
Author: Holger Hans Peter Freyther <[EMAIL PROTECTED]>
Date: Wed Jun 11 01:10:21 2008 +0200
[srcrev] Upgrade Qtopia to have "Save to Contacts" fixed
I have fixed the "Save to Contacts" bug from the callhistoryl
I couldn't wait the three hours for the build. If it is failing
git-revert this commit.
--- End Message ---
--- Begin Message ---
Author: werner
Date: 2008-06-11 01:55:41 +0200 (Wed, 11 Jun 2008)
New Revision: 4483
Added:
developers/werner/nandpart/
developers/werner/nandpart/Makefile
developers/werner/nandpart/bb_slack.pl
developers/werner/nandpart/dynpart.fig
developers/werner/nandpart/nand3d.fig
developers/werner/nandpart/nandpart.tex
developers/werner/nandpart/rlatex
developers/werner/nandpart/slackpart.fig
Log:
Document describing old and new NAND partitioning scheme. (Work in progress.)
Added: developers/werner/nandpart/Makefile
===================================================================
--- developers/werner/nandpart/Makefile (rev 0)
+++ developers/werner/nandpart/Makefile 2008-06-10 23:55:41 UTC (rev 4483)
@@ -0,0 +1,88 @@
+#
+# Fairly generic script for paper processing
+#
+
+VERSION=0
+NAME=nandpart
+
+# --- End of user-specific settings -------------------------------------------
+
+
+INC=slack.inc
+WORDS=my.words
+FIGS=nand3d dynpart slackpart
+
+EPS=$(FIGS:=.eps)
+
+
+.SUFFIXES: .fig .eps .dvi .tex .ps .pdf
+
+.PHONY: all spell .personal
+
+all: $(NAME).ps # $(NAME).pdf
+
+$(NAME).dvi: $(EPS) $(NAME).tex $(INC) # bib.inc
+
+slack.inc: bb_slack.pl
+ ./bb_slack.pl 3 20 >slack.inc || { rm -f slack.inc; exit 1; }
+
+
+# --- Spell checking ----------------------------------------------------------
+
+
+#
+# Modern aspell doesn't support personal dictionaries anymore, so we use ispell
+# instead. If we have an old installation, with a correctly working aspell, but
+# a broken ispell-to-aspell wrapper script, we anti-wrap in our own aspell
+# script.
+#
+
+spell: .personal
+ -cat $(INC) $(addsuffix .fig,$(FIGS)) >.tmp
+ PATH=.:$$PATH ispell -t -p ./.personal .tmp
+ rm -f .tmp
+
+.personal: $(WORDS)
+ cat $(WORDS) >.personal || { rm -f .personal; exit 1; }
+
+# modern aspell is broken ?!?
+# rm -f .personal
+# cat $(WORDS) | aspell create personal ./.personal || \
+# { rm -f .personal; exit 1; }
+
+
+# --- Conversion rules --------------------------------------------------------
+
+
+.dvi.ps:
+ dvips -o - $< | \
+ sed '/%%BeginDocument/,/%%EndDocument/s/%%.*//' >$@ || \
+ { rm -f $@; exit 1; }
+
+#.dvi.pdf:
+# dvipdf -o $@ $< || { rm -f $@; exit 1; }
+
+.ps.pdf:
+ ps2pdf $< $@
+
+.tex.dvi:
+ ./rlatex $<
+
+.fig.eps:
+ fig2dev -L eps -m 0.833 $< $@
+
+
+# --- Bibliography ------------------------------------------------------------
+
+
+bib.inc: $(INC) BIBLIOGRAPHY
+ BIBPATH=. perl bibfile.pl kboot.tex >bib.inc || \
+ { rm -f bib.inc; false; }
+
+
+# --- Cleanup -----------------------------------------------------------------
+
+
+clean:
+ rm -f *.dvi *.eps *.pdf *.ps *.aux *.log
+ rm -f .personal .tmp .personal_tmp
Added: developers/werner/nandpart/bb_slack.pl
===================================================================
--- developers/werner/nandpart/bb_slack.pl (rev 0)
+++ developers/werner/nandpart/bb_slack.pl 2008-06-10 23:55:41 UTC (rev
4483)
@@ -0,0 +1,84 @@
+#!/usr/bin/perl
+
+#
+# usage: bb_slack.pl #slack [end_#slack]
+#
+
+#
+# n = minimum number of good blocks needed
+# b = probability that block is bad
+# s = slack
+# p = probability that slack is sufficient
+#
+# s ( n+s )
+# p = sum ( ) * b^i*(1-b)^(n+s-i)
+# i = 0 ( i )
+#
+# Note: this assumes that bad blocks are evenly distributed and don't come in
+# clumps.
+#
+
+$b = 40/2047; # Samsung K5D2G13ACM-D075
+ # (only 2047, since first block is always good)
+
+sub binom
+{
+ local ($n, $k) = @_;
+ local ($b, $i);
+
+ $b = 1;
+ for ($i = $n-$k+1; $i <= $n; $i++) {
+ $b *= $i;
+ }
+ for ($i = 2; $i <= $k; $i++) {
+ $b /= $i;
+ }
+ return $b;
+}
+
+
+sub exp
+{
+ local ($b, $e) = @_;
+
+ return exp(log($b)*$e);
+}
+
+
+sub p_good
+{
+ local ($s) = @_;
+ local ($p, $i);
+
+ $p = 0;
+ for ($i = 0; $i <= $s; $i++) {
+ $p += &binom($n+$s, $i)*&exp($b, $i)*&exp(1-$b, $n+$s-$i);
+ }
+ return $p;
+}
+
+$s0 = $ARGV[0];
+$s1 = defined $ARGV[1] ? $ARGV[1] : $s0;
+
+for ($s = $s0; $s <= $s1; $s++) {
+ $n6 = $n9 = 0;
+
+ $e6 = $e9 = 1;
+ for ($n = $s; $e6 || $e9; $n++) {
+ $p = 1-&p_good($s);
+ if ($p <= 1e-6) {
+ $n6 = $n;
+ }
+ else {
+ $e6 = 0;
+ }
+ if ($p <= 1e-9) {
+ $n9 = $n;
+ }
+ else {
+ $e9 = 0;
+ }
+ }
+
+ print "$s & $n6 & $n9 \\\\\n";
+}
Property changes on: developers/werner/nandpart/bb_slack.pl
___________________________________________________________________
Name: svn:executable
+ *
Added: developers/werner/nandpart/dynpart.fig
===================================================================
--- developers/werner/nandpart/dynpart.fig (rev 0)
+++ developers/werner/nandpart/dynpart.fig 2008-06-10 23:55:41 UTC (rev
4483)
@@ -0,0 +1,99 @@
+#FIG 3.2 Produced by xfig version 3.2.5
+Landscape
+Center
+Inches
+A4
+100.00
+Single
+-2
+1200 2
+2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 4
+ 11100 5100 2100 5100 2100 4500 11100 4500
+2 1 1 2 0 7 40 -1 -1 6.000 0 0 -1 0 0 2
+ 11700 4500 11100 4500
+2 1 1 2 0 7 40 -1 -1 6.000 0 0 -1 0 0 2
+ 11700 5100 11100 5100
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 2250 4500 2400 4500 2400 5100 2250 5100 2250 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 2550 4500 2700 4500 2700 5100 2550 5100 2550 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 2850 4500 3000 4500 3000 5100 2850 5100 2850 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 3150 4500 3300 4500 3300 5100 3150 5100 3150 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 3450 4500 3600 4500 3600 5100 3450 5100 3450 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 3750 4500 3900 4500 3900 5100 3750 5100 3750 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 4050 4500 4200 4500 4200 5100 4050 5100 4050 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 4350 4500 4500 4500 4500 5100 4350 5100 4350 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 4650 4500 4800 4500 4800 5100 4650 5100 4650 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 4950 4500 5100 4500 5100 5100 4950 5100 4950 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 5250 4500 5400 4500 5400 5100 5250 5100 5250 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 5550 4500 5700 4500 5700 5100 5550 5100 5550 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 6150 4500 6300 4500 6300 5100 6150 5100 6150 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 6450 4500 6600 4500 6600 5100 6450 5100 6450 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 6750 4500 6900 4500 6900 5100 6750 5100 6750 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 7050 4500 7200 4500 7200 5100 7050 5100 7050 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 7350 4500 7500 4500 7500 5100 7350 5100 7350 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 7650 4500 7800 4500 7800 5100 7650 5100 7650 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 7950 4500 8100 4500 8100 5100 7950 5100 7950 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 8250 4500 8400 4500 8400 5100 8250 5100 8250 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 8550 4500 8700 4500 8700 5100 8550 5100 8550 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 8850 4500 9000 4500 9000 5100 8850 5100 8850 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 9150 4500 9300 4500 9300 5100 9150 5100 9150 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 9450 4500 9600 4500 9600 5100 9450 5100 9450 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 9750 4500 9900 4500 9900 5100 9750 5100 9750 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 10050 4500 10200 4500 10200 5100 10050 5100 10050 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 10350 4500 10500 4500 10500 5100 10350 5100 10350 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 10650 4500 10800 4500 10800 5100 10650 5100 10650 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 10950 4500 11100 4500 11100 5100 10950 5100 10950 4500
+2 2 0 0 0 7 50 -1 10 0.000 0 0 -1 0 0 5
+ 5850 4500 6000 4500 6000 5100 5850 5100 5850 4500
+2 2 0 0 0 7 50 -1 10 0.000 0 0 -1 0 0 5
+ 6900 4500 7050 4500 7050 5100 6900 5100 6900 4500
+2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
+ 5100 4500 5100 5100
+2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
+ 8400 4500 8400 5100
+2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
+ 2100 3900 2100 4350
+2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
+ 5100 3900 5100 4350
+2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
+ 8400 3900 8400 4350
+2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+ 1 1 2.00 90.00 90.00
+ 1 1 2.00 90.00 90.00
+ 2175 4050 5025 4050
+2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+ 1 1 2.00 90.00 90.00
+ 1 1 2.00 90.00 90.00
+ 5175 4050 8325 4050
+4 1 0 50 -1 18 12 0.0000 4 210 1800 3600 5475 20 "good" blocks\001
+4 1 0 50 -1 18 12 0.0000 4 210 1800 6825 5475 20 "good" blocks\001
+4 1 0 50 -1 18 12 0.0000 4 165 990 3600 3900 20 blocks\001
+4 1 0 50 -1 18 12 0.0000 4 210 1770 6600 3900 22 blocks (2 bad)\001
Added: developers/werner/nandpart/nand3d.fig
===================================================================
--- developers/werner/nandpart/nand3d.fig (rev 0)
+++ developers/werner/nandpart/nand3d.fig 2008-06-10 23:55:41 UTC (rev
4483)
@@ -0,0 +1,304 @@
+#FIG 3.2 Produced by xfig version 3.2.5
+Landscape
+Center
+Inches
+A4
+100.00
+Single
+-2
+1200 2
+6 8460 3660 11700 3780
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 8520 3720 9240 3720
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11640 3720 10440 3720
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 9240 3720 10440 3720
+-6
+6 8340 3780 11580 3900
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 8400 3840 9120 3840
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11520 3840 10320 3840
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 9120 3840 10320 3840
+-6
+6 8220 3900 11460 4020
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 8280 3960 9000 3960
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11400 3960 10200 3960
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 9000 3960 10200 3960
+-6
+6 7380 4740 10620 4860
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7440 4800 8160 4800
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10560 4800 9360 4800
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 8160 4800 9360 4800
+-6
+6 7260 4860 10500 4980
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7320 4920 8040 4920
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10440 4920 9240 4920
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 8040 4920 9240 4920
+-6
+6 7500 4620 10740 4740
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7560 4680 8280 4680
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10680 4680 9480 4680
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 8280 4680 9480 4680
+-6
+6 7140 5100 10380 5220
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7200 5160 7920 5160
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 5160 9120 5160
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7920 5160 9120 5160
+-6
+6 7140 5220 10380 5340
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7200 5280 7920 5280
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 5280 9120 5280
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7920 5280 9120 5280
+-6
+6 7140 5340 10380 5460
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7200 5400 7920 5400
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 5400 9120 5400
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7920 5400 9120 5400
+-6
+6 7140 7020 10380 7140
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7200 7080 7920 7080
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 7080 9120 7080
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7920 7080 9120 7080
+-6
+6 7140 6900 10380 7020
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7200 6960 7920 6960
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 6960 9120 6960
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7920 6960 9120 6960
+-6
+6 7140 6780 10380 6900
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7200 6840 7920 6840
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 6840 9120 6840
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7920 6840 9120 6840
+-6
+6 10260 5460 11820 7020
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 6960 10800 6480
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11760 5520 11280 6000
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11280 6000 10800 6480
+-6
+6 10260 5340 11820 6900
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 6840 10800 6360
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11760 5400 11280 5880
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11280 5880 10800 6360
+-6
+6 10260 3900 11820 5460
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 5400 10800 4920
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11760 3960 11280 4440
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11280 4440 10800 4920
+-6
+6 10260 3780 11820 5340
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 5280 10800 4800
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11760 3840 11280 4320
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11280 4320 10800 4800
+-6
+6 10260 3660 11820 5220
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 5160 10800 4680
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11760 3720 11280 4200
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11280 4200 10800 4680
+-6
+6 10260 5580 11820 7140
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 7080 10800 6600
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11760 5640 11280 6120
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11280 6120 10800 6600
+-6
+6 10260 5220 11820 6780
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 6720 10800 6240
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11760 5280 11280 5760
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11280 5760 10800 6240
+-6
+6 10260 4020 11820 5580
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 5520 10800 5040
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11760 4080 11280 4560
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11280 4560 10800 5040
+-6
+6 7140 6660 10380 6780
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7200 6720 7920 6720
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 6720 9120 6720
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7920 6720 9120 6720
+-6
+6 7140 5460 10380 5580
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7200 5520 7920 5520
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 5520 9120 5520
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7920 5520 9120 5520
+-6
+6 7620 4500 10860 4620
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7680 4560 8400 4560
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10800 4560 9600 4560
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 8400 4560 9600 4560
+-6
+6 8100 4020 11340 4140
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 8160 4080 8880 4080
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11280 4080 10080 4080
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 8880 4080 10080 4080
+-6
+2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 7200 5520 7200 5040 7920 5040
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7920 5040 9120 5040
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7200 5520 7200 6720
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 3
+ 9120 5040 10320 5040 10320 5520
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 5520 10320 6720
+2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
+ 7200 6720 7200 7200 7920 7200
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7920 7200 9120 7200
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 3
+ 9120 7200 10320 7200 10320 6720
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7200 5040 7680 4560
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 5040 10800 4560
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 7200 10800 6720
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 3
+ 8160 4080 8640 3600 9360 3600
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 3
+ 11280 6240 11760 5760 11760 5280
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 3
+ 11760 4080 11760 3600 10560 3600
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11280 4080 11760 3600
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 9360 3600 10560 3600
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 7680 4560 8160 4080
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10800 4560 11280 4080
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10800 6720 11280 6240
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11280 3600 10800 4080
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 4560 9840 5040
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 9840 5040 9840 5520
+2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 9840 6720 9840 7200
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 9840 5520 9840 6720
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 10320 4560 10800 4080
+2 3 1 0 0 7 55 -1 19 2.000 0 0 -1 0 0 5
+ 7200 5040 8640 3600 11760 3600 10320 5040 7200 5040
+2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
+ 11760 5280 11760 4080
+2 3 0 0 0 7 55 -1 17 2.000 0 0 -1 0 0 5
+ 7200 5040 10320 5040 10320 7200 7200 7200 7200 5040
+2 3 0 0 0 7 55 -1 15 2.000 0 0 -1 0 0 5
+ 10320 5040 11760 3600 11760 5760 10320 7200 10320 5040
+2 1 0 2 0 7 55 -1 -1 6.000 0 0 -1 0 0 2
+ 8760 3480 9120 3120
+2 1 0 2 0 7 55 -1 -1 6.000 0 0 -1 0 0 2
+ 11400 3480 11760 3120
+2 1 0 2 0 7 55 -1 -1 6.000 0 0 -1 0 0 2
+ 11880 3480 12240 3120
+2 1 0 2 0 7 55 -1 -1 6.000 0 0 -1 0 0 2
+ 8520 3600 8040 3600
+2 1 0 2 0 7 55 -1 -1 6.000 0 0 -1 0 0 2
+ 7080 5040 6600 5040
+2 1 0 2 0 7 55 -1 -1 6.000 0 0 -1 1 1 2
+ 1 1 2.00 90.00 90.00
+ 1 1 2.00 90.00 90.00
+ 9060 3240 11580 3240
+2 1 0 2 0 7 55 -1 -1 6.000 0 0 -1 1 1 2
+ 1 1 2.00 90.00 90.00
+ 1 1 2.00 90.00 90.00
+ 11700 3240 12060 3240
+2 1 0 2 0 7 55 -1 -1 6.000 0 0 -1 1 1 2
+ 1 1 2.00 90.00 90.00
+ 1 1 2.00 90.00 90.00
+ 8100 3660 6780 4980
+2 1 0 2 0 7 55 -1 -1 6.000 0 0 -1 0 0 2
+ 7080 7200 6600 7200
+2 1 0 2 0 7 55 -1 -1 6.000 0 0 -1 1 1 2
+ 1 1 2.00 90.00 90.00
+ 1 1 2.00 90.00 90.00
+ 6780 5100 6780 7140
+2 1 0 2 0 7 55 -1 -1 6.000 0 0 -1 0 0 4
+ 9360 2880 9480 2760 12600 2760 12480 2880
+2 1 0 2 0 7 55 -1 -1 6.000 0 0 -1 0 0 4
+ 6240 5040 6060 5040 7500 3600 7680 3600
+2 1 0 2 0 7 55 -1 -1 6.000 0 0 -1 0 0 2
+ 10080 7260 10080 7620
+2 1 0 2 0 7 55 -1 -1 6.000 0 0 -1 0 0 2
+ 7799 7250 7363 7772
+4 1 0 55 -1 18 12 0.0000 4 165 450 12000 3120 64 B\001
+4 1 0 55 -1 18 12 0.7854 4 210 945 7320 4260 64 Pages\001
+4 1 0 55 -1 18 12 1.5708 4 165 1245 6660 6120 2048 Blocks\001
+4 1 0 55 -1 18 12 0.7854 4 165 765 6720 4260 1 Block\001
+4 1 0 55 -1 18 12 0.0000 4 210 705 10980 2640 1 Page\001
+4 1 0 55 -1 18 12 0.0000 4 210 1125 10500 3120 2048 Bytes\001
+4 1 0 55 -1 18 12 0.0000 4 210 1245 10080 7920 Spare bytes\001
+4 1 0 55 -1 18 12 0.0000 4 210 3030 10080 8160 (ECC, bad block marker,
etc.)\001
+4 1 0 55 -1 18 12 0.0000 4 210 1110 7500 8040 Data bytes\001
Added: developers/werner/nandpart/nandpart.tex
===================================================================
--- developers/werner/nandpart/nandpart.tex (rev 0)
+++ developers/werner/nandpart/nandpart.tex 2008-06-10 23:55:41 UTC (rev
4483)
@@ -0,0 +1,325 @@
+\documentclass{article}
+\usepackage[obeyspaces]{url}
+\usepackage{fullpage}
+\usepackage{epsfig}
+
+\title{Openmoko NAND Partitioning}
+\author{Werner Almesberger \\
+ \tt [EMAIL PROTECTED]
+\date{June 10, 2008}
+
+\begin{document}
+
+\maketitle
+
+\begin{abstract}
+\noindent
+The Openmoko GTA01 and GTA02 models partition their NAND such that
+partitions grow according to the number of bad blocks they contain.
+This dynamic partitioning complicates production and use of the
+devices. We propose to use static partitions with extra blocks to
+provide a statistical guarantee that bad blocks can be accommodated.
+\end{abstract}
+
+% -----------------------------------------------------------------------------
+
+\section{Structure of a NAND Flash device}
+
+NAND devices are structured in block which in turn contain multiple
+pages. This is illustrated in figure \ref{nand3d}.
+For example, the Samsung K5D2G13ACM-D075 NAND Flash memory in
+the SC32442B54 multi-chip-package (MCP) used in GTA02, contains 2048
+blocks, each containing 64 pages. One page contains 2048 data bytes and
+64 ``spare'' bytes. The latter are used to store meta-data such as bad
+block markers and ECCs.
+
+\begin{figure}[ht]
+\begin{center}
+\includegraphics{nand3d.eps}
+\end{center}
+\caption{Structure of the Samsung K5D2G13ACM-D075 NAND Flash memory.}
+\label{nand3d}
+\end{figure}
+
+The content of each page is protected by an ECC, which can detect any
+single-bit and two-bit error, and correct any single-bit error.
+
+% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+\subsection{Initial bad blocks}
+
+Due to the nature of their fabrication process, a NAND device leaves the
+factory with a certain number of defective memory cells that are not
+guaranteed to retain data for the specified amount of time (if at all).
+
+If a block contains one or more defective memory cells, the entire block
+is marked as ``bad'' by setting some of the ``spare'' bytes belonging to
+this block to a specific value.
+
+In the case of the K5D2G13ACM, Samsung guarantee that the first block is
+always ``good''\footnote{Samsung specify that the first block will not
+develop more than one bit error per page within the first 1000
+program/erase cycles. Such a single-bit error can be detected and
+corrected by the ECC.}, and furtermore that no more than 40 of the 2047
+remaining blocks of the device are invalid. This is shown in table
+\ref{badratio}.
+
+\begin{table}[ht]
+\begin{center}
+\begin{tabular}{|c|r|r|}
+ \hline
+ Block number & \multicolumn{1}{c|}{Number of blocks} &
+ \multicolumn{1}{c|}{Maximum ``bad''} \\
+ \hline
+ 0 & 1 & 0 \\
+ 1--2047 & 2047 & 40 \\
+ \hline
+\end{tabular}
+\end{center}
+\caption{When the NAND device leaves the factory, the first NAND block is
+ guaranteed to be ``good'', but several of the other blocks can be marked
+ as invalid and must not be used.}
+\label{badratio}
+\end{table}
+
+% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+\subsection{Worn-out blocks}
+
+During use, memory cells of can also lose their content. In particular,
+after a certain the number of program/erase cycles, memory cells may
+no longer be able to retain their content.
+
+Samsung guarantee for the K5D2G13ACM that each block (except for the
+first one and any block that was already marked as invalid during
+production) can be programmed and erased at least 100'000 times before
+more than one bit per page fails. A single-bit failure can be detected and
+corrected by the ECC.
+
+There are various strategies for responding to ECC errors. For example,
+once can just correct them and take no further action, or one can
+correct the error, copy the data to a new block, mark the whole block
+or page as defective, and refrain from making any further use of it.
+
+For the purpose of this paper, we only need to consider than blocks may
+become unusable after production, but are not concerned about what specific
+actions are taken when errors are detected.
+
+% -----------------------------------------------------------------------------
+
+\section{NAND partitions}
+
+NAND devices are usually partitioned. For example, the Openmoko GTA01
+has partitions for the u-boot boot loader, the persistent environment
+of u-boot, a splash screen image, the Linux kernel, and the root file
+system. The GTA02 adds another partition for factory data, such as MAC
+addresses.
+
+Partitions are made up of consecutive blocks and always end and begin
+at a block boundary.\footnote{The reason for this is that only whole
+NAND blocks can be erased. Thus, if blocks were to cross partition
+boundaries, a change to one partition could also affect a neighbouring
+partition, which is undesirable.}
+
+For each partition but the last one, the size of the content is specified
+and the partition must contain good blocks for at least that amount of data.
+The last partition is different in that is simply contains all the
+remaining blocks.
+
+The content size can be an exact value or an estimate of how much space
+once could reasonably expect to need for the respective partition.
+
+% -----------------------------------------------------------------------------
+
+\section{Dynamic partitions}
+
+
+At the time of writing, Openmoko uses the following strategy to
+@@@
+
+\begin{figure}[ht]
+\begin{center}
+\includegraphics{dynpart.eps}
+\end{center}
+\caption{Dynamic sizing of partitions to accommodate bad blocks.}
+\label{dynpart}
+\end{figure}
+
+One important property of this partitioning mechanism is that the
+partition sizes may differ slightly beween devices, depending on
+the number and location of initial bad NAND blocks.
+
+The partition table is stored in the u-boot environment. Since
+partition tables are device-specific, so are therefore also u-boot
+environments.
+
+% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+\subsection{Environment updates}
+
+There are two ``correct'' ways to change the
+
+% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+\subsection{Production issues}
+
+
+
+% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+\subsection{Usage issues}
+
+Most users do not expect the partition table to be device-specific,
+and may actually be unaware that the partition table is stored in the
+u-boot environment.
+
+This sometimes leads to the incorrect assumption that there is a
+``standard'' environment all devices could use. It also leads to the
+assumption that an environment that has been damaged can be restored
+by simply copying the environment of a different device.
+
+If a device receives the environment and thus the partition table of
+a different device, a number of subtle problems may occur. The most
+likely are:
+
+\begin{itemize}
+ \item The beginning of the kernel partition changes, which causes
+ attempts to boot the kernel to fail with a CRC error. This can be
+ ``corrected'' by installing a new kernel through DFU.
+ \item The beginning of the root file system partition changes. Due
+ to the file system (JFFS2) being tolerant to missing blocks, this
+ is often a silent failure, that only causes some checksum errors
+ or the disappearance of some files.
+\end{itemize}
+
+Also, if an incorrect parition table is corrected later, this may cause
+the same type of failures, and possibly files in the rootfs to reappear.
+
+% -----------------------------------------------------------------------------
+
+\section{Partitions with slack}
+
+% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+\subsection{Partition structure}
+
+\begin{figure}[ht]
+\begin{center}
+\includegraphics{slackpart.eps}
+\end{center}
+\caption{Static partitions with slack space to accommodate bad blocks.}
+\label{slackpart}
+\end{figure}
+
+% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+\subsection{Additional testing}
+
+@@@ additional testing required to verify that slack is indeed sufficient
+
+% -----------------------------------------------------------------------------
+
+\section{Calculating partition sizes}
+
+Assuming that initial bad blocks occur independently, we can calculate the
+probability that adding a certain number of slack blocks to a partition
+will provide enough space to accommodate the bad blocks this partition may
+contain.
+
+% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+\subsection{...}
+
+$X_n$ be the number of bad blocks in a partition containing $n$ blocks.
+Each block is bad with probability $b$. Thus, the probability that this
+partition contains exactly $k$ bad blocks is:
+
+$$
+P(X_n=k)=\left(
+ \hskip-1.5mm
+ \begin{array}{c}
+ k \\
+ n \\
+ \end{array}
+ \hskip-1.5mm
+ \right)
+ b^k(1-b)^{n-k}
+$$
+
+If a partition of size $n$ contains $s$ slack blocks, the probability
+that there will be no more than $s$ bad blocks in this partition is:
+
+$$P(X_n\le s)=\sum_{i=0}^s \left(
+ \hskip-1.5mm
+ \begin{array}{c}
+ i \\
+ n \\
+ \end{array}
+ \hskip-1.5mm
+\right)b^i(1-b)^{n-i}$$
+
+This formula does not apply if a partition contains the the first block,
+which is always good.
+The probability that one or more partitions on a device do not have enough
+slack blocks can be approximated by adding the $1-P(X_n\le s)$ for all
+partitions.
+
+% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+\subsection{Example sizes}
+
+Table \ref{egsizes} shows the number of data blocks a partition can contain
+for a given number of slack blocks, such that the number of bad blocks in
+the partition will be below the number of slack blocks with a given
+probability.
+
+\begin{table}[ht]
+\begin{center}
+\begin{tabular}{|r|r|r|}
+ \hline
+ \multicolumn{1}{|c|}{Slack blocks ($s$)} &
+ \multicolumn{2}{c|}{Maximum data blocks ($n-s$)} \\
+ & $P(X_n)\le 10^{-6}$ & $P(X_n)\le 10^{-9}$ \\
+ \hline
+\input{slack.inc}
+ \hline
+\end{tabular}
+\end{center}
+\caption{}
+\label{egsizes}
+\end{table}
+
+For the first partition, add one to the number of data blocks, since the
+first block is guaranteed to be good.
+
+
+% -----------------------------------------------------------------------------
+
+\section{Example sizes}
+
+% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+\subsection{GTA02}
+
+% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+\subsection{GTA03}
+
+
+% -----------------------------------------------------------------------------
+
+\section{Bad block table removal}
+
+% -----------------------------------------------------------------------------
+
+\section{Conclusion}
+
+% -----------------------------------------------------------------------------
+
+\url{http://markmail.org/message/2hbxeemdo5djgnoo}
+\url{http://lists.openmoko.org/pipermail/openmoko-kernel/2008-April/002238.html}
+\url{http://svn.openmoko.org/developers/werner/bb_slack.pl}
+
+\end{document}
+
+* kernel: some will fail before others if we estimate too low
Added: developers/werner/nandpart/rlatex
===================================================================
--- developers/werner/nandpart/rlatex (rev 0)
+++ developers/werner/nandpart/rlatex 2008-06-10 23:55:41 UTC (rev 4483)
@@ -0,0 +1,21 @@
+#!/bin/sh
+while true; do
+ pid=$$
+ export pid
+ rm -f /tmp/rlok$pid
+ (
+ if latex $*; then
+ touch /tmp/rlok$pid
+ fi
+ ) | tee /tmp/rlso$pid
+ if [ ! -f /tmp/rlok$pid ]; then
+ rm -f /tmp/rlso$pid
+ exit 1
+ fi
+ if grep '^LaTeX Warning: Label(s) may' /tmp/rlso$pid >/dev/null; then :
+ else
+ rm -f /tmp/rlso$pid
+ exit 0
+ fi
+ echo "Re-running LaTeX"
+done
Property changes on: developers/werner/nandpart/rlatex
___________________________________________________________________
Name: svn:executable
+ *
Added: developers/werner/nandpart/slackpart.fig
===================================================================
--- developers/werner/nandpart/slackpart.fig (rev 0)
+++ developers/werner/nandpart/slackpart.fig 2008-06-10 23:55:41 UTC (rev
4483)
@@ -0,0 +1,99 @@
+#FIG 3.2 Produced by xfig version 3.2.5
+Landscape
+Center
+Inches
+A4
+100.00
+Single
+-2
+1200 2
+2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 4
+ 11100 5100 2100 5100 2100 4500 11100 4500
+2 1 1 2 0 7 40 -1 -1 6.000 0 0 -1 0 0 2
+ 11700 4500 11100 4500
+2 1 1 2 0 7 40 -1 -1 6.000 0 0 -1 0 0 2
+ 11700 5100 11100 5100
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 2250 4500 2400 4500 2400 5100 2250 5100 2250 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 2550 4500 2700 4500 2700 5100 2550 5100 2550 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 2850 4500 3000 4500 3000 5100 2850 5100 2850 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 3150 4500 3300 4500 3300 5100 3150 5100 3150 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 3450 4500 3600 4500 3600 5100 3450 5100 3450 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 3750 4500 3900 4500 3900 5100 3750 5100 3750 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 4050 4500 4200 4500 4200 5100 4050 5100 4050 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 4350 4500 4500 4500 4500 5100 4350 5100 4350 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 4650 4500 4800 4500 4800 5100 4650 5100 4650 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 4950 4500 5100 4500 5100 5100 4950 5100 4950 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 5250 4500 5400 4500 5400 5100 5250 5100 5250 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 5550 4500 5700 4500 5700 5100 5550 5100 5550 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 6150 4500 6300 4500 6300 5100 6150 5100 6150 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 6450 4500 6600 4500 6600 5100 6450 5100 6450 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 6750 4500 6900 4500 6900 5100 6750 5100 6750 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 7050 4500 7200 4500 7200 5100 7050 5100 7050 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 7350 4500 7500 4500 7500 5100 7350 5100 7350 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 7650 4500 7800 4500 7800 5100 7650 5100 7650 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 7950 4500 8100 4500 8100 5100 7950 5100 7950 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 8250 4500 8400 4500 8400 5100 8250 5100 8250 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 8550 4500 8700 4500 8700 5100 8550 5100 8550 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 8850 4500 9000 4500 9000 5100 8850 5100 8850 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 9150 4500 9300 4500 9300 5100 9150 5100 9150 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 9450 4500 9600 4500 9600 5100 9450 5100 9450 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 9750 4500 9900 4500 9900 5100 9750 5100 9750 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 10050 4500 10200 4500 10200 5100 10050 5100 10050 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 10350 4500 10500 4500 10500 5100 10350 5100 10350 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 10650 4500 10800 4500 10800 5100 10650 5100 10650 4500
+2 2 0 0 0 7 50 -1 18 0.000 0 0 -1 0 0 5
+ 10950 4500 11100 4500 11100 5100 10950 5100 10950 4500
+2 2 0 0 0 7 50 -1 10 0.000 0 0 -1 0 0 5
+ 5850 4500 6000 4500 6000 5100 5850 5100 5850 4500
+2 2 0 0 0 7 50 -1 10 0.000 0 0 -1 0 0 5
+ 6900 4500 7050 4500 7050 5100 6900 5100 6900 4500
+2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
+ 2100 3900 2100 4350
+2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+ 1 1 2.00 90.00 90.00
+ 1 1 2.00 90.00 90.00
+ 6525 4050 10725 4050
+2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
+ 6450 4500 6450 5100
+2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
+ 10800 4500 10800 5100
+2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
+ 10800 3900 10800 4350
+2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
+ 6450 3900 6450 4350
+2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+ 1 1 2.00 90.00 90.00
+ 1 1 2.00 90.00 90.00
+ 2175 4050 6375 4050
+4 1 0 50 -1 18 12 0.0000 4 210 1800 4275 5475 28 "good" blocks\001
+4 1 0 50 -1 18 12 0.0000 4 210 1920 4275 3900 29 blocks (9 slack)\001
+4 1 0 50 -1 18 12 0.0000 4 210 1920 8625 3900 29 blocks (9 slack)\001
+4 1 0 50 -1 18 12 0.0000 4 210 1800 8625 5475 28 "good" blocks\001
--- End Message ---
_______________________________________________
commitlog mailing list
commitlog@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/commitlog