linux-setup-scratch.rst 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. **********************************
  2. Setup Linux Toolchain from Scratch
  3. **********************************
  4. .. note::
  5. This is documentation for the CMake-based build system which is currently in preview release. The documentation may have gaps, and you may encounter bugs (please report either of these). To view documentation for the older GNU Make based build system, switch versions to the 'latest' master branch or a stable release.
  6. The following instructions are alternative to downloading binary toolchain from Espressif website. To quickly setup the binary toolchain, instead of compiling it yourself, backup and proceed to section :doc:`linux-setup`.
  7. Install Prerequisites
  8. =====================
  9. To compile with ESP-IDF you need to get the following packages:
  10. - CentOS 7::
  11. sudo yum install git wget ncurses-devel flex bison gperf python pyserial cmake ninja-build ccache
  12. - Ubuntu and Debian::
  13. sudo apt-get install git wget libncurses-dev flex bison gperf python python-serial cmake ninja-build ccache
  14. - Arch::
  15. sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial cmake ninja ccache
  16. .. note::
  17. CMake version 3.5 or newer is required for use with ESP-IDF. Older Linux distributions may require updating, or enabling of a "backports" repository, or installing of a "cmake3" package not "cmake")
  18. Compile the Toolchain from Source
  19. =================================
  20. - Install dependencies:
  21. - CentOS 7::
  22. sudo yum install gawk gperf grep gettext ncurses-devel python python-devel automake bison flex texinfo help2man libtool make
  23. - Ubuntu pre-16.04::
  24. sudo apt-get install gawk gperf grep gettext libncurses-dev python python-dev automake bison flex texinfo help2man libtool make
  25. - Ubuntu 16.04::
  26. sudo apt-get install gawk gperf grep gettext python python-dev automake bison flex texinfo help2man libtool libtool-bin make
  27. - Debian 9::
  28. sudo apt-get install gawk gperf grep gettext libncurses-dev python python-dev automake bison flex texinfo help2man libtool libtool-bin make
  29. - Arch::
  30. TODO
  31. Download ``crosstool-NG`` and build it::
  32. cd ~/esp
  33. git clone -b xtensa-1.22.x https://github.com/espressif/crosstool-NG.git
  34. cd crosstool-NG
  35. ./bootstrap && ./configure --enable-local && make install
  36. Build the toolchain::
  37. ./ct-ng xtensa-esp32-elf
  38. ./ct-ng build
  39. chmod -R u+w builds/xtensa-esp32-elf
  40. Toolchain will be built in ``~/esp/crosstool-NG/builds/xtensa-esp32-elf``. Follow :ref:`instructions for standard setup <setup-linux-toolchain-add-it-to-path>` to add the toolchain to your ``PATH``.
  41. Next Steps
  42. ==========
  43. To carry on with development environment setup, proceed to section :ref:`get-started-get-esp-idf`.