public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: devel@edk2.groups.io, pete@akeo.ie, leif.lindholm@linaro.org
Cc: ard.biesheuvel@linaro.org
Subject: Re: [edk2-devel] [edk2-platforms PATCH 1/1] Platforms/RPi3: DisplayDxe virtual resolution improvements
Date: Tue, 1 Oct 2019 12:20:03 +0200	[thread overview]
Message-ID: <d7cb7f8d-5e48-ec28-5a96-ea69a1ab3ea9@redhat.com> (raw)
In-Reply-To: <8cd1da3e-86b4-c8c8-1737-01fd8c728402@akeo.ie>

Hi Pete,

On 9/27/19 10:41 PM, Pete Batard wrote:
> Try this after making sure that you have edk2/, edk2-platforms/ and 
> edk-non-osi/ in /home/phil/source:
> 
> cd /home/phil/source
> export GCC5_AARCH64_PREFIX=aarch64-linux-gnu-
> export WORKSPACE=$PWD
> export 
> PACKAGES_PATH=$WORKSPACE/edk2:$WORKSPACE/edk2-platforms:$WORKSPACE/edk2-non-osi 
> 
> source edk2/edksetup.sh --reconfig
> build -a AARCH64 -t GCC5 -p 
> edk2-platforms/Platform/RaspberryPi/RPi3/RPi3.dsc -b DEBUG

[note for other readers: I'm answering to Pete top-posted comment,
  start of the discussion can be followed below my reply]

I'm confused because this works like charm.

I always used:

WORKSPACE        = /home/phil/source/edk2
PACKAGES_PATH    =
/home/phil/source/edk2:/home/phil/source/edk2-platforms

and built into my edk2/ folder (my $WORKSPACE).

Leif noticed I was missing edk2-non-osi, so I added it (this reply below):

PACKAGES_PATH    =
/home/phil/source/edk2:/home/phil/source/edk2-platforms:/home/phil/source/edk2-non-osi 


I don't understand why modifying $WORKSPACE out of edk2/ this changes 
the behavior into failure, I thought it was would mostly change the 
Build/ folder location, and the packages were only searched into 
$PACKAGES_PATH (which did not change).

Anyhow I'll adapt my setup and not use edk2/ as $WORKSPACE anymore.

Thanks for the pointers,

Phil.

> On 2019.09.27 21:23, Philippe Mathieu-Daudé wrote:
>> On 9/27/19 7:49 PM, Leif Lindholm wrote:
>>> On Fri, Sep 27, 2019 at 06:38:07PM +0200, Philippe Mathieu-Daudé wrote:
>>>> Hi Pete,
>>>>
>>>> On 9/27/19 11:20 AM, Pete Batard wrote:
>>>>> From: Andrei Warkentin <andrey.warkentin@gmail.com>
>>>>>
>>>>> The Pi GPU decouples requested resolution from actual physical 
>>>>> resolution
>>>>> and can perform scaling of virtual resolutions. This enables 
>>>>> platform users
>>>>> to do something like ask for 1024x768 and get a framebuffer of that 
>>>>> size,
>>>>> regardless of the actual output (which could be a very blurry SDTV).
>>>>>
>>>>> Specifically, this patch allows selecting which specific virtual
>>>>> resolutions to enable, thus replacing the old all-or-nothing behaviour
>>>>> with either all virtual resolutions supported, or just the native one.
>>>>>
>>>>> This patch also adds enables the common 7" Pi (800x480) screen to 
>>>>> be used
>>>>> at 800x600 resolution, instead of forcing 640x480 as the only usable
>>>>> resolution.
>>>>
>>>> I tried to build the RPi3 platform but I get errors because it seems to
>>>> use an older edk2 repository. What tag should I use?
>>>
>>> edk2-platforms master should always build against edk2 - if it does
>>> not, that's a bug. But I can't see any issues when building rpi3 with
>>> the current master branches.
>>> Any platform that is not willing to commit to this state of things can
>>> live on stable- or devel- branches in the edk-platforms repository.
>>> This process is described in
>>> https://github.com/tianocore/edk2-platforms/blob/about/Readme.md
>>>
>>> But please provide some more information than "I get errors". It is a
>>> much better use of maintainer time than sending me off verifying that
>>> something I expected to work still works (for me).
>>
>> Yes, sorry :/
>>
>> So the first error was:
>>
>> : error 000E: File/directory not found in workspace
>>    Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxe.inf is not found in
>> packages path:
>>
>> And as you noted on IRC, I was missing edk2-non-osi, silly me :S
>>
>> Using it I now get:
>>
>> /home/phil/source/edk2$ GCC5_AARCH64_PREFIX=aarch64-linux-gnu- build -a
>> AARCH64 -t GCC5 -b DEBUG -p Platform/RaspberryPi/RPi3/RPi3.dsc -D
>> ATF_BUILD_DIR=$ATF_BUILD_DIR -n 1
>> Build environment:
>> Linux-5.2.11-100.fc29.x86_64-x86_64-with-Ubuntu-16.04-xenial
>> Build start time: 20:10:25, Sep.27 2019
>>
>> WORKSPACE        = /home/phil/source/edk2
>> PACKAGES_PATH    =
>> /home/phil/source/edk2:/home/phil/source/edk2-platforms:/home/phil/source/edk2-non-osi 
>>
>> EDK_TOOLS_PATH   = /home/phil/source/edk2/BaseTools
>> CONF_PATH        = /home/phil/source/edk2/Conf
>>
>>
>> Architecture(s)  = AARCH64
>> Build target     = DEBUG
>>
>> Processing meta-data .Toolchain        = GCC5
>>
>> Active Platform          =
>> /home/phil/source/edk2-platforms/Platform/RaspberryPi/RPi3/RPi3.dsc
>> ..... done!
>> Building ...
>> /home/phil/source/edk2/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf 
>>
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf 
>>
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf 
>>
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ... /home/phil/source/edk2/MdePkg/Library/UefiLib/UefiLib.inf
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf 
>>
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf 
>>
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf 
>>
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf 
>>
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf 
>>
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf 
>>
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdePkg/Library/BasePrintLib/BasePrintLib.inf
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf 
>>
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf 
>>
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf 
>>
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdePkg/Library/DxePcdLib/DxePcdLib.inf [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ... /home/phil/source/edk2/MdePkg/Library/BaseLib/BaseLib.inf
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf 
>>
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf 
>>
>> [AARCH64]
>> make: Nothing to be done for 'tbuild'.
>> Building ...
>> /home/phil/source/edk2-platforms/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf 
>>
>> [AARCH64]
>> test -f
>> /home/phil/source/edk2/Build/RPi3/DEBUG_GCC5/AARCH64/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe/OUTPUT/PlatformSmbiosDxe.map 
>>
>> && cp -f
>> /home/phil/source/edk2/Build/RPi3/DEBUG_GCC5/AARCH64/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe/OUTPUT/PlatformSmbiosDxe.map 
>>
>> /home/phil/source/edk2/Build/RPi3/DEBUG_GCC5/FV/Ffs/BAD0554E-22E9-4D83-9AFD-CC87727A1A45PlatformSmbiosDxe/BAD0554E-22E9-4D83-9AFD-CC87727A1A45.map 
>>
>> GNUmakefile:476: recipe for target
>> '/home/phil/source/edk2/Build/RPi3/DEBUG_GCC5/FV/Ffs/BAD0554E-22E9-4D83-9AFD-CC87727A1A45PlatformSmbiosDxe/BAD0554E-22E9-4D83-9AFD-CC87727A1A45.map' 
>>
>> failed
>> make: ***
>> [/home/phil/source/edk2/Build/RPi3/DEBUG_GCC5/FV/Ffs/BAD0554E-22E9-4D83-9AFD-CC87727A1A45PlatformSmbiosDxe/BAD0554E-22E9-4D83-9AFD-CC87727A1A45.map] 
>>
>> Error 1
>>
>>
>> build.py...
>>   : error 7000: Failed to execute command
>>          make tbuild
>> [/home/phil/source/edk2/Build/RPi3/DEBUG_GCC5/AARCH64/edk2-platforms/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe] 
>>
>>
>>
>> build.py...
>>   : error F002: Failed to build module
>>
>> /home/phil/source/edk2-platforms/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf 
>>
>> [AARCH64, GCC5, DEBUG]
>>
>> However I do have this file generated:
>>
>> /home/phil/source/edk2$ find -name PlatformSmbiosDxe.map
>> ./Build/RPi3/DEBUG_GCC5/AARCH64/edk2-platforms/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe/OUTPUT/PlatformSmbiosDxe.map 
>>
>> ./Build/RPi3/DEBUG_GCC5/AARCH64/edk2-platforms/Platform/RaspberryPi/RPi3/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe/DEBUG/PlatformSmbiosDxe.map 
>>
>>
>> Let's try dumb symlink:
>>
>> edk2@x1w:/home/phil/source/edk2$ ln -s
>> /home/phil/source/edk2/Build/RPi3/DEBUG_GCC5/AARCH64/edk2-platforms/Platform 
>>
>> /home/phil/source/edk2/Build/RPi3/DEBUG_GCC5/AARCH64/Platform
>>
>>
>> Building ...
>> /home/phil/source/edk2-non-osi/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxe.inf 
>>
>> [AARCH64]
>> test -f
>> /home/phil/source/edk2/Build/RPi3/DEBUG_GCC5/AARCH64/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxe/OUTPUT/LogoDxe.map 
>>
>> && cp -f
>> /home/phil/source/edk2/Build/RPi3/DEBUG_GCC5/AARCH64/Platform/RaspberryPi/RPi3/Drivers/LogoDxe/LogoDxe/OUTPUT/LogoDxe.map 
>>
>> /home/phil/source/edk2/Build/RPi3/DEBUG_GCC5/FV/Ffs/F74D20EE-37E7-48FC-97F7-9B1047749C69LogoDxe/F74D20EE-37E7-48FC-97F7-9B1047749C69.map 
>>
>> make: ***
>> [/home/phil/source/edk2/Build/RPi3/DEBUG_GCC5/FV/Ffs/F74D20EE-37E7-48FC-97F7-9B1047749C69LogoDxe/F74D20EE-37E7-48FC-97F7-9B1047749C69.map] 
>>
>> Error 1
>> GNUmakefile:455: recipe for target
>> '/home/phil/source/edk2/Build/RPi3/DEBUG_GCC5/FV/Ffs/F74D20EE-37E7-48FC-97F7-9B1047749C69LogoDxe/F74D20EE-37E7-48FC-97F7-9B1047749C69.map' 
>>
>> failed
>>
>> Hmmm it seems something is wrong with my paths...
>>
>> I rm'ed -rf ./Build and retried but still the same result.
>>
>> I'll try somewhere else.
>>
>>>>> Signed-off-by: Pete Batard <pete@akeo.ie>
>>>>
>>>> Hmm shouldn't this patch have a S-o-b from Andrei Warkentin too?
>>>
>>> No. Andrei is the author, he is not the person upstreaming. And the
>>> From: tag retains his authorship.
>>
>> Oh, this is new to me.
>>
>>> Adding a S-o-b in that situation equates to putting in the commit
>>> message that "Oh, and Andrei says he's cool with
>>> https://developercertificate.org/".
>>
>> OK :)
>>
>> Thanks,
>>
>> Phil.
>>
>> [...]


  reply	other threads:[~2019-10-01 10:20 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-27  9:20 [edk2-platforms PATCH 1/1] Platforms/RPi3: DisplayDxe virtual resolution improvements Pete Batard
2019-09-27 16:38 ` [edk2-devel] " Philippe Mathieu-Daudé
2019-09-27 17:49   ` Leif Lindholm
2019-09-27 20:23     ` Philippe Mathieu-Daudé
2019-09-27 20:41       ` Pete Batard
2019-10-01 10:20         ` Philippe Mathieu-Daudé [this message]
2019-10-01 13:18           ` Leif Lindholm
2019-09-27 17:51   ` Pete Batard
2019-09-28 23:05 ` Leif Lindholm
2019-09-30  9:32   ` Pete Batard
2019-10-01 13:10     ` Leif Lindholm
2019-10-01 13:35       ` [edk2-devel] " Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d7cb7f8d-5e48-ec28-5a96-ea69a1ab3ea9@redhat.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox