All of lore.kernel.org
 help / color / mirror / Atom feed
* [OE-core v2 PATCH 0/5] aarch64 changes for meta layer
@ 2015-03-18 11:27 Naresh Bhat
  2015-03-18 11:27 ` [OE-core v2 PATCH 1/5] bootimg: Add support to install Image Naresh Bhat
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Naresh Bhat @ 2015-03-18 11:27 UTC (permalink / raw)
  To: openembedded-core; +Cc: matt.fleming

I am adding the support of aarch64 to LUV OS Distribution project.
The luv-yocto project is based on poky distribution.

https://01.org/linux-uefi-validation

While adding support I find that these are the few meta layer changes,
which I have been asked to upstream. If we merge these changes into
openembedded-core it will be more helpful to maintain the minimum set
patches at dependency projects like luv-yocto.

Changes since V0:[RFC series]
- grub: grub-efi: bootimg: Include all the chages suggested by Bernhard Reutner-Fischer
- grub: Add grub recipe changes suggested by Burton Ross

Changes since V1:
- grub: More documentation on grub recipe and remove CACHED_CONFIGUREVARS as suggested by Richard Purdie 
- bootimg: Add NOISO as suggested by Bernhard Reutner-Fischer
- syslinux: Impliment as suggested by Richard Purdie

-Naresh

Naresh Bhat (5):
  bootimg: Add support to install Image
  syslinux: Remove bootimg dependency on aarch64
  bootimg: Skip iso image build on aarch64
  grub-efi: Add to support to install grubaa64 efi
  grub: Update grub git recipe

 meta/classes/bootimg.bbclass      |   12 ++++++++--
 meta/classes/grub-efi.bbclass     |   17 +++++++++-----
 meta/classes/syslinux.bbclass     |    5 +++-
 meta/recipes-bsp/grub/grub_git.bb |   47 +++++++++++++++++++++++++++++++------
 4 files changed, 65 insertions(+), 16 deletions(-)

-- 
1.7.9.5



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [OE-core v2 PATCH 1/5] bootimg: Add support to install Image
  2015-03-18 11:27 [OE-core v2 PATCH 0/5] aarch64 changes for meta layer Naresh Bhat
@ 2015-03-18 11:27 ` Naresh Bhat
  2015-03-18 11:27 ` [OE-core v2 PATCH 2/5] syslinux: Remove bootimg dependency on aarch64 Naresh Bhat
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 12+ messages in thread
From: Naresh Bhat @ 2015-03-18 11:27 UTC (permalink / raw)
  To: openembedded-core; +Cc: matt.fleming

Add support to install kernel image for aarch64

Signed-off-by: Naresh Bhat <naresh.bhat@linaro.org>
---
 meta/classes/bootimg.bbclass |   11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
index b1c03ba..ed7b32f 100644
--- a/meta/classes/bootimg.bbclass
+++ b/meta/classes/bootimg.bbclass
@@ -64,10 +64,17 @@ inherit ${EFI_CLASS}
 
 populate() {
 	DEST=$1
-	install -d ${DEST}
+
+	SRC_KERNEL_IMAGE=bzImage
+	DEST_KERNEL_IMAGE=vmlinuz
+
+	if [ "${TARGET_ARCH}" = "aarch64" ]; then
+		SRC_KERNEL_IMAGE=Image
+		DEST_KERNEL_IMAGE=Image
+	fi
 
 	# Install bzImage, initrd, and rootfs.img in DEST for all loaders to use.
-	install -m 0644 ${DEPLOY_DIR_IMAGE}/bzImage ${DEST}/vmlinuz
+	install -m 0644 -D ${STAGING_KERNEL_DIR}/${SRC_KERNEL_IMAGE} ${DEST}/${DEST_KERNEL_IMAGE}
 	
 	# initrd is made of concatenation of multiple filesystem images
 	if [ -n "${INITRD}" ]; then
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [OE-core v2 PATCH 2/5] syslinux: Remove bootimg dependency on aarch64
  2015-03-18 11:27 [OE-core v2 PATCH 0/5] aarch64 changes for meta layer Naresh Bhat
  2015-03-18 11:27 ` [OE-core v2 PATCH 1/5] bootimg: Add support to install Image Naresh Bhat
@ 2015-03-18 11:27 ` Naresh Bhat
  2015-03-18 11:27 ` [OE-core v2 PATCH 3/5] bootimg: Skip iso image build " Naresh Bhat
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 12+ messages in thread
From: Naresh Bhat @ 2015-03-18 11:27 UTC (permalink / raw)
  To: openembedded-core; +Cc: matt.fleming

Remove the bootimg dependency as syslinux for aarch64. The reason to skip the syslinux package
- syslinux package contains x86 assembly code. Hence it cannot be compiled on aarch64.
- There is no BIOS on aarch64 to answer syscalls.

Signed-off-by: Naresh Bhat <naresh.bhat@linaro.org>
---
 meta/classes/syslinux.bbclass |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/classes/syslinux.bbclass b/meta/classes/syslinux.bbclass
index d6498d9..16c12a9 100644
--- a/meta/classes/syslinux.bbclass
+++ b/meta/classes/syslinux.bbclass
@@ -17,7 +17,10 @@
 # ${SYSLINUX_SERIAL_TTY} - Set alternate console=tty... kernel boot argument
 # ${SYSLINUX_KERNEL_ARGS} - Add additional kernel arguments
 
-do_bootimg[depends] += "${MLPREFIX}syslinux:do_populate_sysroot \
+EXTRABOOTIMGDEPS = ""
+EXTRABOOTIMGDEPS_x86 = "${MLPREFIX}syslinux:do_populate_sysroot"
+EXTRABOOTIMGDEPS_x86-64 = "${MLPREFIX}syslinux:do_populate_sysroot"
+do_bootimg[depends] += "${EXTRABOOTIMGDEPS} \
                         syslinux-native:do_populate_sysroot"
 
 SYSLINUXCFG  = "${S}/syslinux.cfg"
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [OE-core v2 PATCH 3/5] bootimg: Skip iso image build on aarch64
  2015-03-18 11:27 [OE-core v2 PATCH 0/5] aarch64 changes for meta layer Naresh Bhat
  2015-03-18 11:27 ` [OE-core v2 PATCH 1/5] bootimg: Add support to install Image Naresh Bhat
  2015-03-18 11:27 ` [OE-core v2 PATCH 2/5] syslinux: Remove bootimg dependency on aarch64 Naresh Bhat
@ 2015-03-18 11:27 ` Naresh Bhat
  2015-03-18 12:35   ` Bernhard Reutner-Fischer
  2015-03-18 11:27 ` [OE-core v2 PATCH 4/5] grub-efi: Add to support to install grubaa64 efi Naresh Bhat
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Naresh Bhat @ 2015-03-18 11:27 UTC (permalink / raw)
  To: openembedded-core; +Cc: matt.fleming

To generate bootable ISO image the x86 architecture uses syslinux package (syslinux/isolinux.bin).
We have already skip the syslinux package on aarch64.  Hence skip the iso image build on aarch64.

Signed-off-by: Naresh Bhat <naresh.bhat@linaro.org>
---
 meta/classes/bootimg.bbclass |    1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
index ed7b32f..5a8e70c 100644
--- a/meta/classes/bootimg.bbclass
+++ b/meta/classes/bootimg.bbclass
@@ -33,6 +33,7 @@ do_bootimg[depends] += "dosfstools-native:do_populate_sysroot \
 
 PACKAGES = " "
 EXCLUDE_FROM_WORLD = "1"
+NOISO_aarch64 = "1"
 
 HDDDIR = "${S}/hddimg"
 ISODIR = "${S}/iso"
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [OE-core v2 PATCH 4/5] grub-efi: Add to support to install grubaa64 efi
  2015-03-18 11:27 [OE-core v2 PATCH 0/5] aarch64 changes for meta layer Naresh Bhat
                   ` (2 preceding siblings ...)
  2015-03-18 11:27 ` [OE-core v2 PATCH 3/5] bootimg: Skip iso image build " Naresh Bhat
@ 2015-03-18 11:27 ` Naresh Bhat
  2015-03-18 11:27 ` [OE-core v2 PATCH 5/5] grub: Update grub git recipe Naresh Bhat
  2015-04-08  7:15 ` [OE-core v2 PATCH 0/5] aarch64 changes for meta layer Naresh Bhat
  5 siblings, 0 replies; 12+ messages in thread
From: Naresh Bhat @ 2015-03-18 11:27 UTC (permalink / raw)
  To: openembedded-core; +Cc: matt.fleming

Add support to install grubaa64 efi image.  By default GRUB_IMAGE contains
the bootia32.efi image.  Depending on the architecture type the variable is
being updated to bootia64.efi or grubaa64.efi

Signed-off-by: Naresh Bhat <naresh.bhat@linaro.org>
---
 meta/classes/grub-efi.bbclass |   17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass
index 47bd35e..cded1a0 100644
--- a/meta/classes/grub-efi.bbclass
+++ b/meta/classes/grub-efi.bbclass
@@ -31,15 +31,20 @@ efi_populate() {
 	# nested under a top level directory.
 	DEST=$1
 
-	install -d ${DEST}${EFIDIR}
-
 	GRUB_IMAGE="bootia32.efi"
-	if [ "${TARGET_ARCH}" = "x86_64" ]; then
+
+	case ${TARGET_ARCH} in
+		x86_64 )
 		GRUB_IMAGE="bootx64.efi"
-	fi
-	install -m 0644 ${DEPLOY_DIR_IMAGE}/${GRUB_IMAGE} ${DEST}${EFIDIR}
+		;;
+		aarch64 )
+		GRUB_IMAGE="grubaa64.efi"
+		;;
+	esac
+
+	install -m 0644 -D ${DEPLOY_DIR_IMAGE}/${GRUB_IMAGE} ${DEST}${EFIDIR}
 
-	install -m 0644 ${GRUBCFG} ${DEST}${EFIDIR}
+	install -m 0644 -D ${GRUBCFG} ${DEST}${EFIDIR}
 }
 
 efi_iso_populate() {
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [OE-core v2 PATCH 5/5] grub: Update grub git recipe
  2015-03-18 11:27 [OE-core v2 PATCH 0/5] aarch64 changes for meta layer Naresh Bhat
                   ` (3 preceding siblings ...)
  2015-03-18 11:27 ` [OE-core v2 PATCH 4/5] grub-efi: Add to support to install grubaa64 efi Naresh Bhat
@ 2015-03-18 11:27 ` Naresh Bhat
  2015-04-08  7:15 ` [OE-core v2 PATCH 0/5] aarch64 changes for meta layer Naresh Bhat
  5 siblings, 0 replies; 12+ messages in thread
From: Naresh Bhat @ 2015-03-18 11:27 UTC (permalink / raw)
  To: openembedded-core; +Cc: matt.fleming

Update the grub git recipe with the following actions for native and target

- Base class extend to native

This is required because on aarch64 we need native recipe to be compiled for host architecture and generate grub-mkimage, which is
executed on host machine to generate grubaa64.efi binary for target architecture. In the case of x86/x86_64 architecture
it does not make any difference because host=target. The flow on aarch64 is as below

grub-native compile for host (generates grub-mkimage) ==> do_install_append_class-target() generates grubaa64.efi binary by executing host executable binary grub-mkimage ==> do_deploy() deploy the grubaa64.efi

Hence add the below lines

+DEPENDS_class-target += "grub-native"
+BBCLASSEXTEND = "native"

- Add autotools-brokensep

The recipe is fails to work (because B!=S) when I have add this recipe to luvOS, hence inherit autotools-brokensep instead of autotools.
May be this needs to be fixed.

- On x86 architecture the recipe builds only for PC, It may be required to extend this recipe.

Signed-off-by: Naresh Bhat <naresh.bhat@linaro.org>
---
 meta/recipes-bsp/grub/grub_git.bb |   47 +++++++++++++++++++++++++++++++------
 1 file changed, 40 insertions(+), 7 deletions(-)

diff --git a/meta/recipes-bsp/grub/grub_git.bb b/meta/recipes-bsp/grub/grub_git.bb
index 3ab675b..1ac99f9 100644
--- a/meta/recipes-bsp/grub/grub_git.bb
+++ b/meta/recipes-bsp/grub/grub_git.bb
@@ -8,6 +8,7 @@ DEFAULT_PREFERENCE_arm = "1"
 PV = "2.00+${SRCPV}"
 SRCREV = "87de66d9d83446ecddb29cfbdf7369102c8e209e"
 SRC_URI = "git://git.savannah.gnu.org/grub.git \
+           file://cfg \
            file://grub-2.00-fpmath-sse-387-fix.patch \
            file://autogen.sh-exclude-pc.patch \
            file://grub-2.00-add-oe-kernel.patch \
@@ -18,7 +19,7 @@ S = "${WORKDIR}/git"
 
 COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)'
 
-inherit autotools gettext texinfo
+inherit autotools-brokensep gettext texinfo deploy
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[grub-mount] = "--enable-grub-mount,--disable-grub-mount,fuse"
@@ -34,21 +35,53 @@ GRUBPLATFORM ??= "pc"
 EXTRA_OECONF = "--with-platform=${GRUBPLATFORM} --disable-grub-mkfont --program-prefix="" \
                 --enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no"
 
+export ac_cv_path_HELP2MAN=""
+
 do_configure_prepend() {
-    ( cd ${S}
-      ${S}/autogen.sh )
+      ./autogen.sh
+}
+
+do_install_append_class-native() {
+        install -m 755 -D grub-mkimage ${D}${bindir}
 }
 
-do_install_append () {
-    install -d ${D}${sysconfdir}/grub.d
- 
+do_install_append_class-target() {
+    # Search for the grub.cfg on the local boot media by using the
+    # built in cfg file provided via this recipe
+    grub-mkimage -c ../cfg -p /EFI/BOOT -d ./grub-core/ \
+        -O ${GRUB_TARGET}-${GRUBPLATFORM} -o ./${GRUB_IMAGE} \
+        boot linux ext2 fat serial part_msdos part_gpt \
+        normal efi_gop iso9660 search efinet tftp all_video chain \
+        gfxmenu jpeg gfxterm
+
+    install -m 0755 -D ${B}/${GRUB_IMAGE} ${D}${bindir}
+}
+
+GRUB_TARGET_aarch64 = "arm64"
+GRUB_IMAGE_aarch64 = "grubaa64.efi"
+
+do_mkimage_class-native() {
+        :
 }
 
+do_deploy() {
+    install -m 0755 -D ${B}/${GRUB_IMAGE} ${DEPLOYDIR}
+}
+
+do_deploy_class-native() {
+        :
+}
+
+addtask deploy after do_install before do_build
+
 # debugedit chokes on bare metal binaries
 INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
 
-RDEPENDS_${PN} = "diffutils freetype"
+RDEPENDS_${PN}_class-target = "diffutils freetype"
 FILES_${PN}-dbg += "${libdir}/${BPN}/*/.debug"
 
 INSANE_SKIP_${PN} = "arch"
 INSANE_SKIP_${PN}-dbg = "arch"
+
+DEPENDS_class-target += "grub-native"
+BBCLASSEXTEND = "native"
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [OE-core v2 PATCH 3/5] bootimg: Skip iso image build on aarch64
  2015-03-18 11:27 ` [OE-core v2 PATCH 3/5] bootimg: Skip iso image build " Naresh Bhat
@ 2015-03-18 12:35   ` Bernhard Reutner-Fischer
  2015-03-18 12:42     ` Naresh Bhat
  0 siblings, 1 reply; 12+ messages in thread
From: Bernhard Reutner-Fischer @ 2015-03-18 12:35 UTC (permalink / raw)
  To: Naresh Bhat; +Cc: Matt Fleming, oe-core

On 18 March 2015 at 12:27, Naresh Bhat <naresh.bhat@linaro.org> wrote:
> To generate bootable ISO image the x86 architecture uses syslinux package (syslinux/isolinux.bin).
> We have already skip the syslinux package on aarch64.  Hence skip the iso image build on aarch64.
>
> Signed-off-by: Naresh Bhat <naresh.bhat@linaro.org>
> ---
>  meta/classes/bootimg.bbclass |    1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
> index ed7b32f..5a8e70c 100644
> --- a/meta/classes/bootimg.bbclass
> +++ b/meta/classes/bootimg.bbclass
> @@ -33,6 +33,7 @@ do_bootimg[depends] += "dosfstools-native:do_populate_sysroot \
>
>  PACKAGES = " "
>  EXCLUDE_FROM_WORLD = "1"
> +NOISO_aarch64 = "1"

how does that help !COMPATIBLE_HOST (of syslinux) except aarch64?

I meant you to
def mycheck(d):
  h = d.getVar('COMPATIBLE_HOST', True)
  if h:
    t = d.getVar('TARGET_ARCH', True)
    if re.match(h, t):
      return 0
  return 1

and use that to set NOISO ?= "${@mycheck(d)}"
(modulo typos and testing)

I think something like that should work and i think this would be
preferable to adding all those upcoming NOISO_baz
See what i mean?

thanks,


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [OE-core v2 PATCH 3/5] bootimg: Skip iso image build on aarch64
  2015-03-18 12:35   ` Bernhard Reutner-Fischer
@ 2015-03-18 12:42     ` Naresh Bhat
  2015-03-19  9:47       ` Naresh Bhat
  0 siblings, 1 reply; 12+ messages in thread
From: Naresh Bhat @ 2015-03-18 12:42 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer; +Cc: Matt Fleming, oe-core

[-- Attachment #1: Type: text/plain, Size: 1509 bytes --]

On 18 March 2015 at 18:05, Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
wrote:

> On 18 March 2015 at 12:27, Naresh Bhat <naresh.bhat@linaro.org> wrote:
> > To generate bootable ISO image the x86 architecture uses syslinux
> package (syslinux/isolinux.bin).
> > We have already skip the syslinux package on aarch64.  Hence skip the
> iso image build on aarch64.
> >
> > Signed-off-by: Naresh Bhat <naresh.bhat@linaro.org>
> > ---
> >  meta/classes/bootimg.bbclass |    1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
> > index ed7b32f..5a8e70c 100644
> > --- a/meta/classes/bootimg.bbclass
> > +++ b/meta/classes/bootimg.bbclass
> > @@ -33,6 +33,7 @@ do_bootimg[depends] +=
> "dosfstools-native:do_populate_sysroot \
> >
> >  PACKAGES = " "
> >  EXCLUDE_FROM_WORLD = "1"
> > +NOISO_aarch64 = "1"
>
> how does that help !COMPATIBLE_HOST (of syslinux) except aarch64?
>
> I meant you to
> def mycheck(d):
>   h = d.getVar('COMPATIBLE_HOST', True)
>   if h:
>     t = d.getVar('TARGET_ARCH', True)
>     if re.match(h, t):
>       return 0
>   return 1
>
> and use that to set NOISO ?= "${@mycheck(d)}"
> (modulo typos and testing)
>
> I think something like that should work and i think this would be
> preferable to adding all those upcoming NOISO_baz
> See what i mean?
>
Thank you very much.  I will do it right now, test with luvos distribution,
re-post this patch.

>
> thanks,
>

[-- Attachment #2: Type: text/html, Size: 2278 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [OE-core v2 PATCH 3/5] bootimg: Skip iso image build on aarch64
  2015-03-18 12:42     ` Naresh Bhat
@ 2015-03-19  9:47       ` Naresh Bhat
  2015-03-19 15:46         ` Bernhard Reutner-Fischer
  0 siblings, 1 reply; 12+ messages in thread
From: Naresh Bhat @ 2015-03-19  9:47 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer; +Cc: Matt Fleming, oe-core

[-- Attachment #1: Type: text/plain, Size: 2651 bytes --]

Hi Bernhard Reutner-Fischer,

On 18 March 2015 at 18:12, Naresh Bhat <naresh.bhat@linaro.org> wrote:

>
>
> On 18 March 2015 at 18:05, Bernhard Reutner-Fischer <rep.dot.nop@gmail.com
> > wrote:
>
>> On 18 March 2015 at 12:27, Naresh Bhat <naresh.bhat@linaro.org> wrote:
>> > To generate bootable ISO image the x86 architecture uses syslinux
>> package (syslinux/isolinux.bin).
>> > We have already skip the syslinux package on aarch64.  Hence skip the
>> iso image build on aarch64.
>> >
>> > Signed-off-by: Naresh Bhat <naresh.bhat@linaro.org>
>> > ---
>> >  meta/classes/bootimg.bbclass |    1 +
>> >  1 file changed, 1 insertion(+)
>> >
>> > diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
>> > index ed7b32f..5a8e70c 100644
>> > --- a/meta/classes/bootimg.bbclass
>> > +++ b/meta/classes/bootimg.bbclass
>> > @@ -33,6 +33,7 @@ do_bootimg[depends] +=
>> "dosfstools-native:do_populate_sysroot \
>> >
>> >  PACKAGES = " "
>> >  EXCLUDE_FROM_WORLD = "1"
>> > +NOISO_aarch64 = "1"
>>
>> how does that help !COMPATIBLE_HOST (of syslinux) except aarch64?
>>
>> I meant you to
>> def mycheck(d):
>>   h = d.getVar('COMPATIBLE_HOST', True)
>>   if h:
>>     t = d.getVar('TARGET_ARCH', True)
>>     if re.match(h, t):
>>       return 0
>>   return 1
>>
>> and use that to set NOISO ?= "${@mycheck(d)}"
>> (modulo typos and testing)
>>
>> I think something like that should work and i think this would be
>> preferable to adding all those upcoming NOISO_baz
>> See what i mean?
>>
> Thank you very much.  I will do it right now, test with luvos
> distribution, re-post this patch.
>

I have implemented and tried it with luvOS distribution.

def check_iso_build(d):
       host = d.getVar('COMPATIBLE_HOST', True)
       if host:
            import re
            target = d.getVar('TARGET_ARCH', True)
            if re.match(host, target):
                return 0
       return 1

NOISO ?= "${@check_iso_build(d)}"


For the following reason

The COMPATIBLE_HOST value is NULL.  Now the question is why it contains
value NULL.  That's simply because syslinux recipe does not inherit
bootimg.bbclass.

I did following experiment - The luv-live-image.bb inherit the
bootimg.bbclass hence I have defined the COMPATIBLE_HOST as "x86" or
"aarch64" depending on the build I am doing. This will work for x86
architecture but definitely going to break for aarch64  because of the
below condition

if re.match(host, target):
                return 0

Let me know If I need to experiment/change the logic of the implementation.

>
>> thanks,
>>
>
>

[-- Attachment #2: Type: text/html, Size: 4249 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [OE-core v2 PATCH 3/5] bootimg: Skip iso image build on aarch64
  2015-03-19  9:47       ` Naresh Bhat
@ 2015-03-19 15:46         ` Bernhard Reutner-Fischer
  0 siblings, 0 replies; 12+ messages in thread
From: Bernhard Reutner-Fischer @ 2015-03-19 15:46 UTC (permalink / raw)
  To: Naresh Bhat; +Cc: Matt Fleming, oe-core

On March 19, 2015 10:47:22 AM GMT+01:00, Naresh Bhat <naresh.bhat@linaro.org> wrote:
>Hi Bernhard Reutner-Fischer,
>
>On 18 March 2015 at 18:12, Naresh Bhat <naresh.bhat@linaro.org> wrote:
>
>>
>>
>> On 18 March 2015 at 18:05, Bernhard Reutner-Fischer
><rep.dot.nop@gmail.com
>> > wrote:
>>
>>> On 18 March 2015 at 12:27, Naresh Bhat <naresh.bhat@linaro.org>
>wrote:
>>> > To generate bootable ISO image the x86 architecture uses syslinux
>>> package (syslinux/isolinux.bin).
>>> > We have already skip the syslinux package on aarch64.  Hence skip
>the
>>> iso image build on aarch64.
>>> >
>>> > Signed-off-by: Naresh Bhat <naresh.bhat@linaro.org>
>>> > ---
>>> >  meta/classes/bootimg.bbclass |    1 +
>>> >  1 file changed, 1 insertion(+)
>>> >
>>> > diff --git a/meta/classes/bootimg.bbclass
>b/meta/classes/bootimg.bbclass
>>> > index ed7b32f..5a8e70c 100644
>>> > --- a/meta/classes/bootimg.bbclass
>>> > +++ b/meta/classes/bootimg.bbclass
>>> > @@ -33,6 +33,7 @@ do_bootimg[depends] +=
>>> "dosfstools-native:do_populate_sysroot \
>>> >
>>> >  PACKAGES = " "
>>> >  EXCLUDE_FROM_WORLD = "1"
>>> > +NOISO_aarch64 = "1"
>>>
>>> how does that help !COMPATIBLE_HOST (of syslinux) except aarch64?
>>>
>>> I meant you to
>>> def mycheck(d):
>>>   h = d.getVar('COMPATIBLE_HOST', True)
>>>   if h:
>>>     t = d.getVar('TARGET_ARCH', True)
>>>     if re.match(h, t):
>>>       return 0
>>>   return 1
>>>
>>> and use that to set NOISO ?= "${@mycheck(d)}"
>>> (modulo typos and testing)
>>>
>>> I think something like that should work and i think this would be
>>> preferable to adding all those upcoming NOISO_baz
>>> See what i mean?
>>>
>> Thank you very much.  I will do it right now, test with luvos
>> distribution, re-post this patch.
>>
>
>I have implemented and tried it with luvOS distribution.
>
>def check_iso_build(d):
>       host = d.getVar('COMPATIBLE_HOST', True)
>       if host:
>            import re
>            target = d.getVar('TARGET_ARCH', True)
>            if re.match(host, target):
>                return 0
>       return 1
>
>NOISO ?= "${@check_iso_build(d)}"
>
>
>For the following reason
>
>The COMPATIBLE_HOST value is NULL.  Now the question is why it contains
>value NULL.  That's simply because syslinux recipe does not inherit
>bootimg.bbclass.
>
>I did following experiment - The luv-live-image.bb inherit the
>bootimg.bbclass hence I have defined the COMPATIBLE_HOST as "x86" or
>"aarch64" depending on the build I am doing. This will work for x86
>architecture but definitely going to break for aarch64  because of the
>below condition
>
>if re.match(host, target):
>                return 0
>
>Let me know If I need to experiment/change the logic of the
>implementation.

Unfortunately bitbake does not currently allow for inter-package interrogation.
Your distro should (IMHO) set NOISO appropriately (like in that func) and the IMG.bbclass should honour that decision.

HTH,




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [OE-core v2 PATCH 0/5] aarch64 changes for meta layer
  2015-03-18 11:27 [OE-core v2 PATCH 0/5] aarch64 changes for meta layer Naresh Bhat
                   ` (4 preceding siblings ...)
  2015-03-18 11:27 ` [OE-core v2 PATCH 5/5] grub: Update grub git recipe Naresh Bhat
@ 2015-04-08  7:15 ` Naresh Bhat
  2015-06-10  1:12   ` Naresh Bhat
  5 siblings, 1 reply; 12+ messages in thread
From: Naresh Bhat @ 2015-04-08  7:15 UTC (permalink / raw)
  To: oe-core; +Cc: Matt Fleming

On 18 March 2015 at 16:57, Naresh Bhat <naresh.bhat@linaro.org> wrote:
> I am adding the support of aarch64 to LUV OS Distribution project.
> The luv-yocto project is based on poky distribution.
>
> https://01.org/linux-uefi-validation
>
> While adding support I find that these are the few meta layer changes,
> which I have been asked to upstream. If we merge these changes into
> openembedded-core it will be more helpful to maintain the minimum set
> patches at dependency projects like luv-yocto.
>
> Changes since V0:[RFC series]
> - grub: grub-efi: bootimg: Include all the chages suggested by Bernhard Reutner-Fischer
> - grub: Add grub recipe changes suggested by Burton Ross
>
> Changes since V1:
> - grub: More documentation on grub recipe and remove CACHED_CONFIGUREVARS as suggested by Richard Purdie
> - bootimg: Add NOISO as suggested by Bernhard Reutner-Fischer
> - syslinux: Impliment as suggested by Richard Purdie
>
> -Naresh
>
> Naresh Bhat (5):
>   bootimg: Add support to install Image
>   syslinux: Remove bootimg dependency on aarch64
>   bootimg: Skip iso image build on aarch64
>   grub-efi: Add to support to install grubaa64 efi
>   grub: Update grub git recipe
Ping,
Are you going to pick up any patches (out of above 5) in 1.9 release ?
>
>  meta/classes/bootimg.bbclass      |   12 ++++++++--
>  meta/classes/grub-efi.bbclass     |   17 +++++++++-----
>  meta/classes/syslinux.bbclass     |    5 +++-
>  meta/recipes-bsp/grub/grub_git.bb |   47 +++++++++++++++++++++++++++++++------
>  4 files changed, 65 insertions(+), 16 deletions(-)
>
> --
> 1.7.9.5
>


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [OE-core v2 PATCH 0/5] aarch64 changes for meta layer
  2015-04-08  7:15 ` [OE-core v2 PATCH 0/5] aarch64 changes for meta layer Naresh Bhat
@ 2015-06-10  1:12   ` Naresh Bhat
  0 siblings, 0 replies; 12+ messages in thread
From: Naresh Bhat @ 2015-06-10  1:12 UTC (permalink / raw)
  To: oe-core; +Cc: Matt Fleming

Hi All,

On 8 April 2015 at 12:45, Naresh Bhat <naresh.bhat@linaro.org> wrote:
> On 18 March 2015 at 16:57, Naresh Bhat <naresh.bhat@linaro.org> wrote:
>> I am adding the support of aarch64 to LUV OS Distribution project.
>> The luv-yocto project is based on poky distribution.
>>
>> https://01.org/linux-uefi-validation
>>
>> While adding support I find that these are the few meta layer changes,
>> which I have been asked to upstream. If we merge these changes into
>> openembedded-core it will be more helpful to maintain the minimum set
>> patches at dependency projects like luv-yocto.
>>
>> Changes since V0:[RFC series]
>> - grub: grub-efi: bootimg: Include all the chages suggested by Bernhard Reutner-Fischer
>> - grub: Add grub recipe changes suggested by Burton Ross
>>
>> Changes since V1:
>> - grub: More documentation on grub recipe and remove CACHED_CONFIGUREVARS as suggested by Richard Purdie
>> - bootimg: Add NOISO as suggested by Bernhard Reutner-Fischer
>> - syslinux: Impliment as suggested by Richard Purdie
>>
>> -Naresh
>>
>> Naresh Bhat (5):
>>   bootimg: Add support to install Image
>>   syslinux: Remove bootimg dependency on aarch64
>>   bootimg: Skip iso image build on aarch64
>>   grub-efi: Add to support to install grubaa64 efi
>>   grub: Update grub git recipe
> Ping,
> Are you going to pick up any patches (out of above 5) in 1.9 release ?

Ping, If any of the patches makes sense (out of 5) please pick up in
1.9 release.  If something which does not make sense let me know.  I
will try to re-work on it according to requirement.

I will be on vacation rest of the week and get back on your response
on Monday 15th June.

Thanks
-Naresh
>>
>>  meta/classes/bootimg.bbclass      |   12 ++++++++--
>>  meta/classes/grub-efi.bbclass     |   17 +++++++++-----
>>  meta/classes/syslinux.bbclass     |    5 +++-
>>  meta/recipes-bsp/grub/grub_git.bb |   47 +++++++++++++++++++++++++++++++------
>>  4 files changed, 65 insertions(+), 16 deletions(-)
>>
>> --
>> 1.7.9.5
>>


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2015-06-10  1:12 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-18 11:27 [OE-core v2 PATCH 0/5] aarch64 changes for meta layer Naresh Bhat
2015-03-18 11:27 ` [OE-core v2 PATCH 1/5] bootimg: Add support to install Image Naresh Bhat
2015-03-18 11:27 ` [OE-core v2 PATCH 2/5] syslinux: Remove bootimg dependency on aarch64 Naresh Bhat
2015-03-18 11:27 ` [OE-core v2 PATCH 3/5] bootimg: Skip iso image build " Naresh Bhat
2015-03-18 12:35   ` Bernhard Reutner-Fischer
2015-03-18 12:42     ` Naresh Bhat
2015-03-19  9:47       ` Naresh Bhat
2015-03-19 15:46         ` Bernhard Reutner-Fischer
2015-03-18 11:27 ` [OE-core v2 PATCH 4/5] grub-efi: Add to support to install grubaa64 efi Naresh Bhat
2015-03-18 11:27 ` [OE-core v2 PATCH 5/5] grub: Update grub git recipe Naresh Bhat
2015-04-08  7:15 ` [OE-core v2 PATCH 0/5] aarch64 changes for meta layer Naresh Bhat
2015-06-10  1:12   ` Naresh Bhat

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.