UEFI build question

Hi,I‘ve been working on UEFI optimization and it did work on r35.3.1.
and I also need to optimize r35.2.1.
When I clone the workspace of r35.2.1, and build it at first, there is no problem. But after I build r35.3.1, building r35.2.1 comes out these information.

csp@csp:~/nvidia_source/uefi_lxh/nvidia-uefi-r35.2.1-updates$ bash edk2-nvidia/Platform/NVIDIA/Jetson/build.sh
nvidia: building from workspace rooted at: /home/csp/nvidia_source/uefi_lxh/nvidia-uefi-r35.2.1-updates
nvidia: found command: python3.
nvidia: found command: virtualenv.
nvidia: found command: mono.
nvidia: found command: aarch64-linux-gcc.
nvidia: Activating Python virtual environment.
nvidia: Building from tarball
nvidia: Updating build environment (edk2-nvidia/Platform/NVIDIA/Jetson/PlatformBuild.py).
edk2-nvidia/Silicon/NVIDIA/scripts/prepare_stuart.sh: line 49: stuart_update: command not found

I don’t why building 35.3.1 makes building 35.2.1 a failure, is there any explaination?
By the way, when I removed r35.2.1 files and retrieve it on edkrepo clone, it can be build successfully.

Hi 854053437,

What’s your target version?

If you are still developing the board, I would suggest using the latest release (currently, it is Jetpack 5.1.2-R35.4.1).

It seems the build environment issue.
Are you using standalone Ubuntu 18.04 as your host PC?

Have you cloned 2 sources to different directories?

I could clone 2 sources and build them respectively on my host.

Our board uses both r35.2.1 and r35.3.1, and it might not use the latest version.

Yes, I met this situation before when I incorrectly clone the worksapce. And my host PC is Ubuntu18.04.

In fact, my directories are as follows

csp@csp:~/nvidia_source/uefi_lxh$ ls
edk2_docker_alias.sh  edkrepo  nvidia-uefi-r35.2.1-updates  nvidia-uefi-r35.3.1  nvidia-uefi-r35.3.1-updates 

and it comes out a failure when build r35.2.1
But I cloned one more sources as follows

csp@csp:~/nvidia_source/uefi_lxh$ ls
edk2_docker_alias.sh  edkrepo  nvidia-uefi-r35.2.1  nvidia-uefi-r35.2.1-updates  nvidia-uefi-r35.3.1  nvidia-uefi-r35.3.1-updates

The question disappeared, and there is no build failure between different versions. I just don’t know how it works.

How do you build r35.2.1 when your directory does not have nvidia-uefi-r35.2.1…?

The source in different directories should be independant.

Sorry, I didn’t make it clear. what I actually build is r35.2.1-updates and it failed. But after I cloned r35.2.1 and build it, r35.2.1-updates can be build successful as well

Does your issue happen only after you’ve built r35.3.1?

Could you help to check if my understanding is correct as following?

  1. boot → build r35.3.1 (success) → build r35.2.1-updates (failed) → clone r35.2.1 → build r35.2.1-updates (success)
  2. boot → remove r35.2.1 → build r35.2.1-updates (success)

No, there is no error in building r35.3.1

Yes, but there is a little differences. My operation is like

  1. boot → build r35.3.1 (success) → build r35.2.1-updates (failed) → clone r35.2.1 → build r35.2.1 (success)→build r35.2.1-updates (success)

What I mean is that if “build r35.3.1” is necessary to reproduce the issue with “build r35.2.1-updates (failed)”?

How about if you reboot the host and build r35.2.1-updates directly?

Yes, I did it twice and got the same result.

I have reboot my host to repeat the same flow but didn’t build r35.2.1-updates directly. Because of the slow clone speed, I didn’t try it again and after clone r35.2.1 there is no problem in building.

It would not take too much time for both clone and build the UEFI.

You could try to reboot the host and build r35.2.1-updates directly.

Or you could do further development with keeping r35.2.1 in your directory.

I just did that

It takes long time to clone full UEFI project by edk2 due to our network, so I don’t want to spend much time on it.
Thanks, Kevin!

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.