Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Way of opting out of downloading ESP32S2 tools for the install scripts (IDFGH-3092) #5113

Closed
KaeLL opened this issue Apr 13, 2020 · 2 comments
Assignees
Labels
Resolution: Done Issue is done internally Status: Resolved Issue is done internally Type: Feature Request Feature request for IDF

Comments

@KaeLL
Copy link
Contributor

KaeLL commented Apr 13, 2020

Title. ~750MiB of disk space is highly valuable to me, especially when they will not be used at all.

The default can install whatever you want, like it does now, no change there. But an binary parameter like
--no-esp32s2
or a list of targets like
--enable-targets=esp32,esp32s2,...
like GCC's would be ideal.

@KaeLL KaeLL added the Type: Feature Request Feature request for IDF label Apr 13, 2020
@github-actions github-actions bot changed the title Way of opting out of downloading ESP32S2 tools for the install scripts Way of opting out of downloading ESP32S2 tools for the install scripts (IDFGH-3092) Apr 13, 2020
@igrr
Copy link
Member

igrr commented Apr 13, 2020

This is actually pretty easy to implement for the installation part, and partially done (at least in the underlying idf_tools.py). However the export part is somewhat dumb at the moment and will complain if some tools aren't installed. Will fix that.

The good news is that in the next toolchain release the targets are going to get merged. Same is going to happen for the ULP binutils. So the "full" installation size is going to be somewhat reduced.

@igrr igrr self-assigned this Apr 13, 2020
@KaeLL
Copy link
Contributor Author

KaeLL commented Mar 17, 2021

@igrr any news on this feature?

/tools $ du -BM -d 1
21M     ./esp32s2ulp-elf
21M     ./esp32ulp-elf
275M    ./xtensa-esp32s3-elf
273M    ./xtensa-esp32-elf
550M    ./riscv32-esp-elf
274M    ./xtensa-esp32s2-elf
7M      ./openocd-esp32
1419M   .

This is not right.

$ idf_tools.py list
* xtensa-esp32-elf: Toolchain for Xtensa (ESP32) based on GCC
  - esp-2020r3-8.4.0 (recommended, installed)
* xtensa-esp32s2-elf: Toolchain for Xtensa (ESP32-S2) based on GCC
  - esp-2020r3-8.4.0 (recommended, installed)
* xtensa-esp32s3-elf: Toolchain for Xtensa (ESP32-S3) based on GCC
  - esp-2020r3-8.4.0 (recommended, installed)
* riscv32-esp-elf: Toolchain for 32-bit RISC-V based on GCC
  - 1.24.0.123_64eb9ff-8.4.0 (recommended, installed)
* esp32ulp-elf: Toolchain for ESP32 ULP coprocessor
  - 2.28.51-esp-20191205 (recommended, installed)
* esp32s2ulp-elf: Toolchain for ESP32-S2 ULP coprocessor
  - 2.28.51-esp-20191205 (recommended, installed)
* cmake: CMake build system (optional)
  - 3.16.4 (recommended)
* openocd-esp32: OpenOCD for ESP32
  - v0.10.0-esp32-20200709 (recommended, installed)
* ninja: Ninja build system (optional)
  - 1.10.2 (recommended)

Of the recommended above, only xtensa-esp32-elf and esp32ulp-elf, which amount to 294MiB, are useful to me, the rest (1125MiB) is just pointless waste of precious disk space.
The ideal way of solving this problem would be borrowing the same thing that already exists on esptool.py, in which I'd call ./install.sh --chip esp32 and it installs only vanilla esp32 tools (xtensa-esp32-elf, esp32ulp-elf, and openocd-esp32), and that's it.
An option to delete the tools/dist cache after the installation is a plus but not necessary.

@espressif-bot espressif-bot added the Status: In Progress Work is in progress label Apr 26, 2021
@espressif-bot espressif-bot added Status: Reviewing Issue is being reviewed Resolution: Done Issue is done internally Status: Resolved Issue is done internally and removed Status: In Progress Work is in progress Status: Reviewing Issue is being reviewed labels Jul 19, 2021
espressif-bot pushed a commit that referenced this issue Oct 12, 2021
Allow user to select specific ESP_TARGET while setting up ESD_IDF.
Only necessary tools for given target will be downloaded and installed.

Closes #5113
espressif-bot pushed a commit that referenced this issue Oct 12, 2021
Allow user to select specific ESP_TARGET while setting up ESD_IDF.
Only necessary tools for given target will be downloaded and installed.

Closes #5113
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolution: Done Issue is done internally Status: Resolved Issue is done internally Type: Feature Request Feature request for IDF
Projects
None yet
Development

No branches or pull requests

3 participants