~ubuntu-branches/ubuntu/warty/partman-auto/warty

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Contents:
  1. Format of the recipe files
  2. Architecture specific recipes
  3. Limitations


1. FORMAT OF THE RECIPE FILES
-----------------------------

All new lines and tabulations in the recipe are converted to spaces.
Then two or more consecutive spaces are converted to one space.
Almost all tokens must be separated by spaces.  An important exception
is the opening curly bracket ("{"), before it there must be _no_
space.

In the following rules we denote spaces by "_".

<recipe>::=<header>_<partitions>

<header>::=<simple name>|<debconf name>

<simple name>::=<name>_:

<name> can be for example "Multi user system".

<debconf name>::=<debconf template>_::

The purpose of <debconf name> is to allow translation of the names of
the recipes into different languages.

<partitions>::=<partition>|<partition>_<partitions>

<partition>::=<limits>_<specifiers>_.

<limits>::=<minimal size>_<priority>_<maximal size>_<parted fs>

<minimal size> is the minimal allowed size of the partition in
megabytes.  It is rounded to cylinder size, so if you make <minimal
size> to be 20 MB and the cylinder size is 12MB, then it is possible
for the partition to be only 12MB.

<maximal size> is the maximal size for the partition, i.e. a limit
size such that there is no sense to make this partition larger.

<priority> is some size usually between <minimal size> and <maximal
size>.  It determines the priority of this partition in the contest
with the other partitions for size.  Notice that if <priority> is too
small (relative to the priority of the other partitions) then this
partition will have size close to <minimal size>.  That's why it is
recommended to give small partitions a <priority> larger than their
<maximal size>.

<parted fs> is the file system as known to parted of this partition.


<specifiers>::=<specifier>|<specifier>_<specifiers>

<specifier>::=<internal specifier>|<regular specifier>

<internal specifier>::=$primary{_}|$bootable{_}

$primary{_} says that the partition should be primary (if possible).
$bootable{_} says that the bootable flag will be set.

<regular specifier>::=<file name>{ <file contents> }

<file name> is a file to be created in the directory of the partition.
<file contents> is the information to write in this file.


2. ARCHITECTURE DEPENTENT RECIPES
---------------------------------

Some architectures have specific requirements for their partitions.
For example many of them require special partitions to support
bootloading.

Suppose that the architecture is powerpc/powermac_newworld.  Then
partman-auto will look in the following places for recipes:

/lib/partman/recipes-powerpc-powermac_newworld/*
/lib/partman/recipes-powerpc/*
/lib/partman/recipes/*

Partman-auto will use the recipes from the first of these directories
that exists.


3. LIMITATIONS
--------------

Due to limitation of the algorithms in partman-auto, there must be at
least one partition with high maximal size so that the whole free
space can be used.  Usually you can give the partition containing /home
a maximal size 1000000000 which is high enough for the present storage
devices.  Do not use higher than 1000000000 numbers because the shell
arithmetic is limited to 31 bits (on i386).


4. APPENDIX
-----------

On May 25th 2004, it was noted that on i386 systems, the very minimum size of
a Debian installation on a classical (/, /usr, /usr, /home) setup was:
48MB on / (6MB on /boot)
77MB on /usr
17MB on /var
It is thus wise to use minimum values with this consideration in mind.