Merge lp:~pwlars/lava-project/install-docs into lp:lava-project/staging
- install-docs
- Merge into staging
Proposed by
Paul Larson
Status: | Merged |
---|---|
Merged at revision: | 31 |
Proposed branch: | lp:~pwlars/lava-project/install-docs |
Merge into: | lp:lava-project/staging |
Diff against target: |
666 lines (+348/-150) 3 files modified
doc/index.rst (+17/-15) doc/installation.rst (+246/-58) doc/lava-image-creation.rst (+85/-77) |
To merge this branch: | bzr merge lp:~pwlars/lava-project/install-docs |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Spring Zhang (community) | Approve | ||
Review via email:
|
Commit message
Description of the change
Some documentation improvements
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'doc/index.rst' |
2 | --- doc/index.rst 2012-02-10 22:19:05 +0000 |
3 | +++ doc/index.rst 2012-02-13 04:53:18 +0000 |
4 | @@ -2,20 +2,20 @@ |
5 | LAVA (Linaro Automated Validation Architecture) |
6 | =============================================== |
7 | |
8 | -.. warning:: |
9 | - This document is *work in progress*. |
10 | - |
11 | Features |
12 | ======== |
13 | - |
14 | -.. todo:: |
15 | - Document key LAVA features. This list should be stable and high-level so |
16 | - that additional features added to subsequent LAVA releases don't require us |
17 | - to rewrite this section all the time. We shold link to our sub-projects. |
18 | - |
19 | +LAVA is an automated testing framework developed by Linaro. It includes |
20 | +a web framework with extensions for things like scheduling jobs, and |
21 | +storing results. The web framework can be extended with custom |
22 | +extensions for storing new types of data, or presenting custom result |
23 | +views. LAVA also has a dispatcher component for processing test jobs |
24 | +that can deploy Ubuntu based, as well as Android based Linaro images on |
25 | +supported development boards. As with the web interface, custom |
26 | +extensions can be written to support additional client types, or |
27 | +operations to perform. LAVA also has test runners that can provide a |
28 | +consistent interface to various Linux and Android test suites. |
29 | +Additional test suites can easily be added. |
30 | |
31 | - .. seealso:: See what's new in :ref:`version_2011.10` |
32 | - |
33 | LAVA Components |
34 | =============== |
35 | |
36 | @@ -24,7 +24,9 @@ |
37 | provides the main web interface to LAVA and supports extensions. |
38 | `LAVA Dashboard <http://lava-dashboard.readthedocs.org/>`_ |
39 | The LAVA Dashboard is an extension to LAVA Server that handles |
40 | - results storage and retrieval. |
41 | + results storage and retrieval. Results for the LAVA Dashboard are |
42 | + submitted using a well-defined JSON bundle format. The schema, and |
43 | + example bundles are documented in the `LAVA Dashboard bundle format <http://linaro-dashboard-bundle.readthedocs.org/en/latest/index.html>`_. |
44 | `LAVA Scheduler <http://lava-scheduler.readthedocs.org/>`_ |
45 | The LAVA Scheduler component provides a web extension for |
46 | scheduling jobs and managing test resources, as well as a daemon |
47 | @@ -40,15 +42,15 @@ |
48 | that can be consumed by the LAVA Dashboard. |
49 | |
50 | |
51 | -Indices and tables |
52 | -================== |
53 | +Getting Started |
54 | +=============== |
55 | |
56 | .. toctree:: |
57 | :maxdepth: 2 |
58 | |
59 | installation.rst |
60 | + lava-image-creation.rst |
61 | process.rst |
62 | - lava-image-creation.rst |
63 | changes.rst |
64 | |
65 | * :ref:`search` |
66 | |
67 | === modified file 'doc/installation.rst' |
68 | --- doc/installation.rst 2011-10-24 17:22:06 +0000 |
69 | +++ doc/installation.rst 2012-02-13 04:53:18 +0000 |
70 | @@ -1,58 +1,246 @@ |
71 | -Installation |
72 | -^^^^^^^^^^^^ |
73 | - |
74 | -LAVA can be installed in several different ways. As with any open source |
75 | -project that does source distribution the end user has all the freedom to do |
76 | -what they want. We support certain installation methods more than others. You |
77 | -can always ask for support using Launchpad support tracker (see |
78 | -:ref:`questions`) |
79 | - |
80 | -Installation from source |
81 | -************************ |
82 | - |
83 | -This is the most complicated and error prone installation method. It requires |
84 | -the user to download source release tarballs. Unpack them and install them in |
85 | -the correct order. Depending on the exact set of components that are installed |
86 | -(especially client or server side components) some additional steps are |
87 | -necessary. This may include setting up the web application host (one of many |
88 | -possible configurations here), setting up the database (again multiple possible |
89 | -options, our recommendation is to use the latest stable version of PostgreSQL). |
90 | - |
91 | -Detailed installation instructions *should* be included with each component |
92 | -documentation (do file bugs on missing documentation). |
93 | - |
94 | - |
95 | -Installation from PypI |
96 | -********************** |
97 | - |
98 | -PyPi is the python package index (http://pypi.python.org/pypi). It is |
99 | -maintained by the python community and is the preferred distribution method |
100 | -used by many open source projects written in the python programming language. |
101 | - |
102 | -Here a front-end program, such as pip (http://pypi.python.org/pypi/pip) is used |
103 | -to install packages, and their python dependencies. Pip finds the required set |
104 | -of packages, downloads their source releases and does the hard work of figuring |
105 | -out the right way to put them together. |
106 | - |
107 | -This is the best compromise between wide system support (any flavour of Linux, |
108 | -OS X and Windows), simplicity, upgrade and availability. The downside is that |
109 | -it does not handle, by itself, the last mile. This method does not handle |
110 | -things like setting up and running the application server. It also requires the |
111 | -user to have additional development packages, such as python header files, |
112 | -database server header files, the C compiler and more. |
113 | - |
114 | - |
115 | -.. todo:: |
116 | - Document virtualenv usage (recommended) |
117 | - |
118 | - |
119 | -Installation from PPA |
120 | -********************* |
121 | - |
122 | -This method is only suitable for users running Ubuntu 10.04 or later. Here LAVA |
123 | -is pre-compiled and packaged as Debian packages (debs). The installation |
124 | -scripts embedded in the packages take care for setting up additional services |
125 | -so usually this is the best method to quickly have a self-contained running |
126 | -installation. The downside is longer release period as packaging takes |
127 | -additional time after each release. Another downside is that our support is |
128 | -limited to Ubuntu. |
129 | +LAVA Deployment Tool |
130 | +==================== |
131 | + |
132 | +Installing LAVA Server Components |
133 | ++++++++++++++++++++++++++++++++++ |
134 | + |
135 | +LAVA Deployment Tool is meant to assist you setting up LAVA on your machine. |
136 | +The tool is suitable for both personal and more "production" installations that |
137 | +are expected to perform adequately with more concurrent users. This tool is |
138 | +not, however, designed for multi-machine installation, including cloud |
139 | +deployment. For that it is likely we will turn to Juju |
140 | +(https://juju.ubuntu.com/) |
141 | + |
142 | +Quickstart |
143 | +^^^^^^^^^^ |
144 | + |
145 | +For the impatient, or those just looking for a cheat sheet but know what they |
146 | +are doing otherwise, here are the basic set of commands to get an instance |
147 | +up and running based on the requirements-mini file provided as an example, |
148 | +which only installs lava-server. |
149 | + |
150 | +:: |
151 | + |
152 | + $ ./lava-deployment-tool setup |
153 | + $ ./lava-deployment-tool bundle requirements-mini.txt |
154 | + $ ./lava-deployment-tool install testinstance lava.pybundle |
155 | + $ sudo start lava-instance LAVA_INSTANCE=testinstance |
156 | + |
157 | +Assuming everything went well, you should be able to point a web browser |
158 | +at the system you did this on and see the lava-server default page. |
159 | + |
160 | + |
161 | +Software Requirements |
162 | +^^^^^^^^^^^^^^^^^^^^^ |
163 | + |
164 | +This tool should work on Ubuntu versions starting with 10.10 release |
165 | +(Maverick). If you'd like to help us with other distributions feel free to |
166 | +contact us at validation (at) linaro (dot) org. |
167 | + |
168 | +Hardware Requirements |
169 | +^^^^^^^^^^^^^^^^^^^^^ |
170 | + |
171 | +A small LAVA instance can be deployed on any modest hardware. We recommend at |
172 | +least one 1GB of RAM for runtime activity (this is shared, on a single host, |
173 | +among the database server, the application server and the web server). For |
174 | +storage please reserve about 20GB for application data, especially if you wish |
175 | +to mirror current public LAVA instance used by Linaro. LAVA uses append-only |
176 | +models so the storage requirements will grow at about several GB a year. |
177 | + |
178 | +Before installing |
179 | +^^^^^^^^^^^^^^^^^ |
180 | + |
181 | +Before you can create your first LAVA instance (standalone, independent LAVA |
182 | +installation) you must install some shared infrastructure on your machine. |
183 | +Currently this is the Apache 2 web server, PostgreSQL database server, RabbitMQ |
184 | +messaging server, and Python (and a few python programs and libraries). Because |
185 | +this installation method is not using pre-built packages you will also need |
186 | +development headers and a working compiler to build some of the native (C) |
187 | +extensions for python. |
188 | + |
189 | +This step is largely automated. To perform it run this command: |
190 | + |
191 | +:: |
192 | + |
193 | + $ ./lava-deployment-tool setup |
194 | + |
195 | +This step also prepares file-system places for LAVA. In particular it creates |
196 | +/srv/lava/ where all LAVA instances are later stored. |
197 | + |
198 | +Creating LAVA instance |
199 | +^^^^^^^^^^^^^^^^^^^^^^ |
200 | + |
201 | +You can create multiple LAVA instances on a single machine. Being able to do |
202 | +so is very valuable for testing and developing LAVA itself. Before installing |
203 | +you must first create a bundle of sources you wish to install. This simply |
204 | +downloads all the things you intend to install into a single, local archive |
205 | +so that installation or updating is not impacted by any problems getting the |
206 | +sources later. This also enables offline installs, or installs behind a |
207 | +restrictive firewall by allowing you to download the bundle in advance. |
208 | +To create the bundle, run: |
209 | + |
210 | +:: |
211 | + |
212 | + $ ./lava-deployment-tool URL_to_requirements [bundle_file_name] |
213 | + |
214 | +If you do not specify the bundle_file_name, it will use the name 'lava.pybundle' |
215 | + |
216 | +To create a new instance run this command: |
217 | + |
218 | +:: |
219 | + |
220 | + $ ./lava-deployment-tool install NAME BUNDLE |
221 | + |
222 | +This will create a fresh instance called NAME, the instance will be composed of |
223 | +the software specified in the requirements file that was used to build the |
224 | +bundle and associated dependencies. |
225 | + |
226 | +The script produces verbose output, at the end it should say that everything |
227 | +went fine. |
228 | + |
229 | +Maintaining a LAVA System |
230 | ++++++++++++++++++++++++++ |
231 | + |
232 | +Backing Up LAVA instance |
233 | +^^^^^^^^^^^^^^^^^^^^^^^^ |
234 | + |
235 | +LAVA instances store persistent data in two locations: |
236 | + |
237 | + * On the filesystem, in the directory |
238 | + /srv/lava/$LAVA_INSTANCE/var/lib/lava-server/media |
239 | + * In a PostgreSQL database in the default cluster named $LAVA_INSTANCE |
240 | + |
241 | +Backing up those two items is sufficient to preserve the entire system |
242 | +state. You can do this by running: |
243 | + |
244 | +:: |
245 | + |
246 | + $ lava-deployment-tool backup $LAVA_INSTANCE |
247 | + |
248 | +which will create a backup with an ID based on the current date and |
249 | +time in a directory named |
250 | +"/srv/lava/backups/$LAVA_INSTANCE/$SNAPSHOT_ID/". You can make |
251 | +/srv/lava/backups a symlink to a more appropriate location if you |
252 | +want. |
253 | + |
254 | +Generally before backing up you should make sure that LAVA instance is |
255 | +turned off. This depends on how your instance is started. If you were |
256 | +using upstart the following shell command should turn LAVA off: |
257 | + |
258 | +:: |
259 | + |
260 | + $ sudo service lava stop |
261 | + |
262 | +If you take a backup while running, you will need to do some manual |
263 | +cleanup when you restore from it. |
264 | + |
265 | +Restoring from backup |
266 | +^^^^^^^^^^^^^^^^^^^^^ |
267 | + |
268 | +Running the command: |
269 | + |
270 | +:: |
271 | + |
272 | + $ lava-deployment-tool restore $LAVA_INSTANCE $SNAPSHOT_ID |
273 | + |
274 | +will restore the given snapshot of the named instance. This will |
275 | +first erase the database and media files of the named instance, so be |
276 | +careful what you type! |
277 | + |
278 | +You can restore an instance from a backup taken from a distinct |
279 | +instance with a command like: |
280 | + |
281 | +:: |
282 | + |
283 | + $ lava-deployment-tool restore $TARGET_INSTANCE $SOURCE_INSTANCE/$SNAPSHOT_ID |
284 | + |
285 | +Currently to restore from a backup taken on a different machine, you |
286 | +have to put it under /srv/lava/backups, then run an appropriate |
287 | +"lava-deployment-tool restore" command (we will hopefully make this |
288 | +more natural soon). |
289 | + |
290 | +You cannot restore to an instance while it is running. |
291 | + |
292 | +Updating LAVA instance |
293 | +^^^^^^^^^^^^^^^^^^^^^^ |
294 | + |
295 | +LAVA is released periodically. Currently this is once a month but the release |
296 | +cycle becomes more and more fluid and eventually we'd like to release multiple |
297 | +tiny changes every day. |
298 | + |
299 | +Once you installed some LAVA components you can upgrade your installation to a |
300 | +more recent release using this deployment tool. There are some important |
301 | +upgrade considerations: |
302 | + |
303 | +1) Upgrades may alter the database or persistent media files. It is wise to |
304 | +perform a full system backup before each upgrade. While we don't anticipate |
305 | +catastrophic failures it's better to be safe than sorry. Refer to the previous |
306 | +chapter for details. |
307 | + |
308 | +2) Some database schema changes take a lot of time to finish. We try to |
309 | +minimize such changes but as you can install any third-party LAVA extensions we |
310 | +cannot predict the overall downtime in such case. For official Linaro releases |
311 | +please refer to our monthly release notes that are available at |
312 | +http://lava.readthedocs.org/ |
313 | + |
314 | +3) Upgrades may introduce additional dependencies, which will be installed |
315 | +automatically. Periodically we make use of additional third party open source |
316 | +libraries. Those libraries will be installed for a single LAVA instance |
317 | +_only_. Your system libraries are not affected by this step. |
318 | + |
319 | +4) Upgrades require network access. If you are behind a firewall or a |
320 | +corporate http proxy you may experience failures. Please note that the |
321 | +upgrade process does not install components without first downloading all of |
322 | +the required pieces so in case of a network failure your current installation |
323 | +should not be affected. While typically only HTTP and HTTPS protocols are |
324 | +being used at times you may see attempts to connect to native protocols used |
325 | +by git, bazaar or mercurial. |
326 | + |
327 | +5) Upgrading process rebuilds the collection of static assets served by |
328 | +Apache. During that moment you may encounter a very brief failure to resolve |
329 | +some of the static assets (typically images, cascading style sheets and |
330 | +javascript libraries) |
331 | + |
332 | +Prior to upgrading and instance, you will need to build a new bundle based |
333 | +on your new requirements file: |
334 | + |
335 | +:: |
336 | + |
337 | + $ ./lava-deployment-tool bundle URL-to-requirements [bundle_file_name] |
338 | + |
339 | +To upgrade an existing instance run the following command: |
340 | + |
341 | +:: |
342 | + |
343 | + $ ./lava-deployment-tool upgrade NAME BUNDLE |
344 | + |
345 | +Again the NAME and URL-to-requirements have the same meaning as in the |
346 | +install command mentioned in preceding chapter. |
347 | + |
348 | +Anatomy of a LAVA instance |
349 | +^^^^^^^^^^^^^^^^^^^^^^^^^^ |
350 | + |
351 | +An instance is composed of several parts: |
352 | + |
353 | + - A new system user account called $LAVA_INSTANCE |
354 | + - A directory tree similar to standard unix filesystem rooted |
355 | + in $LAVA_PREFIX/$LAVA_INSTANCE/ |
356 | + - A postgres user and database in the default cluster, both named |
357 | + $LAVA_INSTANCE |
358 | + |
359 | +A note on Postgres versions |
360 | +^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
361 | + |
362 | +lava-deployment-tool creates its databases in the default postgres |
363 | +cluster (on Ubuntu this is the 'main' cluster of whichever version of |
364 | +postgres was installed first). Using a different version/cluster and |
365 | +moving between versions is not technically difficult but not currently |
366 | +supported. |
367 | + |
368 | +Contact and bug reports |
369 | +^^^^^^^^^^^^^^^^^^^^^^^ |
370 | + |
371 | +Please report bugs using |
372 | +https://bugs.launchpad.net/lava-deployment-tool/+filebug |
373 | + |
374 | +Feel free to contact us at validation (at) linaro (dot) org. |
375 | |
376 | === modified file 'doc/lava-image-creation.rst' |
377 | --- doc/lava-image-creation.rst 2012-02-10 22:26:54 +0000 |
378 | +++ doc/lava-image-creation.rst 2012-02-13 04:53:18 +0000 |
379 | @@ -27,17 +27,17 @@ |
380 | |
381 | :: |
382 | |
383 | - 127.0.1.1 linaro-developer |
384 | - to: |
385 | - 127.1.1.1 master |
386 | + 127.0.1.1 linaro-developer |
387 | + to: |
388 | + 127.1.1.1 master |
389 | |
390 | then edit /etc/hostname and change: |
391 | |
392 | :: |
393 | |
394 | - linaro-developer |
395 | - to: |
396 | - master |
397 | + linaro-developer |
398 | + to: |
399 | + master |
400 | |
401 | Also, edit /etc/network/interfaces to ensure that either eth0 or usb0 |
402 | (depending on the ethernet interface on the board) is enabled. Depending on |
403 | @@ -61,7 +61,9 @@ |
404 | |
405 | at the command prompt type: |
406 | |
407 | -fdisk -S 63 -H 255 -c /dev/mmcblk0 |
408 | +:: |
409 | + |
410 | + fdisk -S 63 -H 255 -c /dev/mmcblk0 |
411 | |
412 | First a note. If you get anything wrong in this procedure don't panic. You can |
413 | quit fdisk (command "q") and no changes will be saved until you explicitly tell |
414 | @@ -73,8 +75,8 @@ |
415 | |
416 | :: |
417 | |
418 | - /dev/mmcblk0p1 * 63 106494 53216 c W95 FAT32 (LBA) |
419 | - /dev/mmcblk0p2 106496 6291455 3092480 83 Linux |
420 | + /dev/mmcblk0p1 * 63 106494 53216 c W95 FAT32 (LBA) |
421 | + /dev/mmcblk0p2 106496 6291455 3092480 83 Linux |
422 | |
423 | If it looks like this, then follow the 2 partition instructions below. |
424 | |
425 | @@ -82,9 +84,9 @@ |
426 | |
427 | :: |
428 | |
429 | - /dev/mmcblk0p1 1 8191 4095+ da Non-FS data |
430 | - /dev/mmcblk0p2 * 8192 114687 53248 c W95 FAT32 (LBA) |
431 | - /dev/mmcblk0p3 114688 6291455 3088384 83 Linux |
432 | + /dev/mmcblk0p1 1 8191 4095+ da Non-FS data |
433 | + /dev/mmcblk0p2 * 8192 114687 53248 c W95 FAT32 (LBA) |
434 | + /dev/mmcblk0p3 114688 6291455 3088384 83 Linux |
435 | |
436 | If it looks like this, follow the 3 partition instructions below: |
437 | |
438 | @@ -106,9 +108,9 @@ |
439 | |
440 | :: |
441 | |
442 | - /dev/mmcblk0p1 * 63 106494 53216 c W95 FAT32 (LBA) |
443 | - /dev/mmcblk0p2 106496 6291455 3092480 83 Linux |
444 | - /dev/mmcblk0p3 6291456 6422527 65536 c W95 FAT32 (LBA) |
445 | + /dev/mmcblk0p1 * 63 106494 53216 c W95 FAT32 (LBA) |
446 | + /dev/mmcblk0p2 106496 6291455 3092480 83 Linux |
447 | + /dev/mmcblk0p3 6291456 6422527 65536 c W95 FAT32 (LBA) |
448 | |
449 | Next we need to create the testrootfs and sdcard partitions. Unfortunately |
450 | we are only normally allowed 4 partitions so we have to create what's called |
451 | @@ -136,12 +138,12 @@ |
452 | |
453 | :: |
454 | |
455 | - /dev/mmcblk0p1 * 63 106494 53216 c W95 FAT32 (LBA) |
456 | - /dev/mmcblk0p2 106496 6291455 3092480 83 Linux |
457 | - /dev/mmcblk0p3 6291456 6422527 65536 c W95 FAT32 (LBA) |
458 | - /dev/mmcblk0p4 6422528 31116287 12346880 5 Extended |
459 | - /dev/mmcblk0p5 6424576 23201791 8388608 83 Linux |
460 | - /dev/mmcblk0p6 23203840 31116287 3956224 c W95 FAT32 (LBA) |
461 | + /dev/mmcblk0p1 * 63 106494 53216 c W95 FAT32 (LBA) |
462 | + /dev/mmcblk0p2 106496 6291455 3092480 83 Linux |
463 | + /dev/mmcblk0p3 6291456 6422527 65536 c W95 FAT32 (LBA) |
464 | + /dev/mmcblk0p4 6422528 31116287 12346880 5 Extended |
465 | + /dev/mmcblk0p5 6424576 23201791 8388608 83 Linux |
466 | + /dev/mmcblk0p6 23203840 31116287 3956224 c W95 FAT32 (LBA) |
467 | |
468 | Now we need to write this partition table back. Enter "w" and you will receive |
469 | some warnings but you can ignore these. |
470 | @@ -151,44 +153,48 @@ |
471 | |
472 | At the command prompt, type: |
473 | |
474 | -ls -l /dev/mmcblk0* |
475 | +:: |
476 | + |
477 | + ls -l /dev/mmcblk0* |
478 | |
479 | and you should see something like this: |
480 | |
481 | :: |
482 | |
483 | - brw-rw---- 1 root disk 179, 0 2012-01-19 12:37 /dev/mmcblk0 |
484 | - brw-rw---- 1 root disk 179, 1 2012-01-19 12:37 /dev/mmcblk0p1 |
485 | - brw-rw---- 1 root disk 179, 2 2012-01-19 12:37 /dev/mmcblk0p2 |
486 | - brw-rw---- 1 root disk 179, 3 2012-01-19 12:37 /dev/mmcblk0p3 |
487 | - brw-rw---- 1 root disk 179, 4 2012-01-19 12:37 /dev/mmcblk0p4 |
488 | - brw-rw---- 1 root disk 179, 5 2012-01-19 12:37 /dev/mmcblk0p5 |
489 | - brw-rw---- 1 root disk 179, 6 2012-01-19 12:37 /dev/mmcblk0p6 |
490 | + brw-rw---- 1 root disk 179, 0 2012-01-19 12:37 /dev/mmcblk0 |
491 | + brw-rw---- 1 root disk 179, 1 2012-01-19 12:37 /dev/mmcblk0p1 |
492 | + brw-rw---- 1 root disk 179, 2 2012-01-19 12:37 /dev/mmcblk0p2 |
493 | + brw-rw---- 1 root disk 179, 3 2012-01-19 12:37 /dev/mmcblk0p3 |
494 | + brw-rw---- 1 root disk 179, 4 2012-01-19 12:37 /dev/mmcblk0p4 |
495 | + brw-rw---- 1 root disk 179, 5 2012-01-19 12:37 /dev/mmcblk0p5 |
496 | + brw-rw---- 1 root disk 179, 6 2012-01-19 12:37 /dev/mmcblk0p6 |
497 | |
498 | Now we're going to make filing systems and label the new patitions. Enter the |
499 | following three lines at the command prompt: |
500 | |
501 | :: |
502 | |
503 | - mkfs.vfat -n testboot /dev/mmcblk0p3 |
504 | - mkfs.vfat -n sdcard /dev/mmcblk0p6 |
505 | - mkfs.ext3 -L testrootfs /dev/mmcblk0p5 |
506 | + mkfs.vfat -n testboot /dev/mmcblk0p3 |
507 | + mkfs.vfat -n sdcard /dev/mmcblk0p6 |
508 | + mkfs.ext3 -L testrootfs /dev/mmcblk0p5 |
509 | |
510 | This last command does take some time, so be patient. Once it has completed, |
511 | reboot the card once more, and then check that the labels are correctly assigned |
512 | by typing: |
513 | |
514 | -ls -l /dev/disk/by-label |
515 | +:: |
516 | + |
517 | + $ ls -l /dev/disk/by-label |
518 | |
519 | If all is well, you should see something like the following: |
520 | |
521 | :: |
522 | |
523 | - lrwxrwxrwx 1 root root 15 May 31 21:48 boot -> ../../mmcblk0p1 |
524 | - lrwxrwxrwx 1 root root 15 May 31 21:48 rootfs -> ../../mmcblk0p2 |
525 | - lrwxrwxrwx 1 root root 15 May 31 21:48 sdcard -> ../../mmcblk0p6 |
526 | - lrwxrwxrwx 1 root root 15 May 31 21:48 testboot -> ../../mmcblk0p3 |
527 | - lrwxrwxrwx 1 root root 15 May 31 21:48 testrootfs -> ../../mmcblk0p5 |
528 | + lrwxrwxrwx 1 root root 15 May 31 21:48 boot -> ../../mmcblk0p1 |
529 | + lrwxrwxrwx 1 root root 15 May 31 21:48 rootfs -> ../../mmcblk0p2 |
530 | + lrwxrwxrwx 1 root root 15 May 31 21:48 sdcard -> ../../mmcblk0p6 |
531 | + lrwxrwxrwx 1 root root 15 May 31 21:48 testboot -> ../../mmcblk0p3 |
532 | + lrwxrwxrwx 1 root root 15 May 31 21:48 testrootfs -> ../../mmcblk0p5 |
533 | |
534 | Your sd card image is now complete. Now, go on to the section "Adding a device |
535 | to LAVA" |
536 | @@ -214,11 +220,11 @@ |
537 | |
538 | :: |
539 | |
540 | - /dev/mmcblk0p1 1 8191 4095+ da Non-FS data |
541 | - /dev/mmcblk0p2 * 8192 114687 53248 c W95 FAT32 (LBA) |
542 | - /dev/mmcblk0p3 114688 6291455 3088384 83 Linux |
543 | - /dev/mmcblk0p4 6291456 31116287 12412416 5 Extended |
544 | - /dev/mmcblk0p5 6293504 6424575 65536 c W95 FAT32 (LBA) |
545 | + /dev/mmcblk0p1 1 8191 4095+ da Non-FS data |
546 | + /dev/mmcblk0p2 * 8192 114687 53248 c W95 FAT32 (LBA) |
547 | + /dev/mmcblk0p3 114688 6291455 3088384 83 Linux |
548 | + /dev/mmcblk0p4 6291456 31116287 12412416 5 Extended |
549 | + /dev/mmcblk0p5 6293504 6424575 65536 c W95 FAT32 (LBA) |
550 | |
551 | To create the testrootfs partition, we type "n" to create a new partition and |
552 | once again select the default start sector by pressing "Enter". For the last |
553 | @@ -234,13 +240,13 @@ |
554 | |
555 | :: |
556 | |
557 | - /dev/mmcblk0p1 1 8191 4095+ da Non-FS data |
558 | - /dev/mmcblk0p2 * 8192 114687 53248 c W95 FAT32 (LBA) |
559 | - /dev/mmcblk0p3 114688 6291455 3088384 83 Linux |
560 | - /dev/mmcblk0p4 6291456 31116287 12412416 5 Extended |
561 | - /dev/mmcblk0p5 6293504 6424575 65536 c W95 FAT32 (LBA) |
562 | - /dev/mmcblk0p6 6426624 23203839 8388608 83 Linux |
563 | - /dev/mmcblk0p7 23205888 31116287 3955200 c W95 FAT32 (LBA) |
564 | + /dev/mmcblk0p1 1 8191 4095+ da Non-FS data |
565 | + /dev/mmcblk0p2 * 8192 114687 53248 c W95 FAT32 (LBA) |
566 | + /dev/mmcblk0p3 114688 6291455 3088384 83 Linux |
567 | + /dev/mmcblk0p4 6291456 31116287 12412416 5 Extended |
568 | + /dev/mmcblk0p5 6293504 6424575 65536 c W95 FAT32 (LBA) |
569 | + /dev/mmcblk0p6 6426624 23203839 8388608 83 Linux |
570 | + /dev/mmcblk0p7 23205888 31116287 3955200 c W95 FAT32 (LBA) |
571 | |
572 | Now we need to write this partition table back. Enter "w" and you will receive |
573 | some warnings but you can ignore these. |
574 | @@ -250,29 +256,31 @@ |
575 | |
576 | At the command prompt, type: |
577 | |
578 | -ls -l /dev/mmcblk0* |
579 | +:: |
580 | + |
581 | + ls -l /dev/mmcblk0* |
582 | |
583 | and you should see something like this: |
584 | |
585 | :: |
586 | |
587 | - brw-rw---- 1 root disk 179, 0 2012-02-10 19:30 /dev/mmcblk0 |
588 | - brw-rw---- 1 root disk 179, 1 2012-02-10 19:30 /dev/mmcblk0p1 |
589 | - brw-rw---- 1 root disk 179, 2 2012-02-10 19:30 /dev/mmcblk0p2 |
590 | - brw-rw---- 1 root disk 179, 3 2012-02-10 19:30 /dev/mmcblk0p3 |
591 | - brw-rw---- 1 root disk 179, 4 2012-02-10 19:30 /dev/mmcblk0p4 |
592 | - brw-rw---- 1 root disk 179, 5 2012-02-10 19:30 /dev/mmcblk0p5 |
593 | - brw-rw---- 1 root disk 179, 6 2012-02-10 19:30 /dev/mmcblk0p6 |
594 | - brw-rw---- 1 root disk 179, 7 2012-02-10 19:30 /dev/mmcblk0p7 |
595 | + brw-rw---- 1 root disk 179, 0 2012-02-10 19:30 /dev/mmcblk0 |
596 | + brw-rw---- 1 root disk 179, 1 2012-02-10 19:30 /dev/mmcblk0p1 |
597 | + brw-rw---- 1 root disk 179, 2 2012-02-10 19:30 /dev/mmcblk0p2 |
598 | + brw-rw---- 1 root disk 179, 3 2012-02-10 19:30 /dev/mmcblk0p3 |
599 | + brw-rw---- 1 root disk 179, 4 2012-02-10 19:30 /dev/mmcblk0p4 |
600 | + brw-rw---- 1 root disk 179, 5 2012-02-10 19:30 /dev/mmcblk0p5 |
601 | + brw-rw---- 1 root disk 179, 6 2012-02-10 19:30 /dev/mmcblk0p6 |
602 | + brw-rw---- 1 root disk 179, 7 2012-02-10 19:30 /dev/mmcblk0p7 |
603 | |
604 | Now we're going to make filing systems and label the new patitions. Enter the |
605 | following three lines at the command prompt: |
606 | |
607 | :: |
608 | |
609 | - mkfs.vfat -n testboot /dev/mmcblk0p5 |
610 | - mkfs.vfat -n sdcard /dev/mmcblk0p7 |
611 | - mkfs.ext3 -L testrootfs /dev/mmcblk0p6 |
612 | + mkfs.vfat -n testboot /dev/mmcblk0p5 |
613 | + mkfs.vfat -n sdcard /dev/mmcblk0p7 |
614 | + mkfs.ext3 -L testrootfs /dev/mmcblk0p6 |
615 | |
616 | This last command does take some time, so be patient. Once it has completed, |
617 | reboot the card once more, and then check that the labels are correctly assigned |
618 | @@ -284,11 +292,11 @@ |
619 | |
620 | :: |
621 | |
622 | - lrwxrwxrwx 1 root root 15 2012-02-10 19:30 boot -> ../../mmcblk0p2 |
623 | - lrwxrwxrwx 1 root root 15 2012-02-10 19:30 rootfs -> ../../mmcblk0p3 |
624 | - lrwxrwxrwx 1 root root 15 2012-02-10 19:30 sdcard -> ../../mmcblk0p7 |
625 | - lrwxrwxrwx 1 root root 15 2012-02-10 19:30 testboot -> ../../mmcblk0p5 |
626 | - lrwxrwxrwx 1 root root 15 2012-02-10 19:30 testrootfs -> ../../mmcblk0p6 |
627 | + lrwxrwxrwx 1 root root 15 2012-02-10 19:30 boot -> ../../mmcblk0p2 |
628 | + lrwxrwxrwx 1 root root 15 2012-02-10 19:30 rootfs -> ../../mmcblk0p3 |
629 | + lrwxrwxrwx 1 root root 15 2012-02-10 19:30 sdcard -> ../../mmcblk0p7 |
630 | + lrwxrwxrwx 1 root root 15 2012-02-10 19:30 testboot -> ../../mmcblk0p5 |
631 | + lrwxrwxrwx 1 root root 15 2012-02-10 19:30 testrootfs -> ../../mmcblk0p6 |
632 | |
633 | Your sd card image is now complete. Now, go on to the section "Adding a device |
634 | to LAVA" |
635 | @@ -306,21 +314,21 @@ |
636 | |
637 | :: |
638 | |
639 | - device_type = panda |
640 | - hostname = panda01 |
641 | + device_type = panda |
642 | + hostname = panda01 |
643 | |
644 | The (current) list of supported device types is: |
645 | |
646 | :: |
647 | |
648 | - beagle |
649 | - beagle-xm |
650 | - mx51evk |
651 | - mx53loco |
652 | - origen |
653 | - panda |
654 | - snowball_sd |
655 | - vexpress-a9 |
656 | + beagle |
657 | + beagle-xm |
658 | + mx51evk |
659 | + mx53loco |
660 | + origen |
661 | + panda |
662 | + snowball |
663 | + vexpress-a9 |
664 | |
665 | If your device isn't in this list check the |
666 | /srv/lava/instances/production/etc/lava-dispatcher/device-types directory to |
nice guide