summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Kinard <kumba@gentoo.org>2004-08-04 05:32:43 +0000
committerJoshua Kinard <kumba@gentoo.org>2004-08-04 05:32:43 +0000
commit16da1c2a6a5b7bd50f6c5a8e6c71d7640232f0ed (patch)
tree7dd6d3fbe4af6795422f2909bdb57c7eb5088597 /sys-boot/arcboot
parentuse patch in $DISTDIR (diff)
downloadhistorical-16da1c2a6a5b7bd50f6c5a8e6c71d7640232f0ed.tar.gz
historical-16da1c2a6a5b7bd50f6c5a8e6c71d7640232f0ed.tar.bz2
historical-16da1c2a6a5b7bd50f6c5a8e6c71d7640232f0ed.zip
Initial import of arcboot, a bootloader for SGI machines.
Diffstat (limited to 'sys-boot/arcboot')
-rw-r--r--sys-boot/arcboot/ChangeLog10
-rw-r--r--sys-boot/arcboot/Manifest5
-rw-r--r--sys-boot/arcboot/arcboot-0.3.8.2.ebuild128
-rw-r--r--sys-boot/arcboot/files/arcboot-gentoo.patch22
-rw-r--r--sys-boot/arcboot/files/digest-arcboot-0.3.8.21
-rw-r--r--sys-boot/arcboot/metadata.xml14
6 files changed, 180 insertions, 0 deletions
diff --git a/sys-boot/arcboot/ChangeLog b/sys-boot/arcboot/ChangeLog
new file mode 100644
index 000000000000..65e3e8b77d1b
--- /dev/null
+++ b/sys-boot/arcboot/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for sys-boot/arcboot
+# Copyright 1999-2004 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/arcboot/ChangeLog,v 1.1 2004/08/04 05:32:43 kumba Exp $
+
+*arcboot-0.3.8.2 (04 Aug 2004)
+
+ 04 Aug 2004; Joshua Kinard <kumba@gentoo.org> +metadata.xml,
+ +files/arcboot-gentoo.patch, +arcboot-0.3.8.2.ebuild:
+ Initial import of arcboot, a bootloader for SGI machines.
+
diff --git a/sys-boot/arcboot/Manifest b/sys-boot/arcboot/Manifest
new file mode 100644
index 000000000000..8412df776dca
--- /dev/null
+++ b/sys-boot/arcboot/Manifest
@@ -0,0 +1,5 @@
+MD5 6fb572ed7959ebf0171d2e5e18b31831 metadata.xml 317
+MD5 d6e799fa46bf99bfbe2bf5ea101c9656 arcboot-0.3.8.2.ebuild 3967
+MD5 aeaf236636683610f873d84016094313 ChangeLog 416
+MD5 5993ec1e9bae04f3a57f094011601c4b files/digest-arcboot-0.3.8.2 67
+MD5 ffbb46ff4240f217c96de74002a6e9eb files/arcboot-gentoo.patch 599
diff --git a/sys-boot/arcboot/arcboot-0.3.8.2.ebuild b/sys-boot/arcboot/arcboot-0.3.8.2.ebuild
new file mode 100644
index 000000000000..5bed25ee537a
--- /dev/null
+++ b/sys-boot/arcboot/arcboot-0.3.8.2.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/arcboot/arcboot-0.3.8.2.ebuild,v 1.1 2004/08/04 05:32:43 kumba Exp $
+
+inherit eutils
+
+MY_P="${P/-/_}"
+
+DESCRIPTION="ARCS Bootloader for SGI Machines (IP22, IP32)"
+HOMEPAGE="http://packages.qa.debian.org/a/arcboot.html"
+SRC_URI="http://http.us.debian.org/debian/pool/main/a/arcboot/${MY_P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~mips"
+IUSE=""
+
+DEPEND=""
+RDEPEND="sys-boot/dvhtool
+ sys-apps/debianutils"
+
+S=${WORKDIR}/${P}
+
+pkg_setup() {
+ # arcboot is for SGI mips machines only, so exclude everyone but them
+ if use mips; then
+ if [ "${PROFILE_ARCH}" = "cobalt" ]; then
+ error "arcboot is a bootloader only for MIPS machines running"
+ error "ARCS firmware, such as SGI Machines. It is not intended"
+ error "for other kinds of MIPS machines."
+ die "Wrong MIPS Machine Type"
+ fi
+ fi
+
+
+ # Set SGI_TARGET properly
+ case "$(uname -i)" in
+ "SGI IP32"|"SGI O2") SGI_TARGET="ip32" ;;
+ "SGI Indy"|"SGI Indigo2") SGI_TARGET="ip22" ;;
+ *)
+ error "Unknown SGI Machine type. It's possible arcboot is not usable for this machine"
+ error "type yet. Feel free to make it work and send patches!"
+ die "Unknown SGI Machine Type"
+ ;;
+ esac
+}
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+
+ # Set the version
+ echo "#define __ARCSBOOT_VERSION__ \"${PV}\"" >> common/version.h
+
+ # O2's PROM does *not* like ECOFF formatted arcboot, and gcc-3.4.x + newer binutils
+ # creates an overlap when doing the final arcboot link. The below patch fixes this.
+ epatch ${FILESDIR}/arcboot-gentoo.patch
+}
+
+src_compile() {
+ cd ${S}
+ local sgitype="$(echo "${SGI_TARGET}" | tr [a-z] [A-Z])"
+
+ echo -e ""
+ einfo ">>> Building for ${sgitype} ..."
+ echo -e ""
+
+ make SUBARCH="${sgitype}" || die
+}
+
+src_install() {
+ cd ${S}
+
+ # Arcboot
+ dodir /usr/lib/arcboot
+ cp ext2load/ext2load ${D}/usr/lib/arcboot/arcboot.${SGI_TARGET}
+
+ # Technically, we don't need tip22 (attaches initrd to kernel), as
+ # MIPS kernels support embedding initrd's into kernels at build time,
+ # But maybe this will be useful one day. Until then, we leave it out.
+## dodir /usr/lib/tip22
+## cp tip22/tip22 ${D}/usr/lib/tip22
+## cp tip22/tftpload.o ${D}/usr/lib/tip22
+## cp tip22/ld.kernel.script ${D}/usr/lib/tip22
+## cp tip22/ld.ramdisk.script ${D}/usr/lib/tip22
+## cp tip22/ld.script ${D}/usr/lib/tip22
+## cp arclib/libarc.a ${D}/usr/lib/tip22
+
+ # Calling scripts for arcboot/tip22
+ # We also exclude these, since the logic in the debian script may not
+ # work correctly with a gentoo installation. All the information a
+ # user needs is provided in the example arcboot.conf, and in pkg_postinst().
+## dosbin scripts/arcboot
+## dosbin tip22/tip22
+
+ # Conf file
+ dodir /etc
+ cp etc/arcboot.conf ${D}/etc/arcboot.conf.example
+
+ # Man pages
+ # The arcboot manpage is more for the excluded arcboot script above, but
+ # also has info on setting the PROM option properly as well as arcboot.conf
+ # examples.
+ doman debian/arcboot.8
+## doman debian/tip22.8
+}
+
+pkg_postinst() {
+ echo -e ""
+ einfo "The arcboot image used to load the kernel from disk has been stored in"
+ einfo "/usr/lib/arcboot/arcboot.${SGI_TARGET}. To use it, you need to copy this into"
+ einfo "the volume header with dvhtool:"
+ einfo ""
+ einfo "dvhtool --unix-to-vh /usr/lib/arcboot/arcboot.${SGI_TARGET} arcboot"
+ echo -e ""
+ einfo "Next, you need to create an arcboot.conf file. An example arcboot.conf"
+ einfo "file has been placed in /etc."
+ echo -e ""
+ echo -e ""
+ ewarn "NOTE: If you put kernels in /boot for arcboot to load, and /boot is on a"
+ ewarn " separate partition, then arcboot.conf MUST go into /boot/etc, and a"
+ ewarn " symlink must be created to point /boot back to itself:"
+ ewarn ""
+ ewarn " cd /boot; ln -sf . boot"
+ echo -e ""
+ einfo "To use arcboot, from the PROM Monitor, simply type \"arcboot\" or \"boot -f arcboot\"."
+ echo -e ""
+ echo -e ""
+}
diff --git a/sys-boot/arcboot/files/arcboot-gentoo.patch b/sys-boot/arcboot/files/arcboot-gentoo.patch
new file mode 100644
index 000000000000..e2203f4026df
--- /dev/null
+++ b/sys-boot/arcboot/files/arcboot-gentoo.patch
@@ -0,0 +1,22 @@
+--- ext2load/Makefile.orig 2004-08-03 00:08:44.000000000 -0400
++++ ext2load/Makefile 2004-08-03 00:44:43.000000000 -0400
+@@ -25,7 +25,7 @@ ASFLAGS= -mno-abicalls -G 0 -fno-pic
+ #CFLAGS+=-DDEBUG
+
+ LD = ld
+-LDFLAGS = -N --oformat ecoff-bigmips -T ld.script
++LDFLAGS = -N --oformat elf32-tradbigmips -T ld.script
+
+ TARGETS = ext2load
+
+--- ext2load/ld.script.in.orig 2004-08-03 00:08:56.000000000 -0400
++++ ext2load/ld.script.in 2004-08-03 00:44:52.000000000 -0400
+@@ -9,7 +9,7 @@ SECTIONS
+ .text :
+ {
+ _ftext = . ;
+- *(.rodata)
++ *(.rodata*)
+ *(.text)
+ } =0
+ _etext = .;
diff --git a/sys-boot/arcboot/files/digest-arcboot-0.3.8.2 b/sys-boot/arcboot/files/digest-arcboot-0.3.8.2
new file mode 100644
index 000000000000..45f76772530b
--- /dev/null
+++ b/sys-boot/arcboot/files/digest-arcboot-0.3.8.2
@@ -0,0 +1 @@
+MD5 21c2814afbc7398fcfe2230848020805 arcboot_0.3.8.2.tar.gz 191209
diff --git a/sys-boot/arcboot/metadata.xml b/sys-boot/arcboot/metadata.xml
new file mode 100644
index 000000000000..ca2621dcc3f8
--- /dev/null
+++ b/sys-boot/arcboot/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>mips</herd>
+ <maintainer>
+ <email>mips@gentoo.org</email>
+ <name>Mips Team</name>
+ </maintainer>
+
+ <longdescription>
+ Bootloader for SGI Machines.
+ </longdescription>
+</pkgmetadata>
+