Compare commits

...
Sign in to create a new pull request.

8 commits

Author SHA1 Message Date
Fedora Release Engineering
0d0c5bd3f0 dist-git conversion 2010-07-29 16:18:00 +00:00
Bill Nottingham
4eea81408c Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:12:01 +00:00
Tony Breeds
7c8e089446 Backport the no birecs patch from F-11/rawhide uptil a better solution is
available upstream.
2009-08-11 00:45:04 +00:00
Roman Rakus
a5bf0aa8df Add patch to handle relocatable kernels. Resolves: #483041 2009-01-29 14:48:38 +00:00
David Woodhouse
e444c19931 oops, missing patches 2008-11-21 17:55:07 +00:00
David Woodhouse
e53a11ca38 bump release 2008-11-21 17:40:13 +00:00
David Woodhouse
d2db8d3b5e fix bootonce, MAX_TOKEN 2008-11-21 17:29:54 +00:00
Jesse Keating
c5d6f96ae8 Initialize branch F-10 for yaboot 2008-11-07 04:43:14 +00:00
7 changed files with 87 additions and 23 deletions

View file

View file

@ -1,22 +0,0 @@
# Makefile for source rpm: yaboot
# $Id: Makefile,v 1.2 2004/09/18 08:21:27 pnasrat Exp $
NAME := yaboot
SPECFILE = $(firstword $(wildcard *.spec))
UPSTREAM_CHECKS = sig
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attempt a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View file

@ -0,0 +1,12 @@
diff -up yaboot-1.3.14/second/cfg.c.bigger-max-token yaboot-1.3.14/second/cfg.c
--- yaboot-1.3.14/second/cfg.c.bigger-max-token 2008-11-12 14:39:11.000000000 -0500
+++ yaboot-1.3.14/second/cfg.c 2008-11-12 14:39:17.000000000 -0500
@@ -41,7 +41,7 @@ typedef struct {
void *data;
} CONFIG;
-#define MAX_TOKEN 200
+#define MAX_TOKEN 511
#define MAX_VAR_NAME MAX_TOKEN
#define EOF -1

View file

@ -0,0 +1,21 @@
diff -up yaboot-1.3.14/ybin/ybin.fix-bootonce-nvram yaboot-1.3.14/ybin/ybin
--- yaboot-1.3.14/ybin/ybin.fix-bootonce-nvram 2008-11-12 14:51:28.000000000 -0500
+++ yaboot-1.3.14/ybin/ybin 2008-11-13 12:15:21.000000000 -0500
@@ -1689,14 +1689,15 @@ checkconf || exit 1
if [ "x$bootonce" != "x" ]; then
foundlabel=`sed s/\#.*// $bootconf | grep "label=$bootonce$" | wc -l`
- if [ "$nonvram" = 0 ]; then
+ if [ "$nonvram" = 1 ]; then
echo 1>&2 "$PRG: --bootonce specified, but nvsetenv not available."
exit 1
fi
if [ "$foundlabel" = 1 ]; then
nvsetenv boot-once "$bootonce"
foundlabel=`nvsetenv boot-once`
- if [ "$foundlabel" != "boot-once=$bootonce" ]; then
+ if [ "$foundlabel" != "boot-once=$bootonce" -a \
+ "$foundlabel" != "$bootonce" ]; then
echo 1>&2 "$PRG: Could not nvsetenv boot-once $bootonce"
exit 1
fi

View file

@ -0,0 +1,11 @@
--- yaboot-1.3.14/second/yaboot.c~ 2009-06-07 08:57:58.000000000 +0100
+++ yaboot-1.3.14/second/yaboot.c 2009-06-07 09:02:03.000000000 +0100
@@ -1243,7 +1243,7 @@ yaboot_text_ui(void)
flush_icache_range ((long)loadinfo.base, (long)loadinfo.base+loadinfo.memsize);
DEBUG_F(" done\n");
- if (flat_vmlinux) {
+ if (0 && flat_vmlinux) {
/*
* Fill new boot infos (only if booting a vmlinux).
*

View file

@ -0,0 +1,21 @@
PPC64 relocatable kernels (built with CONFIG_RELOCATABLE=y) have the type of
ET_DYN. But yaboot code won't load the kernel if the ELF type is not
ET_EXEC. Attached patch adds support to yaboot to load relocatable kernels
also (ie load ET_DYN type also)
Signed-off-by: M. Mohan Kumar <mohan at in.ibm.com>
---
second/yaboot.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- yaboot-1.3.14.orig/second/yaboot.c
+++ yaboot-1.3.14/second/yaboot.c
@@ -1606,7 +1606,7 @@ is_elf64(loadinfo_t *loadinfo)
e->e_ident[EI_MAG3] == ELFMAG3 &&
e->e_ident[EI_CLASS] == ELFCLASS64 &&
e->e_ident[EI_DATA] == ELFDATA2MSB &&
- e->e_type == ET_EXEC &&
+ (e->e_type == ET_EXEC || e->e_type == ET_DYN) &&
e->e_machine == EM_PPC64);
}

View file

@ -1,7 +1,7 @@
Summary: Linux bootloader for Power Macintosh "New World" computers.
Name: yaboot
Version: 1.3.14
Release: 6%{?dist}
Release: 10%{?dist}
License: GPLv2+
Group: System Environment/Base
Source: http://yaboot.ozlabs.org/releases/yaboot-%{version}.tar.gz
@ -22,6 +22,10 @@ Patch22: yaboot-1.3.13-allow-deep-mntpoint.patch
Patch27: yaboot-ppc64.patch
Patch28: yaboot-1.3.13-dontwritehome.patch
Patch29: yaboot-1.3.14-baseaddr.patch
Patch30: yaboot-1.3.14-fix-bootonce-nvram.patch
Patch31: yaboot-1.3.14-bigger-max-token.patch
Patch32: yaboot-relocatable-kernel.patch
Patch33: yaboot-1.3.14-no-birecs.patch
URL: http://yaboot.ozlabs.org/
BuildRoot: %{_tmppath}/%{name}-root
@ -54,6 +58,10 @@ yaboot can also bootload IBM pSeries machines.
%patch27 -p1 -b .ppc64
%patch28 -p1 -b .bootwrite
%patch29 -p1 -b .baseaddr
%patch30 -p1 -b .bootonce
%patch31 -p1 -b .maxtoken
%patch32 -p1 -b .relocatable
%patch33 -p1 -b .nobirecs
%build
make VERSIONEXTRA='\ (Red Hat %version-%release)'
@ -89,6 +97,19 @@ rm -rf $RPM_BUILD_ROOT
%ghost %config(noreplace) %{_sysconfdir}/yaboot.conf
%changelog
* Tue Aug 11 2009 tony@bakeyournoodle.com - 1.3.14-10
- Backported the "no birecs" patch from F-11, rawhide. See below for details:
https://www.redhat.com/archives/fedora-kernel-list/2009-June/msg00002.html
http://lists.ozlabs.org/pipermail/linuxppc-dev/2009-August/074571.html
* Thu Jan 29 2009 Roman Rakus <rrakus@redhat.com> - 1.3.14-9
- Add patch to handle relocatable kernels
Resolves: #483041
* Fri Nov 21 2008 David Woodhouse <David.Woodhouse@intel.com> - 1.3.14-8
- Fix 'ybin --bootonce' (#471425)
- Fix maximum token length, to fix preupgrade (#471321)
* Wed Nov 05 2008 Roman Rakus <rrakus@redhat.com> - 1.3.14-6
- Changed kernel load base address
Resolves: #468492