0a6abf36cafa99c5999137ed9eb067630c7edf57
esp-idf Tools and Installer/Reinstaller
installs/reinstalls full esp-idf with my own additions on linux.
pulls from master so its the very latest
only currently tested on zsh and bash under debian-like, your mileage may vary depending on what features are used some features require user to have passwordless sudo rights
Literally the most schizophrenically overengineered thing I have ever made. idk why I did that
Total install size (discounting needed packages) is about 9GiB
Quick start
curl -s https://raw.githubusercontent.com/PrincessPi3/esp-idf-tools/refs/heads/master/install.sh | exec "$SHELL"; exec "$SHELL"
Usage
Some take optional [branch] paramater
[branch] is the esp-idf branch you desire, defaults to master if not specified.
run-esp-cmd
reinstalls non-interactively with no delays, logouts, or reboots
`run-esp-cmd`
run-esp-cmd test
tests the script. very fast. minimal actions taken. no reinstall is done
`run-esp-cmd test [branch]`
`run-esp-cmd t [branch]`
run-esp-cmd retool
reinstalls bins and export.sh, nothing else
`run-esp-cmd retool`
`run-esp-cmd rt`
run-esp-cmd cron
runs noninteractively with forced user logout and automatic reboot, plus delays
`run-esp-cmd cron [branch]`
`run-esp-cmd c [branch]`
run-esp-cmd update
updates and installs latest without reboot or user logout
`run-esp-cmd update [branch]`
`run-esp-cmd u [branch]`
run-esp-cmd interactive
interactively installs/reinstalls esp-idf
`run-esp-cmd interactive`
`run-esp-cmd i`
`run-esp-cmd install`
run-esp-cmd nuke
full delete and re-download and install
`run-esp-cmd nuke [branch]`
`run-esp-cmd n [branch]`
run-esp-cmd nukereboot
full delete and re-download and install, then reboot
`run-esp-cmd nukereboot [branch]`
`run-esp-cmd nr [branch]`
run-esp-cmd clearlogs
clear logs
`run-esp-cmd clearlogs`
`run-esp-cmd clear`
`run-esp-cmd cl`
run-esp-cmd help
display this help text
`run-esp-cmd help`
`run-esp-cmd h`
`run-esp-cmd -h`
`run-esp-cmd --help`
`help-esp-tools`
run-esp-cmd uninstall
uninstall esp-idf
`run-esp-cmd uninstall`
Uninstall:
curl -s https://raw.githubusercontent.com/PrincessPi3/esp-idf-tools/refs/heads/master/uninstall.sh | exec "$SHELL"; exec "$SHELL"
Features
get-idf-toolsenter esp-idfhelp-esp-toolsshow this helpexit-esp-toolsexit esp-idf and reset terminalbuildidf.py buildchangebaudalone prompts to enter baudratechangebaud <baudrate>sets baudrate manually- ex.
changebaud 115200
- ex.
changeespchange esp devicechangeespalone prompts to enterchangeesp <esp device>manually changes to- ex.
changeesp esp32p4
changeportchange serial portchangeportalone prompts to selectchangeport <tty device path>manually specifies path- ex.
changeport /dev/ttyUSB0changes to /dev/ttyUSB0
- ex.
cleanidf.py cleanfullcleanfully resets a project, 'idf.py fullclean' plus remove the build dir and delete some temp and backup filesrebuild-interactiveinteractively does afullcleanthen optionally anerase-flashandsetupoptionally save-defconfig optionally build or flashmonitorrebuild-auto-flashmonitornoninteractivelysetupsame as runningidf.py set-target $ESPTARGET; idf.py menuconfig; idf.py buildflashidf.py flashmonitoridf.py monitorerase-flashidf.py erase-flashsave-defconfigidf.py save-defconfigstep-flash-monitorattempt clean, build, flash, then monitor, dying on errorimagesize/size-statsget binary size, broken down in various ways including total, by componant, and by filechipinfoget information from the esp chipespinfoget detailed information from the esp chipmenuconfigrunidf.py menuconfigcreate-projectalone prompts for a project namecreate-project <project name>creates a project with- ex.
create-project hello-world
- ex.
esp-install-monitormonitors install.log. alias fortail -n 75 -f $ESPIDFTOOLS_INSTALLDIR/install.logesp-install-logsdisplays full text of install.log and version-data.txtpatch-esp-idf <patch path>patches esp-idf with<patch path>patch file- ex.
patch-esp-idf ./some.patch
- ex.
$examplesis a shortcut for examples directory in esp-idf- ex. cd
$examples
- ex. cd
Sillyfilly-espdumper
todo: integrate
Cronjob
reinstall from master everyday at 4am, logging out users with warn delays and rebooting after
crontab -eadd below to bottom of file: ( just replace the path with your own)0 4 * * * bash /home/username/esp/esp-install-custom/esp-idf-tools-cmd.sh cron
Description
Languages
Shell
100%