qemu_esp32 icon indicating copy to clipboard operation
qemu_esp32 copied to clipboard

Stuck on step 3

Open D1360-64RC14 opened this issue 2 years ago • 1 comments

This is a log of issues I came across while following the README.md instructions (and my workarounds to those).

My environment is:

  • Linux distro: Fedora 35;
  • ESP-IDF version: 5.0.0;
  • My starting directory is $HOME/esp (I runned the first git clone inside this directory);
  • My ESP-IDF's directory is $HOME/esp/esp-idf;
  • I've set IDF's environment variables (. ./export.sh) before all steps (ESP-IDF: Set up the environment variables);

1. Build qemu


Error: Git no more supports protocol git://

When running git clone I got this error...

$ git clone git://github.com/Ebiroll/qemu-xtensa-esp32

Cloning into 'qemu-xtensa-esp32'...
fatal: remote error: 
  The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.

With HTTPS protocol it worked:

git clone https://github.com/Ebiroll/qemu-xtensa-esp32

Error: qemu-xtensa-esp32/configure needs Python 2

When running configure command I got this error...

$ ../qemu-xtensa-esp32/configure --disable-werror --prefix=`pwd`/root --target-list=xtensa-softmmu,xtensaeb-softmmu

ERROR: Cannot use 'python', Python 2.6 or later is required.
       Note that Python 3 or later is not yet supported.
       Use --python=/path/to/python to specify a supported Python.

As it says, I just added --python=/bin/python2.7 and it worked. (yes, Python 2.7)

../qemu-xtensa-esp32/configure --disable-werror --prefix=`pwd`/root --target-list=xtensa-softmmu,xtensaeb-softmmu --python=/bin/python2.7

TIP: To get any program's path, you can use the command whereis <program>. Ex: whereis python2.7

2. Dump rom1 and rom.bin

espressif removed esp32-r0-rom.bin from the pc-bios repository.

From where I'll dump these files? If I'm trying to emulate an ESP32, it's probably because I don't have an ESP32...

3. Build an esp32 application

# Open a new window to build example app, and set env variables
export PATH=$PATH:$HOME/esp/xtensa-esp32-elf/bin  # --- What is "xtensa-esp32-elf"? I've never downloaded it
export IDF_PATH=~/esp/esp-idf
cd esp  # --- I assume I was supposed to be in the home directory.
git clone git://github.com/Ebiroll/qemu_esp32  # --- Again, git: -> https:
cd qemu_esp32

I've already created the directory "qemu_esp32" in this folder (from step 1), so I'll call this clone "qemu_esp32_Ebiroll".

$ git clone https://github.com/Ebiroll/qemu_esp32 qemu_esp32_Ebiroll
$ cd qemu_esp32_Ebiroll
$ make menuconfig

Makefile:8: /home/diego/esp/esp-idf/make/project.mk: No such file or directory
make: *** No rule to make target '/home/diego/esp/esp-idf/make/project.mk'.  Stop.


$ idf.py menuconfig  # Maybe?

Executing action: menuconfig
CMakeLists.txt not found in project directory /home/diego/esp/qemu_esp32_Ebiroll

. . .

It's impossible to pass from step 3! Probably with an previous version of ESP-IDF.

D1360-64RC14 avatar Apr 17 '22 20:04 D1360-64RC14

Hello. Try Espressifs Qemu If you cannot make a rom dump. https://github.com/espressif/qemu

Ebiroll avatar Apr 17 '22 21:04 Ebiroll