getting_started.rst 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. Getting Started
  2. ===============
  3. Selecting the right version
  4. ---------------------------
  5. Gluon's releases are managed using `Git tags`_. If you're a community getting
  6. started with Gluon we recommend to use the latest stable release if Gluon.
  7. Take a look at the `list of gluon releases`_ and notice the latest release,
  8. e.g. *v2014.3*.
  9. Please keep in mind that a matching site configuration for your community
  10. is required. Due to new features being added (or sometimes being removed)
  11. the format of the site configuration changes slightly between releases.
  12. Recent releases (starting with *v2014.3.1*) will come with an example
  13. configuration located in *docs/site-example/*.
  14. .. _Git tags: http://git-scm.com/book/en/Git-Basics-Tagging
  15. .. _list of gluon releases: https://github.com/freifunk-gluon/gluon/releases
  16. Building the image
  17. ------------------
  18. .. note:: Make sure you have configured your `Git identity`_.
  19. If you neglect this, you'll get strange error messages.
  20. .. _Git identity: http://git-scm.com/book/en/Getting-Started-First-Time-Git-Setup#Your-Identity
  21. To build Gluon, first check out the repository:
  22. ::
  23. git clone https://github.com/freifunk-gluon/gluon.git gluon -b v2014.3
  24. This command will create a directory named *gluon/*.
  25. It might also tell a scary message about being in a *detached state*.
  26. **Don't panic!** Everything's fine.
  27. Now, enter the freshly created directory:
  28. ::
  29. cd gluon
  30. It's time to add (or create) your site configuration.
  31. So let's create the directory *site/*:
  32. ::
  33. mkdir site
  34. cd site
  35. Copy *site.conf* and *site.mk* from *docs/site-example*:
  36. ::
  37. cp ../docs/site-example/site.conf .
  38. cp ../docs/site-example/site.mk .
  39. .. note:: On **v2014.3**, take both files from
  40. https://github.com/freifunk-gluon/gluon/tree/2014.3.x/docs/site-example
  41. Edit both files to match your community, then go back to the top-level Gluon
  42. directory and build Gluon:
  43. ::
  44. cd ..
  45. make update # Get other repositories used by Gluon
  46. make # Build Gluon
  47. When calling make, the OpenWRT build environment is prepared/updated.
  48. In case of errors read the messages carefully and try to fix the stated issues (e.g. install tools not available yet).
  49. To rebuild the images only, just use:
  50. ::
  51. make images
  52. The built images can be found in the directory `images`. Of these, the factory
  53. images are to be used when flashing from the original firmware a device came with,
  54. and sysupgrade is to upgrade from other versions of Gluon or any other OpenWRT-based
  55. system.
  56. For the build reserve 6GB of disk space. The build requires packages
  57. for `subversion`, ncurses headers (`libncurses-dev`) and zlib headers
  58. (`libz-dev`).
  59. There are two levels of `make clean`:
  60. ::
  61. make clean
  62. will ensure all packages are rebuilt; this is what you normally want to do after an update.
  63. ::
  64. make dirclean
  65. will clean the entire tree, so the toolchain will be rebuilt as well, which is
  66. not necessary in most cases, and will take a while.
  67. So all in all, to update and rebuild a Gluon build tree, the following commands should be used:
  68. ::
  69. git pull
  70. (cd site && git pull)
  71. make update
  72. make clean
  73. make