diff options
Diffstat (limited to 'sys-boot/arcload')
-rw-r--r-- | sys-boot/arcload/Manifest | 8 | ||||
-rw-r--r-- | sys-boot/arcload/arcload-0.50-r1.ebuild | 83 | ||||
-rw-r--r-- | sys-boot/arcload/arcload-0.50-r3.ebuild | 128 | ||||
-rw-r--r-- | sys-boot/arcload/files/arcload.8 | 65 | ||||
-rw-r--r-- | sys-boot/arcload/metadata.xml | 11 |
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> |