summaryrefslogtreecommitdiff
path: root/sys-boot/arcload
diff options
context:
space:
mode:
Diffstat (limited to 'sys-boot/arcload')
-rw-r--r--sys-boot/arcload/Manifest8
-rw-r--r--sys-boot/arcload/arcload-0.50-r1.ebuild83
-rw-r--r--sys-boot/arcload/arcload-0.50-r3.ebuild128
-rw-r--r--sys-boot/arcload/files/arcload.865
-rw-r--r--sys-boot/arcload/metadata.xml11
5 files changed, 295 insertions, 0 deletions
diff --git a/sys-boot/arcload/Manifest b/sys-boot/arcload/Manifest
new file mode 100644
index 000000000000..549ea47fa641
--- /dev/null
+++ b/sys-boot/arcload/Manifest
@@ -0,0 +1,8 @@
+AUX arcload.8 2068 SHA256 8aff3d9e0f2f476ada1e9564558ed7a032d98f4687f3f9ed95e99aa970b3696e SHA512 1b62e8116174d6909e947d88ef1a0ad0214b988c48f579eb9310984ad4e73b7c686e644be2b09dbab7dc2053fc36b1d80d272765c168dd8a662a6420e5ffcd75 WHIRLPOOL a86f92e6c5bc6d34785f60b60d3746f94aa1ac7a3f092df3f8e0f7ddf6db3635d66bb7a69178c4ccd19829e1fc8a16ab17d0d4fe7526ce24f24fae043c9ea5af
+DIST arcload-0.5.tar.bz2 47690 SHA256 69cc45f7d27b30256875ccda115b6f74dd3bd894033f0f81b6f87ea1d8f7a0ac SHA512 b4f7186a6e75baa0cde06451a8011769f200d4cc353495dbfeb9c9ffe3ac09b8bbba357e83441e1fe2344c651068fafda7881864d8bf09f221ddae8170cc7b2e WHIRLPOOL 2320614f813518ca324d705c885e3ead247d40ffc05bea2fca401fb23020a0c10e1a4779dcf16cc9bd0b1ce2af4e92ee98e6508098c3e8a918b3a228e66bc6cf
+DIST arcload-0.50-patches-v1.tar.xz 10320 SHA256 161ef360576e3af354022e1a7398ba3af2111f81bb6b6575db5e4c3cd93ce631 SHA512 7687b08bc70a96f8db9a620976b466ff4bb70c8ed77b0c241d060feb8dcab6019d753ac3b182a74139331c9d33f27e090897a0c7c41c1663e16575fef6e21bdf WHIRLPOOL 77b2e51035dcdc9c4f5cd621d2ad44023752e57e6fe7bc1589b365de473c3979eef85aa5391f6e6679993c67036b81895845338c35b1e23406a282b354bb1378
+EBUILD arcload-0.50-r1.ebuild 2779 SHA256 fffae6f42cbc0a61756f1f1d9946d8780c1d52a54435ef13b465e2437f567aca SHA512 986f50a541899947bebf62870086ba54d7599279b18caeaabbb170eb0672908244e63fe44f7f5e45d5b902f55b5b213ea9a67742c01ea443f7027b3216e6bad2 WHIRLPOOL 6e4ffbfcdecba2d7d55910797b83ca1ac8dd49a579346a7879aad6859807d8746544da6e420f8a638844ea3396ea87abb7761d4be4cc248a2027c432eaad21ec
+EBUILD arcload-0.50-r3.ebuild 4300 SHA256 c6cb7dd0188d37509bd8f4a4534016b70cada65f3cde613f616cc1565633e4ad SHA512 e7df8a5eeac49354e73c513aba5a1797df65b9f6f385a14d962f80d367c86f11ffa833eb079c0e8e089b00117b9f1836be8a78196b1bf012c71af2665be42651 WHIRLPOOL 088acd245c7838ba7d8b623128883484745a6de187e3f24866deaea9aa624fda1a4df45d92fba1dff4af0c30ae377ba80cdd9dc31c0388a6e8f04dd3f3c2c59e
+MISC ChangeLog 3005 SHA256 ec548fe7671234935693001923979129f37af844727ae9c97f71bbbe75054191 SHA512 330c6826774ff1c15ded73b275ca36f278d13d40457960224869bf64ee6416beef4061c0858f4df1c3a688a447c5bead9976d697b214f6018f39bdc04faf1f76 WHIRLPOOL b2d49a83427f6b3c23be66a523528c7388f06b28a3e37b3b1b8ea4a08a4434ab52c1e1d46d6cb33c1217db946b71bb7a5417cd0814d93ca8b85d16f758769753
+MISC ChangeLog-2015 4077 SHA256 55db2282abd07bdc29a3576607339da940d251da3b76c7e1957facf6c805c86e SHA512 6eb5f9ccbd76cc34affb807de94784e9cdadb88c61879dc143d944612ab5fedfe83ca5c7645b4ec8216e2b32039cbbfa13885c68cb31bff25e013ae4a510c3cf WHIRLPOOL 49df6f44f23f69961bd465637a4d7c5f1af93011180f7006156c3b562ed561e88dc66bc8896ea1dc60b5861d9218ffa0ae2d7b9c16093c356dda9fd23fba8c3f
+MISC metadata.xml 367 SHA256 ec04970f9193dd9a6fc1583708bb313469cd411b4d18fa606f968ca1dc559485 SHA512 018ab20b1b8015dc4dfec36ef67701ad0c02f7487b8c57db09eb98c5d4d38bcd3ab74434959f051c396e5b995c3a109e9b53ccc7db5c8680333de4cf2b2b82a7 WHIRLPOOL 5b244aa8998b2176394bb47e008fedab768b87e45be9062851ca90609c04c024682710c9c1605c961b109dee95d93c16e05fb843d98da588b40f66651e7edd92
diff --git a/sys-boot/arcload/arcload-0.50-r1.ebuild b/sys-boot/arcload/arcload-0.50-r1.ebuild
new file mode 100644
index 000000000000..75fa0d8b009b
--- /dev/null
+++ b/sys-boot/arcload/arcload-0.50-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils toolchain-funcs versionator
+
+# Hack until upstream renames from 0.5 to 0.50
+MY_PV="${PV/50/5}"
+
+DESCRIPTION="ARCLoad - SGI Multi-bootloader. Able to bootload many different SGI Systems"
+HOMEPAGE="https://www.linux-mips.org/wiki/ARCLoad"
+SRC_URI="https//www.linux-mips.org/pub/linux/mips/people/skylark/arcload-${MY_PV}.tar.bz2"
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="-* ~mips"
+IUSE=""
+DEPEND="sys-boot/dvhtool"
+RDEPEND=""
+RESTRICT="strip"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_prepare() {
+ # For gcc-4.x, quiet down some of the warnings
+ $(version_is_at_least "4.0" "$(gcc-version)") && \
+ epatch "${FILESDIR}"/${P}-shut-gcc4x-up.patch
+
+ # Redefine the targets in the primary Makefile to give us
+ # finer control over building the tools. This is for properly
+ # cross-compiling arcload
+ epatch "${FILESDIR}"/${P}-makefile-targets.patch
+}
+
+src_compile() {
+ # Build the wreckoff tool first. It converts a 32bit MIPS ELF
+ # into a relocatable ECOFF image. We call for BUILD_CC
+ # on the offchance that we're cross-compiling.
+ echo -e ""
+ einfo ">>> Building the 'wreckoff' utility with $(tc-getBUILD_CC) ..."
+ emake CC=$(tc-getBUILD_CC) tools_clean tools
+
+ # 32bit copy (sashARCS for IP22/IP32)
+ echo -e ""
+ einfo ">>> Building 32-bit version (sashARCS) for IP22/IP32 ..."
+ cd "${S}"
+ emake MODE=M32 bootloader_clean
+ emake CC=$(tc-getCC) LD=$(tc-getLD) MODE=M32 bootloader
+ cp "${S}"/arcload.ecoff "${WORKDIR}"/sashARCS
+
+ # 64bit copy (sash64 for IP27/IP28/IP30)
+ echo -e ""
+ einfo ">>> Building 64-bit version (sash64) for IP27/IP28/IP30 ..."
+ emake MODE=M64 bootloader_clean
+ emake CC=$(tc-getCC) LD=$(tc-getLD) MODE=M64 bootloader
+ cp "${S}"/arcload "${WORKDIR}"/sash64
+}
+
+src_install() {
+ dodir /usr/lib/arcload
+ cp "${WORKDIR}"/sashARCS "${D}"/usr/lib/arcload
+ cp "${WORKDIR}"/sash64 "${D}"/usr/lib/arcload
+ cp "${S}"/arc.cf-bootcd "${D}"/usr/lib/arcload/arc-bootcd.cf
+ cp "${S}"/arc.cf-octane "${D}"/usr/lib/arcload/arc-octane.cf
+}
+
+pkg_postinst() {
+ echo -e ""
+ einfo "ARCLoad binaries copied to: /usr/lib/arcload"
+ echo -e ""
+ einfo "Use of ARCLoad is relatively easy:"
+ einfo "\t1) Determine which version you need"
+ einfo "\t\tA) sashARCS for IP22/IP32"
+ einfo "\t\tB) sash64 for IP27/IP28/IP30"
+ einfo "\t2) Copy that to the volume header using 'dvhtool'"
+ einfo "\t3) Edit /usr/lib/arcload/arc-*.cf to fit your specific system"
+ einfo "\t (See ${HOMEPAGE} for"
+ einfo "\t an explanation of the format of the config file)"
+ einfo "\t4) Copy the config file to the volume header with 'dvhtool' as 'arc.cf'"
+ einfo "\t5) Copy any kernels to the volume header that you want to be bootable"
+ einfo "\t6) Reboot, and enjoy!"
+ echo -e ""
+}
diff --git a/sys-boot/arcload/arcload-0.50-r3.ebuild b/sys-boot/arcload/arcload-0.50-r3.ebuild
new file mode 100644
index 000000000000..b35a574efcf1
--- /dev/null
+++ b/sys-boot/arcload/arcload-0.50-r3.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils toolchain-funcs versionator
+
+# Hack until upstream renames from 0.5 to 0.50
+MY_PV="${PV/50/5}"
+
+PATCHREV="1"
+DESCRIPTION="ARCLoad - SGI Multi-bootloader. Able to bootload many different SGI Systems"
+HOMEPAGE="https://www.linux-mips.org/wiki/ARCLoad"
+SRC_URI="https://www.linux-mips.org/pub/linux/mips/people/skylark/${PN}-${MY_PV}.tar.bz2
+ mirror://gentoo/${P}-patches-v${PATCHREV}.tar.xz"
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="-* ~mips"
+IUSE="abi_mips_o32"
+DEPEND="sys-boot/dvhtool
+ abi_mips_o32? ( sys-devel/kgcc64 )"
+RDEPEND=""
+RESTRICT="strip"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+PATCHDIR="${WORKDIR}/${P}-patches"
+
+src_prepare() {
+ # For gcc-4.x, quiet down some of the warnings
+ epatch "${PATCHDIR}"/${P}-shut-gcc4x-up.patch
+
+ # Redefine the targets in the primary Makefile to give us
+ # finer control over building the tools. This is for properly
+ # cross-compiling arcload
+ epatch "${PATCHDIR}"/${P}-makefile-targets.patch
+
+ # Patches borrowed from Debian:
+ # - Load ELF64 images on 32-bit systems - XXX: #543978
+ # - Pass an arcload label name directly on the PROM cmdline.
+ # - Look for arc.cf in /etc and fallback to /.
+# epatch "${PATCHDIR}"/${P}_deb-elf64-on-m32.patch
+ epatch "${PATCHDIR}"/${P}_deb-cmdline-config.patch
+ epatch "${PATCHDIR}"/${P}_deb-config-in-etc.patch
+
+ # Building arcload on different MIPS ABIs can be difficult,
+ # so we include specific bits from standard system headers
+ # to make the compiler happy. These should rarely, if ever,
+ # change...
+ epatch "${PATCHDIR}"/${P}-local-elf_h.patch
+
+ # Patch wreckoff.c to handle the new .MIPS.abiflags section.
+ epatch "${PATCHDIR}"/${P}-wreckoff-abiflags-fix.patch
+
+ # In order to convert from ELF to ECOFF, we need to disable
+ # SSP, as that adds additional program headers that I don't
+ # know how to handle in wreckoff.c.
+ epatch "${PATCHDIR}"/${P}-disable-ssp.patch
+
+ # The code is old and has a lot of issues. But it's just a
+ # simple bootloader, so silence the various warnings until
+ # it can be re-written.
+ epatch "${PATCHDIR}"/${P}-silence-warnings.patch
+}
+
+src_compile() {
+ local myCC myCC64 myLD myLD64
+
+ myCC="$(tc-getCC)"
+ myLD="$(tc-getLD)"
+ if use abi_mips_o32; then
+ myCC64=${myCC/mips/mips64}
+ myLD64=${myLD/mips/mips64}
+ else
+ myCC64=${myCC}
+ myLD64=${myLD}
+ fi
+
+ # Build the wreckoff tool first. It converts a 32bit MIPS ELF
+ # into a relocatable ECOFF image. We call for BUILD_CC
+ # on the offchance that we're cross-compiling.
+ echo -e ""
+ einfo ">>> Building the 'wreckoff' utility with $(tc-getBUILD_CC) ..."
+ emake CC=$(tc-getBUILD_CC) tools_clean tools
+
+ # 32bit copy (sashARCS for IP22/IP32)
+ echo -e ""
+ einfo ">>> Building 32-bit version (sashARCS) for IP22/IP32 with ${myCC} ..."
+ cd "${S}"
+ emake MODE=M32 bootloader_clean
+ emake CC=${myCC} LD=${myLD} MODE=M32 bootloader
+ cp "${S}"/arcload.ecoff "${WORKDIR}"/sashARCS
+
+ # 64bit copy (sash64 for IP27/IP28/IP30)
+ echo -e ""
+ einfo ">>> Building 64-bit version (sash64) for IP27/IP28/IP30 ${myCC/mips/mips64} ..."
+ emake MODE=M64 bootloader_clean
+ emake CC=${myCC64} LD=${myLD64} MODE=M64 bootloader
+ cp "${S}"/arcload "${WORKDIR}"/sash64
+}
+
+src_install() {
+ dodir /usr/lib/arcload
+ cp "${WORKDIR}"/sashARCS "${D}"/usr/lib/arcload
+ cp "${WORKDIR}"/sash64 "${D}"/usr/lib/arcload
+ cp "${S}"/arc.cf-bootcd "${D}"/usr/lib/arcload/arc-bootcd.cf
+ cp "${S}"/arc.cf-octane "${D}"/usr/lib/arcload/arc-octane.cf
+
+ # Add a manpage for arcload(8) from the Debian Project.
+ doman "${FILESDIR}/arcload.8"
+}
+
+pkg_postinst() {
+ echo -e ""
+ einfo "ARCLoad binaries copied to: /usr/lib/arcload"
+ echo -e ""
+ einfo "Use of ARCLoad is relatively easy:"
+ einfo "\t1) Determine which version you need"
+ einfo "\t\tA) sashARCS for IP22/IP32"
+ einfo "\t\tB) sash64 for IP27/IP28/IP30"
+ einfo "\t2) Copy that to the volume header using 'dvhtool'"
+ einfo "\t3) Edit /usr/lib/arcload/arc-*.cf to fit your specific system"
+ einfo "\t (See ${HOMEPAGE} for"
+ einfo "\t an explanation of the format of the config file)"
+ einfo "\t4) Copy the config file to the volume header with 'dvhtool' as 'arc.cf'"
+ einfo "\t5) Copy any kernels to the volume header that you want to be bootable"
+ einfo "\t6) Reboot, and enjoy!"
+ echo -e ""
+}
diff --git a/sys-boot/arcload/files/arcload.8 b/sys-boot/arcload/files/arcload.8
new file mode 100644
index 000000000000..6d72dd5c5d78
--- /dev/null
+++ b/sys-boot/arcload/files/arcload.8
@@ -0,0 +1,65 @@
+.TH "ARCLOAD" "8" "25 November 2007" "" ""
+.SH NAME
+arcload \- bootloader for SGI/ARCS machines
+.SH SYNOPSIS
+
+\fBarcload\fR \fIdevice\fR
+
+.SH "DESCRIPTION"
+.PP
+\fBarcload\fR is a bootloader designed to load any Linux kernel on any
+SGI/ARCS machine. It supports booting the kernel from a variety of
+filesystems; currently, the following filesystems are supported:
+\fBext2\fR (\fBext3\fR), \fBfat\fR, \fBiso9660\fR, \fBjfs\fR,
+\fBminix\fR, \fBufs\fR, \fBxfs\fR and the \fB*arcfs\fR
+pseudo-filesystem.
+
+\fBarcload\fP usually resides in the volume header of a disk with an
+SGI disklabel.
+.SH "USAGE"
+.PP
+\fIdevice\fR is the device name of the disk containing the volume header
+\fBarcload\fR should go into. To use \fBarcload\fR you have to modify
+the following PROM variables:
+.P
+\fIsetenv OSLoader arcload\fR
+.P
+\fIsetenv SystemPartition dksc(c,d,8)\fR
+.P
+\fIsetenv OSLoadPartition dksc(c,d,p)\fR
+.P
+\fIsetenv OSLoadFilename label(option1,option2,...)\fR
+.P
+where \fIc\fR is the ID of the SCSI controller, \fId\fR the SCSI ID
+of the disk \fBarcload\fR resides on and \fIp\fR the partition number
+of the partition \fBarc.cf\fR and the kernels reside on (counting
+from 0). Note that \fBarc.cf\fR and the directory your kernels are in
+(usually / or /boot) have to be on the same partition. On boot,
+\fBarcload\fR looks at the \fIOSLoadFilename\fR PROM variable and
+tries to find a label with the same name in \fBarc.cf\fR.
+
+\fBarc.cf\fP can reside either in /etc or at the root of the partition pointed
+to by the \fIOSLoadFilename\fP variable.
+
+.SH "NOTES"
+\fBarcload\fR only loads ELF kernels.
+
+.SH "FILES"
+.BR /arc.cf
+\fBarcload\fR's configuration file
+.P
+.BR /usr/share/doc/arcload/examples
+configuration file examples
+.P
+.BR /usr/share/doc/arcload/README.Debian
+some notes about arcload for Debian
+.PP
+.SH "SEE ALSO"
+.PP
+dvhtool(1)
+
+.SH "AUTHORS"
+ARCLoad was written by Stanislaw Skowronek
+<skylark@linux-mips.org>. This manual page was written by Julien
+BLACHE <jblache@debian.org> for the Debian Project (but may be used by
+others), based on the arcboot(8) manpage.
diff --git a/sys-boot/arcload/metadata.xml b/sys-boot/arcload/metadata.xml
new file mode 100644
index 000000000000..210fdb4244e4
--- /dev/null
+++ b/sys-boot/arcload/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>mips@gentoo.org</email>
+ <name>Gentoo/MIPS Port</name>
+ </maintainer>
+ <longdescription>
+ ARCLoad - SGI Multi-bootloader. Able to bootload many different SGI Systems.
+ </longdescription>
+</pkgmetadata>