On 7/05/2013 8:17 AM, Jonathan Liu wrote:
On 7/05/2013 7:05 AM, Saul Wold wrote:


On 05/06/2013 05:31 AM, Jonathan Liu wrote:
Patches are now part of upstream or no longer needed.
Added new util-linux dependency for isohybrid.
Paths updated to reflect directory structure changes.

INCDIR isn't used by the build process during compilation which results
in the compiler not finding uuid/uuid.h from util-linux when compiling
isohybrid unless it exists on the host system. This was fixed by adding
-isystem ${STAGING_INCDIR} to CC when calling make.


I am not sure what's changing in all these version since you have not added a changelog. This version still has trouble with building isohybrid.

I am not sure what you are doing to test this, but I would like to see a more information about how you are building and testing this before I take another version and find it will fail.

I appreciate the work it takes to update a recipe, but we need to get it correct and tested
v1 - Patch malformed by email client
v2 - Added util-linux-native dependency.
Resent patch directly using git send-email
isohybrid.c:39:23: fatal error: uuid/uuid.h: No such file or directory
v3 - Changed util-linux-native dependency to util-linux so ot will work when building for target as well. Recipe finds uuid/uuid.h but from my syslinux installed on my host so it appeared everything compiled fine but it didn't.
v4 - Added -I${includedir} to CC when calling make.
This didn't work because includedir is /usr/include when it should point to the /usr/include in the sysroot.
v5 - Changed -I${includedir} to -isystem ${includedir}.
Still didn't work because includedir is /usr/include when it should point to the /usr/include in the sysroot. I was changed to -isystem after reading GCC manual. I figured it was better for it to search its local source files first because checking system include directories like /usr/include.
v6 - Changed -isystem ${includedir} to -isystem ${STAGING_INCDIR}.

Testing:
I am using a custom image based on atom-pc core-image-minimal, with .hddimage output. Tested changes using "bitbake -c cleansstate syslinux syslinux-native; bitbake syslinux syslinux-native". For testing v6, did a clean rebuild of everything, renamed /usr/include/uuid.h to /usr/include/uuid.h.bak on my host system and tests it:
1. Fails without the patch - ok
2. Succeeds with the patch - ok
I have tested syslinux 4.06 booting with .hddimg on:
-Intel Desktop Board D2500HN (Atom D2500 with NM10 Express Chipset), by writing .hddimg to real hard drive with Win32 Disk Imager and connecting to the board
-qemu-system-i386
-qemu-system-i386 -nographic

The main reason for me upgrading to 4.06 is that earlier versions fail to boot on the D2500HN board more than once. First boot works but subsequent boots hang - it just prints SYSLINUX line, does nothing for a while and reboots the system. I found mounting the hard drive on a Windows system and unmounting it makes it boot again once. I finally got it to boot reliably after writing syslinux 4.06 to the hard drive. I tested syslinux 4.05 but it still had same booting issue.

Regards,
Jonathan



_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to