Re: Trying to install your edk2-rk3399 code but the script fails because some (minor) bug...
Mark Millard <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.arm |
|---|---|
| Message-ID | <[email protected]> |
On Aug 17, 2025, at 02:13, Mario Marietto <[email protected]> wrote: > Hello to everyone, > > I would like to install the "Rockchip RK3399 UEFI Firmware" that I found here : > > https://github.com/mouseos/edk2-rk3399 > > on my KHADAS Edge-V (and on my RockPro64 RK3399) because I'm building a FreeBSD modular phone and I've chosen this board as the main board. I can't use u-boot because it does not support the screen that I've bought (a 4 inches 720x720 display),but I've been able to use it using the Jared McNeill UEFI for the Rockchip RK356X. > > I think I have good chances to use it also with the RockChip RK3399. But only if someone can help me,I presume,to fix a bug in the code. I want to clarify that I don't want to steal your time. I ask for your help only because I presume that the bug is easy to fix (it seems only a matter of using lowercase or uppercase in the *.c files),but if you find more problems,feel free to don't help... I plan to limit my comments on the issue to be this one reply. > The script fails to produce the file "SDM845PKG_UEFI.fd". > > I will show you : > > ..... > test_build___init__ (CheckPythonSyntax.Tests) ... ok > test_build_build (CheckPythonSyntax.Tests) ... ok > test_sitecustomize (CheckPythonSyntax.Tests) ... ok > test32bitUnicodeCharInUtf8Comment (CheckUnicodeSourceFiles.Tests) ... ok > test32bitUnicodeCharInUtf8File (CheckUnicodeSourceFiles.Tests) ... ok > testSupplementaryPlaneUnicodeCharInUtf16File (CheckUnicodeSourceFiles.Tests) ... ok > testSurrogatePairUnicodeCharInUtf16File (CheckUnicodeSourceFiles.Tests) ... ok > testSurrogatePairUnicodeCharInUtf8File (CheckUnicodeSourceFiles.Tests) ... ok > testSurrogatePairUnicodeCharInUtf8FileWithBom (CheckUnicodeSourceFiles.Tests) ... ok > testUtf16InUniFile (CheckUnicodeSourceFiles.Tests) ... ok > testValidUtf8File (CheckUnicodeSourceFiles.Tests) ... ok > testValidUtf8FileWithBom (CheckUnicodeSourceFiles.Tests) ... ok > > ---------------------------------------------------------------------- > Ran 280 tests in 0.685s > > OK > make[1]: uscita dalla directory «/home/marietto/Scaricati/workspace-edk2/edk2/BaseTools/Tests» > make: uscita dalla directory «/home/marietto/Scaricati/workspace-edk2/edk2/BaseTools» > + rm -f boot_polaris.img uefi_img > + rm -f workspace/Build/sdm845Pkg/DEBUG_GCC5/FV/SDM845PKG_UEFI.fd > + GCC5_AARCH64_PREFIX=aarch64-linux-gnu- > + build -s -n 0 -a AARCH64 -t GCC5 -p sdm845Pkg/polaris.dsc -b DEBUG > Build environment: Linux-5.15.0-139-generic-x86_64-with-glibc2.29 > Build start time: 22:43:58, Aug.15 2025 > > WORKSPACE = /home/marietto/Scaricati/workspace-edk2/edk2-rk3399/workspace > PACKAGES_PATH = /home/marietto/Scaricati/workspace-edk2/edk2:/home/marietto/Scaricati/workspace-edk2/edk2-platforms:/home/marietto/Scaricati/workspace-edk2/edk2-rk3399 > EDK_TOOLS_PATH = /home/marietto/Scaricati/workspace-edk2/edk2/BaseTools > CONF_PATH = /home/marietto/Scaricati/workspace-edk2/edk2/Conf > PYTHON_COMMAND = /usr/bin/python3.8 > > > Architecture(s) = AARCH64 > Build target = DEBUG > Toolchain = GCC5 > > Active Platform = /home/marietto/Scaricati/workspace-edk2/edk2-rk3399/sdm845Pkg/polaris.dsc > > Processing meta-data ..build: : warning: Module MetaFile [Sources] is missing local header! > Local Header: /home/marietto/scaricati/workspace-edk2/edk2-rk3399/sdm845pkg/library/platformbootmanagerlib/platformbm.h not found in /home/marietto/Scaricati/workspace-edk2/edk2-rk3399/sdm845Pkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf > build: : warning: Module MetaFile [Sources] is missing local header! > Local Header: /home/marietto/scaricati/workspace-edk2/edk2/embeddedpkg/application/androidfastboot/androidfastbootapp.h not found in /home/marietto/Scaricati/workspace-edk2/edk2/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf > > build.py... > /home/marietto/Scaricati/workspace-edk2/edk2-rk3399/sdm845Pkg/Drivers/DwEmmcDxe/DwEmmcDxe.inf(-1): error 4000: Value of Protocol [gEmbeddedMmcHostProtocolGuid] is not found under [Protocols] section in > /home/marietto/Scaricati/workspace-edk2/edk2/EmbeddedPkg/EmbeddedPkg.dec > /home/marietto/Scaricati/workspace-edk2/edk2/MdePkg/MdePkg.dec > /home/marietto/Scaricati/workspace-edk2/edk2-rk3399/sdm845Pkg/Drivers/DwEmmcDxe/DwEmmcDxe.dec > /home/marietto/Scaricati/workspace-edk2/edk2-rk3399/sdm845Pkg/sdm845Pkg.dec > Traceback (most recent call last): > File "/home/marietto/Scaricati/workspace-edk2/edk2/BaseTools/Source/Python/AutoGen/AutoGenWorker.py", line 244, in run > Ma.CreateCodeFile(False) > File "/home/marietto/Scaricati/workspace-edk2/edk2/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py", line 1867, in CreateCodeFile > for File in self.AutoGenFileList: > File "/home/marietto/Scaricati/workspace-edk2/edk2/BaseTools/Source/Python/Common/caching.py", line 28, in get > Value = obj.dict[self._function.name] = self._function(obj) > File "/home/marietto/Scaricati/workspace-edk2/edk2/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py", line 980, in AutoGenFileList > GenC.CreateCode(self, AutoGenC, AutoGenH, StringH, AutoGenUniIdf, UniStringBinBuffer, StringIdf, AutoGenUniIdf, IdfGenBinBuffer) > File "/home/marietto/Scaricati/workspace-edk2/edk2/BaseTools/Source/Python/AutoGen/GenC.py", line 2032, in CreateCode > CreateProtocolDefinitionCode(Info, AutoGenC, AutoGenH) > File "/home/marietto/Scaricati/workspace-edk2/edk2/BaseTools/Source/Python/AutoGen/GenC.py", line 1582, in CreateProtocolDefinitionCode > if Info.ProtocolList: > File "/home/marietto/Scaricati/workspace-edk2/edk2/BaseTools/Source/Python/Common/caching.py", line 28, in get > Value = obj.dict[self._function.name] = self._function(obj) > File "/home/marietto/Scaricati/workspace-edk2/edk2/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py", line 1091, in ProtocolList > RetVal = OrderedDict(self.Module.Protocols) > File "/home/marietto/Scaricati/workspace-edk2/edk2/BaseTools/Source/Python/Common/caching.py", line 28, in get > Value = obj.dict[self._function.name] = self._function(obj) > File "/home/marietto/Scaricati/workspace-edk2/edk2/BaseTools/Source/Python/Workspace/InfBuildData.py", line 604, in Protocols > EdkLogger.error('build', RESOURCE_NOT_AVAILABLE, > File "/home/marietto/Scaricati/workspace-edk2/edk2/BaseTools/Source/Python/Common/EdkLogger.py", line 284, in error > raise FatalError(ErrorCode) > Common.BuildToolError.FatalError: 16384 > .build: : warning: Module MetaFile [Sources] is missing local header! > Local Header: /home/marietto/scaricati/workspace-edk2/edk2-rk3399/sdm845pkg/sdm845dxe/sdm845dxe.h not found in /home/marietto/Scaricati/workspace-edk2/edk2-rk3399/sdm845Pkg/sdm845Dxe/sdm845Dxe.inf > > > - Done - > Build end time: 22:44:01, Aug.15 2025 > Build total time: 00:00:02 > > + echo 'Build done. check workspace/Build/sdm845Pkg/DEBUG_GCC5/FV/SDM845PKG_UEFI.fd Use it as a Linux kernel' > Build done. check workspace/Build/sdm845Pkg/DEBUG_GCC5/FV/SDM845PKG_UEFI.fd Use it as a Linux kernel > > the file SDM845PKG_UEFI.fd IS NOT produced because of this error ? > > —-> Local Header: /home/marietto/scaricati/workspace-edk2/edk2-rk3399/sdm845pkg/sdm845dxe/sdm845dxe.h not found in /home/marietto/Scaricati/workspace-edk2/edk2-rk3399/sdm845Pkg/sdm845Dxe/sdm845Dxe.inf > > The missing file is on the right place,but is called differently : "sdm845dxe.inf" Not true, see later below. Also, earlier in your text there are 2 other " not found in " messages for other files. Showing partial paths: . . ./sdm845pkg/library/platformbootmanagerlib/platformbm.h not found in . . . . . ./embeddedpkg/application/androidfastboot/androidfastbootapp.h not found in . . . Also, none of the " not found in " messages in your text reference a *.c file, unlike what you wrote. > <photo_2025-08-15_23-14-21.jpg> > > > I tried to rename it,but I entered a loop of other files that are named incorrectly. I changed their names too,but probably I did it in the wrong way because I still see errors. > Very thanks. Your picture shows some actual directory and file names (I show some /'s for context as well). I list the actual from the picture first in each line of the block of lines below. Shown in the picture's actual directory and file names are: /sdm845Pkg/ not the /smd845pkg/ shown in some of your paths in the text /sdm845Dxe/ not the /smd845dxe/ shown in some of your paths in the text /sdm845Dxe.h not the /sdm845dxe.h shown in some of your paths in the text /sdm845Dxe.inf not the /sdm845dxe.inf shown in some of your paths in the text The original build environment may have been set up for and used a case insensitive file system but you are apparently using a case sensitive file system. If so, you may have a lot of renaming to do if you are to continue using a case sensitive file system. It is not just one "bug" as far as I can tell. I'll note that the (partially shown) path: . . ./sdm845pkg/library/platformbootmanagerlib/platformbm.h is an example of not using the /sdm845Pkg/ in the directory path shown in your picture that shows actual directory and file names. It appears that I've met the "but if you find more problems" criteria. Again: I do not plan on any more replies for the subject. === Mark Millard marklmi at yahoo.com