diff options
author | Tom Zanussi <tom.zanussi@intel.com> | 2011-01-31 00:07:54 -0600 |
---|---|---|
committer | Tom Zanussi <tom.zanussi@intel.com> | 2011-01-31 00:07:54 -0600 |
commit | c5ecc11dec2402aa05e68bd03b65a6460837b748 (patch) | |
tree | 8ca0e296946abc3a0b9a79b51fa9f04d7d5469d7 /common/recipes-bsp | |
parent | 3a6fbfdf01945277a4a271942fc8086575c41744 (diff) | |
download | meta-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-x | common/recipes-bsp/grub/grub-1.98/40_custom | 9 | ||||
-rw-r--r-- | common/recipes-bsp/grub/grub-1.98/grub-install.in.patch | 13 | ||||
-rw-r--r-- | common/recipes-bsp/grub/grub-1.98/uninit-shdr-fix.patch | 31 | ||||
-rw-r--r-- | common/recipes-bsp/grub/grub_1.98.bb | 45 |
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 | ||
2 | exec 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. | ||
6 | menuentry "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 @@ | |||
1 | Index: 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 @@ | |||
1 | Index: 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 @@ | |||
1 | SUMMARY = "GRUB2 is the next-generation GRand Unified Bootloader" | ||
2 | |||
3 | DESCRIPTION = "GRUB2 is the next generaion of a GPLed bootloader \ | ||
4 | intended to unify bootloading across x86 operating systems. In \ | ||
5 | addition to loading the Linux kernel, it implements the Multiboot \ | ||
6 | standard, which allows for flexible loading of multiple boot images." | ||
7 | |||
8 | HOMEPAGE = "http://www.gnu.org/software/grub/" | ||
9 | SECTION = "bootloaders" | ||
10 | PRIORITY = "optional" | ||
11 | |||
12 | LICENSE = "GPLv2+" | ||
13 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
14 | |||
15 | RDEPENDS = "diffutils" | ||
16 | PR = "r0" | ||
17 | |||
18 | SRC_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 | |||
23 | inherit autotools | ||
24 | inherit gettext | ||
25 | |||
26 | EXTRA_OECONF = "--with-platform=pc --target=i386" | ||
27 | |||
28 | do_configure() { | ||
29 | oe_runconf | ||
30 | } | ||
31 | |||
32 | python __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 | |||
39 | do_install_append () { | ||
40 | install -m 0755 ${WORKDIR}/40_custom ${D}${sysconfdir}/grub.d/40_custom | ||
41 | } | ||
42 | |||
43 | FILES_${PN}-doc = "${datadir}" | ||
44 | FILES_${PN} = "/usr /etc" | ||
45 | |||