Samsung/Arndale: boot fails if build path less than 31 characters

Bug #1116451 reported by Ryan Harkin
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro UEFI
Fix Released
Critical
Ryan Harkin

Bug Description

Insert an SD card build for an Arndale into your computer and note it's device node, eg, /dev/mmcblk0 or /dev/sdX and use the correct one below.

cd /tmp
git clone git://git.linaro.org/arm/uefi/uefi-next.git /tmp/1234567890123456789012345
git clone git://git.linaro.org/arm/uefi/uefi-tools.git
cd /tmp/1234567890123456789012345
../uefi-tools/uefi-build.sh arndale
cd SamsungPlatformPkg/Apps/Tools/mkbl2/
./imgburn.sh -d /dev/sdX

Then eject your card safely and insert it into an Arndale board. Power on the board and you'll see UEFI crash, thus:

FV Hob 0x40014000 - 0x40283FFF
FV Hob 0x9F985000 - 0x9FC8C4FF
FV2 Hob 0x9F985000 - 0x9FC8C4FF
add-symbol-file /tmp/1234567890123456789012345/Build/Arndale-Exynos/DEBUG_ARMLINUXGCC/ARM/ArmPkg/Drivers/CpuDxe/CpuDxe/DEBUG/ArmCpuDxe.dll 0x9F89D240
Loading driver at 0x0009F89D000 EntryPoint=0x0009F89D26D ArmCpuDxe.efi

ASSERT_EFI_ERROR (Status = Unsupported)
ASSERT /tmp/1234567890123456789012345/ArmPkg/Drivers/CpuDxe/Mmu.c(336): !EFI_ERROR (Status)

Now, repeat the same exercise above, only use 1 character extra in the folder name you clone uefi-next into, eg:

git clone git://git.linaro.org/arm/uefi/uefi-next.git /tmp/12345678901234567890123456

You'll find that it all boots fine.

A bit of a shame when you're developing UEFI using a path like "/linaro/lt/uefi/uefi-next.git" - just 1 character too short. I guess I need to change my workflow!

Tags: arndale uefi
Rony Nandy (rony-nandy)
Changed in linaro-uefi:
status: New → In Progress
Ryan Harkin (ryanharkin)
summary: - Samsung/Arndale: boot fails if build path less than 30 characters
+ Samsung/Arndale: boot fails if build path less than 31 characters
Revision history for this message
Shivamurthy (shiva-linuxworks) wrote :

Hi Ryan,

I have followed below steps:

cd /tmp
git clone git://git.linaro.org/arm/uefi/uefi-next.git /tmp/1
git clone git://git.linaro.org/arm/uefi/uefi-tools.git
cd /tmp/1
../uefi-tools/uefi-build.sh arndale

and created SD card.

The board gets booted properly!!

I have attached log.

Revision history for this message
Ryan Harkin (ryanharkin) wrote :

OK, yes, that worked for me too. But it still fails if the path is /tmp/1234567890123456789012345. Did you try that?

So I guess the bug is "boot fails if the path is greater than X characters and less than 31 characters", where X is a number I'll leave for the bug fixer to work out ;-)

Perhaps it *only* fails if the path is 30 characters long? Perhaps it doesn't matter what the length restrictions are, so long as we work out why it's hanging and fix it? It's a very curious bug indeed! :-O

Revision history for this message
Shivamurthy (shiva-linuxworks) wrote :

Hi Ryan,

I did that also. It works for me.
Please find another attachment.

Revision history for this message
Shivamurthy (shiva-linuxworks) wrote :

BTW, i am using toolchain : gcc version 4.7.1 (Ubuntu/Linaro 4.7.1-5ubuntu1~ppa1)
and Host OS : Ubuntu 12.04 LTS

Revision history for this message
Ryan Harkin (ryanharkin) wrote :

ARM have found the issue also and have supplied a patch that should make it upstream very quickly:

http://sourceforge.net/mailarchive/forum.php?thread_name=000101ce0df8%24f050f110%24d0f2d330%24%40martin%40arm.com&forum_name=edk2-devel

I'll assign this defect to me know and take care of it in time for the 13.02 release.

Changed in linaro-uefi:
assignee: Rony Nandy (rony-nandy) → Ryan Harkin (ryanharkin)
importance: Undecided → Critical
milestone: none → 13.02
Ryan Harkin (ryanharkin)
Changed in linaro-uefi:
status: In Progress → Fix Committed
Fathi Boudra (fboudra)
Changed in linaro-uefi:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.