-
-
Save jcmvbkbc/316e6da728021c8ff670a24e674a35e6 to your computer and use it in GitHub Desktop.
Latest versions of these scripts are available in git repository https://github.com/jcmvbkbc/esp32-linux-build |
First of all, I must say that you have done an excellent job here. I was wondering how I can make it work for ESP32 SoC boards, specifically the ESP32-WROOM-32 variant. Could you assist me in figuring this out?
@jcmvbkbc
how I can make it work for ESP32 SoC boards
@mehdinourollah it used to work on esp32, with this kernel branch configured with the esp32_defconfig and that bootloader configured with the sdkconfig.defaults.esp32. The thing is: you either need to keep rootfs size under certain limit or resolve that issue.
Could you assist me in figuring this out?
Please let me know if you have any specific questions.
Hi @jcmvbkbc,
Great job! And, thank you for sharing this script. I am trying to display the console output to an SPI TFT display. I guess I need to write a device driver or I would need to change some configuration?
I am trying to display the console output to an SPI TFT display. I need to write a device driver or I would need to change some configuration?
@metanav I think it involves a virtual console driver and either an SPI driver or an IPC driver that would send commands to a renderer implemented in firmware.
I added an alternative documentation from the Dockerfile that Adafruit did of this Gist:
https://github.com/hpsaturn/esp32s3-linux
Hi @jcmvbkbc
I tried your "wifi" script on WSL (Win 11) and got it to build successfully after resolving some missing dependencies.
I loaded the firmware images on a custom board I made with ESP32-S3 ("wroom-1" module, N16R8 variant) and it seems to work great!
As a quick benchmark, I ran a ping test (to Google server and to my PC on the LAN) and I got this results:
--- www.google.com ping statistics ---
3035 packets transmitted, 3022 packets received, 0% packet loss
round-trip min/avg/max = 19.741/35.490/966.684 ms
--- 192.168.24.129 ping statistics ---
1351 packets transmitted, 1345 packets received, 0% packet loss
round-trip min/avg/max = 10.034/22.907/476.367 ms
Pinging back from my Windows PC yields a min/avg/max = 10/77/138 ms
I also tried to see how much download speed I could get, by running "time wget" with a 1GB file and got around 435KiB/s (1e9 bytes in 37m22s). That's about 3.5Mbps!
That's not bad at all considering the amount of overhead involved.
During all these test I got a few messages with GFP_KERNEL ("page allocation failure") but the system never hanged or rebooted.
I have to say I'm quite impressed by what you achieved with this platform. Great work!
Hello everybody,
I tried to build the image using both scripts on wsl2 and got errors on the IDF setup.
++ unset WARNING_MSG
++ unset uninstall
++ unset is_idf_path_esp_idf
++ unset is_script_dir_esp_idf
++ unset __realpath
++ unset __main
++ unset __verbose
++ unset __enable_autocomplete
++ unset __cleanup
++ unset __is_dir_esp_idf
++ return 1
+ cd examples/get-started/linux_boot
+ idf.py set-target esp32s3
./rebuild-esp32s3-linux.sh: line 52: idf.py: command not found
+ cp sdkconfig.defaults.esp32s3 sdkconfig
+ idf.py build
./rebuild-esp32s3-linux.sh: line 54: idf.py: command not found
+ read -p 'ready to flash... press enter'
ready to flash... press enter
Looks like it is missing a call to ./install.sh
only you need remove the hidden directory of your local machine of the IDF. Something like this:
rm -r ~/.espressif
It is working in my ESP32S3 TTGO T7 v1.2 and the firmware was compiled in my Debian 11 with some extra packages:
esp32s3linux.mp4
Thanks! nice job 👍