summaryrefslogtreecommitdiffstats
path: root/common/recipes-bsp
diff options
context:
space:
mode:
authorTom Zanussi <tom.zanussi@intel.com>2011-01-31 00:07:54 -0600
committerTom Zanussi <tom.zanussi@intel.com>2011-01-31 00:07:54 -0600
commitc5ecc11dec2402aa05e68bd03b65a6460837b748 (patch)
tree8ca0e296946abc3a0b9a79b51fa9f04d7d5469d7 /common/recipes-bsp
parent3a6fbfdf01945277a4a271942fc8086575c41744 (diff)
downloadmeta-intel-c5ecc11dec2402aa05e68bd03b65a6460837b748.tar.gz
meta-intel: add a /common dir with grub2/live-install changes
Add a /common dir to contain code shared by multiple BSPs in the meta-intel repo, along with a couple recipes to live there temporarily. In this case, there are two BSPs that need to share the common grub2 and associated initramfs-live-install changes (sugarbay and jasperforest). The grub2 and associated initramfs-live-install changes will soon be submitted to the main poky repo, but for now it makes more sense to keep them here - they're needed for live-install of the two BSPs mentioned, but they contain a couple hacks that need to be addressed and are untested with anything else. Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Diffstat (limited to 'common/recipes-bsp')
-rwxr-xr-xcommon/recipes-bsp/grub/grub-1.98/40_custom9
-rw-r--r--common/recipes-bsp/grub/grub-1.98/grub-install.in.patch13
-rw-r--r--common/recipes-bsp/grub/grub-1.98/uninit-shdr-fix.patch31
-rw-r--r--common/recipes-bsp/grub/grub_1.98.bb45
4 files changed, 98 insertions, 0 deletions
diff --git a/common/recipes-bsp/grub/grub-1.98/40_custom b/common/recipes-bsp/grub/grub-1.98/40_custom
new file mode 100755
index 00000000..30dad39a
--- /dev/null
+++ b/common/recipes-bsp/grub/grub-1.98/40_custom
@@ -0,0 +1,9 @@
1#!/bin/sh
2exec tail -n +3 $0
3# This file provides an easy way to add custom menu entries. Simply type the
4# menu entries you want to add after this comment. Be careful not to change
5# the 'exec tail' line above.
6menuentry "Yocto Linux" {
7 set root=(hd0,1)
8 linux /boot/vmlinuz root=__ROOTFS__ rw __VIDEO_MODE__ __VGA_MODE__ quiet
9}
diff --git a/common/recipes-bsp/grub/grub-1.98/grub-install.in.patch b/common/recipes-bsp/grub/grub-1.98/grub-install.in.patch
new file mode 100644
index 00000000..ac964193
--- /dev/null
+++ b/common/recipes-bsp/grub/grub-1.98/grub-install.in.patch
@@ -0,0 +1,13 @@
1Index: grub-1.98/util/grub-install.in
2===================================================================
3--- grub-1.98.orig/util/grub-install.in 2011-01-25 23:47:05.587521825 -0600
4+++ grub-1.98/util/grub-install.in 2011-01-25 23:47:23.867521822 -0600
5@@ -306,7 +306,7 @@
6
7 if [ "x${devabstraction_module}" = "x" ] ; then
8 if [ x"${install_device}" != x ]; then
9- if echo "${install_device}" | grep -qx "(.*)" ; then
10+ if echo "${install_device}" | grep -q "(.*)" ; then
11 install_drive="${install_device}"
12 else
13 install_drive="`$grub_probe --target=drive --device ${install_device}`"
diff --git a/common/recipes-bsp/grub/grub-1.98/uninit-shdr-fix.patch b/common/recipes-bsp/grub/grub-1.98/uninit-shdr-fix.patch
new file mode 100644
index 00000000..67af594b
--- /dev/null
+++ b/common/recipes-bsp/grub/grub-1.98/uninit-shdr-fix.patch
@@ -0,0 +1,31 @@
1Index: grub-1.98/loader/i386/bsdXX.c
2===================================================================
3--- grub-1.98.orig/loader/i386/bsdXX.c 2011-01-25 00:12:14.967535179 -0600
4+++ grub-1.98/loader/i386/bsdXX.c 2011-01-25 00:13:16.387535169 -0600
5@@ -80,7 +80,7 @@
6 {
7 Elf_Ehdr e;
8 Elf_Shdr *s;
9- char *shdr;
10+ char *shdr = NULL;
11 grub_addr_t curload, module;
12 grub_err_t err;
13
14@@ -148,7 +148,7 @@
15 {
16 Elf_Ehdr e;
17 Elf_Shdr *s;
18- char *shdr;
19+ char *shdr = NULL;
20 grub_addr_t curload, module;
21 grub_err_t err;
22
23@@ -223,7 +223,7 @@
24 grub_err_t err;
25 Elf_Ehdr e;
26 Elf_Shdr *s;
27- char *shdr;
28+ char *shdr = NULL;
29 unsigned symoff, stroff, symsize, strsize;
30 grub_addr_t curload;
31 grub_freebsd_addr_t symstart, symend, symentsize, dynamic;
diff --git a/common/recipes-bsp/grub/grub_1.98.bb b/common/recipes-bsp/grub/grub_1.98.bb
new file mode 100644
index 00000000..b9d04fc5
--- /dev/null
+++ b/common/recipes-bsp/grub/grub_1.98.bb
@@ -0,0 +1,45 @@
1SUMMARY = "GRUB2 is the next-generation GRand Unified Bootloader"
2
3DESCRIPTION = "GRUB2 is the next generaion of a GPLed bootloader \
4intended to unify bootloading across x86 operating systems. In \
5addition to loading the Linux kernel, it implements the Multiboot \
6standard, which allows for flexible loading of multiple boot images."
7
8HOMEPAGE = "http://www.gnu.org/software/grub/"
9SECTION = "bootloaders"
10PRIORITY = "optional"
11
12LICENSE = "GPLv2+"
13LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
14
15RDEPENDS = "diffutils"
16PR = "r0"
17
18SRC_URI = "ftp://alpha.gnu.org/gnu/grub/grub-${PV}.tar.gz \
19 file://uninit-shdr-fix.patch;apply=yes \
20 file://grub-install.in.patch;apply=yes \
21 file://40_custom"
22
23inherit autotools
24inherit gettext
25
26EXTRA_OECONF = "--with-platform=pc --target=i386"
27
28do_configure() {
29 oe_runconf
30}
31
32python __anonymous () {
33 import re
34 host = bb.data.getVar('HOST_SYS', d, 1)
35 if not re.match('x86.64.*-linux', host):
36 raise bb.parse.SkipPackage("incompatible with host %s" % host)
37}
38
39do_install_append () {
40 install -m 0755 ${WORKDIR}/40_custom ${D}${sysconfdir}/grub.d/40_custom
41}
42
43FILES_${PN}-doc = "${datadir}"
44FILES_${PN} = "/usr /etc"
45