debian/0000775000000000000000000000000011633623520007171 5ustar debian/rules0000775000000000000000000000327611633622567010273 0ustar #!/usr/bin/make -f STAMP_DIR := debian/stamps $(STAMP_DIR)/stamp: [ -d $(STAMP_DIR) ] || mkdir $(STAMP_DIR) touch $(STAMP_DIR)/stamp build-arch: build build-indep: build build: $(STAMP_DIR)/build $(STAMP_DIR)/man $(STAMP_DIR)/build: $(STAMP_DIR)/stamp dh_testdir $(MAKE) all touch $(STAMP_DIR)/build $(STAMP_DIR)/man: $(STAMP_DIR)/stamp dh_testdir cd man && patch < ../man.patch touch $(STAMP_DIR)/man man-clean: dh_testdir if [ -f $(STAMP_DIR)/man ]; then \ cd man && patch -R < ../man.patch; \ rm -f $(STAMP_DIR)/man; \ fi clean: man-clean $(MAKE) clean rm -rf $(STAMP_DIR) rm -rf .pc dh_clean binary-indep: binary-arch: build dh_testdir dh_testroot dh_prep dh_installdirs usr/sbin usr/lib/yaboot usr/share/lintian/overrides/ install -m 644 debian/overrides-yaboot debian/yaboot/usr/share/lintian/overrides/yaboot install -m 644 second/yaboot debian/yaboot/usr/lib/yaboot/yaboot install -m 755 util/addnote \ debian/yaboot/usr/lib/yaboot/addnote install -m 755 ybin/ybin debian/yaboot/usr/sbin/ybin install -m 755 ybin/yabootconfig debian/yaboot/usr/sbin/yabootconfig ln -s ybin debian/yaboot/usr/sbin/mkofboot install -m 755 ybin/ofpath debian/yaboot/usr/sbin/ofpath install -m 644 first/ofboot debian/yaboot/usr/lib/yaboot/ofboot dh_installexamples doc/examples/* dh_installman man/* dh_installdocs ChangeLog README doc/README* BUGS THANKS TODO \ doc/yaboot-howto* dh_installchangelogs changelog dh_strip # dh_strip won't do this one since it's not executable strip --remove-section=.comment debian/yaboot/usr/lib/yaboot/yaboot dh_fixperms dh_compress dh_shlibdeps dh_gencontrol dh_md5sums dh_installdeb dh_builddeb binary: binary-indep binary-arch debian/compat0000664000000000000000000000000211633622567010401 0ustar 7 debian/source/0000775000000000000000000000000011633622567010503 5ustar debian/source/format0000664000000000000000000000001411633622567011711 0ustar 3.0 (quilt) debian/README.Debian0000664000000000000000000000227511633622567011252 0ustar This is yaboot, the NewWorld Power Macintosh bootloader. To configure it, you will need to create a valid /etc/yaboot.conf. This can be generated using the "yabootconfig" program. See yabootconfig(8) and yaboot.conf(5) for more information. The man pages for mkofboot(8) and ybin(8) are also useful. The Debian package uses the upstream tarball located here: . Upgrading Notes --------------- As of package version 0.8-0.22, the value of magicboot= in yaboot.conf can have two meanings. The old sort of magicboot, a CHRP bootloader script, is still supported; however, the default is /usr/lib/yaboot/ofboot, which generates boot scripts according to your yaboot configuration. Also note that the yaboot binary has moved from /boot/yaboot to /usr/lib/yaboot/yaboot. Migrating to the new format is recommended. This is yaboot, the NewWorld Power Macintosh bootloader. To configure it, you will need to create a valid /etc/yaboot.conf. This can be generated using the "yabootconfig" program. See yabootconfig(8) and yaboot.conf(5) for more information. The man pages for mkofboot(8) and ybin(8) are also useful. debian/watch0000664000000000000000000000010111633622567010224 0ustar version=3 http://yaboot.ozlabs.org/releases/yaboot-(.+)\.tar\.gz debian/README.source0000664000000000000000000000007511633622567011364 0ustar Please refer to . debian/overrides-yaboot0000664000000000000000000000004111633622567012416 0ustar yaboot: statically-linked-binary debian/changelog0000664000000000000000000005256211633623520011055 0ustar yaboot (1.3.16-4ubuntu1) oneiric; urgency=low * Merge from Debian unstable. Remaining changes: - Ubuntu branding - Add ppc64 to architecture list - Add Cell support * cell-support.patch: Refreshed -- Luke Yelavich Tue, 13 Sep 2011 19:49:35 +1000 yaboot (1.3.16-4) unstable; urgency=low * ydl-powerstation.patch: Support YDL PowerStation. (Closes: #603894) -- Milan Kupcevic Sun, 28 Aug 2011 00:47:49 -0400 yaboot (1.3.16-3ubuntu1) oneiric; urgency=low * Merge from Debian unstable. Remaining changes: - Ubuntu branding - Add ppc64 to architecture list - Add Cell support -- Luke Yelavich Fri, 19 Aug 2011 12:58:37 +1000 yaboot (1.3.16-3) unstable; urgency=low * Use debhelper 7. * Add debian/watch. * Kill lintian warnings: - replace "dh_clean -k" with dh_prep. - Add build-arch and build-indep to debian/rules * Bump Standards-Version to 3.9.2. * Source package format 3 (quilt). * Remove Sven Luther from Uploaders, thanks for your work. * e2fs-posix-memalign.patch: Provide posix_memalign required by e2fslibs since version 1.41.13. * e2fs-missing-libc.patch: Missing libc functions required by e2fslibs. * no-proc-scsi.patch: Update. Add support for pata-macio (#608384). * no-unix-block-names.patch: Update. Allow openfirmware aliases (#615602). -- Milan Kupcevic Sat, 06 Aug 2011 13:17:49 -0400 yaboot (1.3.16-2ubuntu2) natty; urgency=low * debian/patches/e2fs-progs-build-fix.patch: Patch taken from the yaboot-devel mailing list to properly build against recent versions of e2fsprogs (LP: #745358) -- Luke Yelavich Thu, 31 Mar 2011 09:06:14 +1100 yaboot (1.3.16-2ubuntu1) natty; urgency=low * Merge from Debian unstable. Remaining changes: - Ubuntu branding - Add ppc64 to architecture list - Add Cell support * Move Ubuntu branding and cell support to quilt patches -- Luke Yelavich Wed, 23 Feb 2011 19:27:47 +1100 yaboot (1.3.16-2) unstable; urgency=low * New upstream release closes: #473725. * Add some Ubuntu changes as Debian quilt patches. + Build with -fno-stack-protector. + Distro branding in first-stage bootstrap. * Add Milan Kupcevic's patches from 1.3.13a-1squeeze1. + Support sysfs in ofpath (Closes: #572869, #377097, #342833, #289201). + Support persistent device naming symlinks, UUID, and LABEL tags (Closes: #580455). + Update debian/copyright with copyright notice from ofpath. * Refresh all Debian quilt patches. -- Aurélien GÉRÔME Sun, 12 Dec 2010 00:00:00 +0100 yaboot (1.3.16-1) unstable; urgency=high * Long due update with new upstream release merging the following Debian patches. + RAID partitions support (#233810). + Amiga partitions support (#267812). + G5 second SATA harddisk support (#294081): actually better patch. + Firewire harddisk support (#288008). + FTBS in strstr.c (#322539): actually better patch. + Pegasos support (#299686). + Build system fix (#377839). + Check removal for broken-by-BootX device-tree (#321962). + Manpage fixes. * Upstream release closes the following bugs. + Yaboot does not allow TFTP transfers above 6MiB (Closes: #461310). * Add quilt support with the following Debian broken-out patches (the only ones remaining from the monolithic Debian diff). + XFS support (#375680). + New FSF address in COPYING file. * Bump Standards-Version to 3.9.1 in debian/control. * Add ${misc:Depends} to the Depends field of yaboot in debian/control. * Set debian/compat to 5 and accordingly for debhelper in the Build-Depends field in debian/control. * Create debian/README.source. -- Aurélien GÉRÔME Wed, 01 Dec 2010 18:00:00 +0100 yaboot (1.3.13a-1ubuntu6) natty; urgency=low * Add ppc64 to architecture list. -- LaMont Jones Wed, 16 Feb 2011 05:46:19 -0700 yaboot (1.3.13a-1ubuntu5) intrepid; urgency=low * Patch from Peter Cros to fix various booting issues on some G5 machines with SATA. (LP: #122607) -- Luke Yelavich Tue, 14 Oct 2008 09:05:41 +1100 yaboot (1.3.13a-1ubuntu4) gutsy; urgency=low * ybin/ybin, ybin/ofpath: Add Cell support. -- Colin Watson Wed, 26 Sep 2007 15:21:02 +0100 yaboot (1.3.13a-1ubuntu3) feisty; urgency=low * debian/control: Update maintainer fields according to debian- maintainer-field spec. -- Martin Pitt Tue, 13 Mar 2007 12:58:41 +0000 yaboot (1.3.13a-1ubuntu2) edgy; urgency=low * Build with -fno-stack-protector. -- Colin Watson Tue, 25 Jul 2006 10:12:13 +0100 yaboot (1.3.13a-1ubuntu1) edgy; urgency=low * Resynchronise with Debian. -- Colin Watson Mon, 24 Jul 2006 17:27:36 +0100 yaboot (1.3.13a-1squeeze1) testing-proposed-updates; urgency=low * Team upload. * Get scsi, sata, and firewire drive info from sysfs as legacy /proc/scsi interface does not exist anymore. (Closes: #572869, #377097, #342833, #289201) * Use persistent device naming symlinks, UUID and LABEL tags instead of unix block device names. (Closes: #580455) * debian/copyright: Add copyright notice from ofpath. -- Milan Kupcevic Sun, 05 Dec 2010 10:34:50 -0500 yaboot (1.3.13a-1) unstable; urgency=high * Convert debian/control from ISO_8859-15 to UTF-8. * Change the orig.tar.gz to use which is a cleaned up version of instead of which included external source and binary. This is the final touch for #377839. * Modify FSF address in upstream copyright file. -- Aurélien GÉRÔME Sun, 16 Jul 2006 13:00:00 +0200 yaboot (1.3.13-7) unstable; urgency=high * Adopt the package (closes: #354974). * Reviewing Fedora and Ubuntu patches (closes: #375680). * Remove a duplicity in debian/README.Debian the previous upload left. * Change section/priority from base/important to admin/important to suppress override disparities shown by the PTS. * Fix booting with initramfs from XFS (closes: #336993). * Fix to recognise RAID filesystems (closes: #233810). * Fix booting on Apple G5 second SATA harddisk (closes: #294081). * Fix booting on Firewire harddisk (closes: #288008). * Update to the latest Standards-Version. * Fix build system to really compile from Debian maintained source (closes: #377839). * Add German translation of yaboot.8 manpage (closes: #261488). -- Aurélien GÉRÔME Wed, 12 Jul 2006 00:57:07 +0200 yaboot (1.3.13-6ubuntu1) edgy; urgency=low * Resynchronise with Debian. -- Colin Watson Mon, 3 Jul 2006 17:36:21 +0100 yaboot (1.3.13-6) unstable; urgency=low * QA upload. * Fix up seriously wedged source package; the content of many files was duplicated. * Apply Pegasos patches (closes: #299686): - Add support for IDE devices that advertise as "spi". - Add (trivial) support for Pegasos to ofpath. * Use debhelper v4. -- Colin Watson Mon, 3 Jul 2006 16:39:34 +0100 yaboot (1.3.13-5) unstable; urgency=low * Orphaning package. -- Warren A. Layton Thu, 2 Mar 2006 09:05:52 -0500 yaboot (1.3.13-4.1ubuntu5) dapper; urgency=low * Sort k2-sata host list (closes: Malone #40692). -- Colin Watson Mon, 22 May 2006 13:40:07 +0100 yaboot (1.3.13-4.1ubuntu4) dapper; urgency=low * Fix ofpath's handling of disks on k2-sata controllers (thanks, Eirik Fuller; closes: #294081, Malone #18474). * Attempt to support FireWire-connected disks (closes: Malone #7939). -- Colin Watson Sat, 1 Apr 2006 09:54:10 +0100 yaboot (1.3.13-4.1ubuntu3) dapper; urgency=low * Drop gcc-3.3 build dependency and build with gcc 4.0. -- Martin Pitt Fri, 3 Feb 2006 12:25:00 +0000 yaboot (1.3.13-4.1ubuntu2) dapper; urgency=low * Reapply mising patch for cfg to accept image[]= stanzas in yaboot.conf. -- Ben Collins Fri, 13 Jan 2006 15:33:58 -0500 yaboot (1.3.13-4.1ubuntu1) dapper; urgency=low * Resynchronise with Debian. -- Colin Watson Sun, 8 Jan 2006 15:15:30 +0000 yaboot (1.3.13-4.1) unstable; urgency=low * NMU * Fix the FTBS in strstr.c. Thanks to Andreas Jochens for the patch. (Closes: #322539) -- Don Armstrong Sat, 31 Dec 2005 00:04:32 -0800 yaboot (1.3.13-4ubuntu1) dapper; urgency=low * Resynchronise with Debian. -- Colin Watson Mon, 28 Nov 2005 16:57:37 +0000 yaboot (1.3.13-4) unstable; urgency=low * Apply upstream patch to ofpath (Closes: #321962) -- Warren A. Layton Wed, 10 Aug 2005 07:31:37 -0400 yaboot (1.3.13-3ubuntu4) breezy; urgency=low * Build-Depends: gcc-3.3. Closes: #15266 -- LaMont Jones Mon, 12 Sep 2005 10:45:48 -0600 yaboot (1.3.13-3ubuntu3) breezy; urgency=low * Fix lib/strstr.c FTBFS with gcc-4.0. * ofpath: fix checks of /proc/device-tree: According to commit 5f64f73957f6cae3222f97f2599199ee562f7f3f in 2.6.12: [PATCH] ppc32/ppc64: cleanup /proc/device-tree [....] - Do not create symlinks for the short name and unit address parts of a node. These were never really used, bloated the memory footprint of the device-tree with useless struct proc_dir_entry and their matching dentry and inode cache bloat. ofpath always assumed the presence of symlinks to verify a valide /proc/device-tree. Change them to verify presence of directories instead. Patches and tests kindly done by Ryan Lortie. -- Fabio M. Di Nitto Fri, 01 Jul 2005 07:46:39 +0200 yaboot (1.3.13-3ubuntu2) hoary; urgency=low * ofpath: Support Pegasos (treat it like NewWorld for now). * ofpath: Add support for IDE devices with spi device_type. -- Colin Watson Tue, 15 Mar 2005 20:04:38 +0000 yaboot (1.3.13-3ubuntu1) hoary; urgency=low * Resynchronise with Debian. -- Colin Watson Mon, 29 Nov 2004 11:49:03 +0000 yaboot (1.3.13-3) unstable; urgency=low * Add Amiga support courtesy of Sven Luther (Closes: #267812) -- Warren A. Layton Thu, 25 Nov 2004 21:19:22 -0500 yaboot (1.3.13-2ubuntu1) hoary; urgency=low * Resynchronise with Debian. -- Scott James Remnant Wed, 27 Oct 2004 15:33:04 +0100 yaboot (1.3.13-2) unstable; urgency=low * postinst script doesn't redirect to /dev/tty anymore (Closes: #259510, #245927) * Fix some typos in yaboot(8) man page - thanks to Helge Kreutzmann for the patch (Closes: #261038) -- Warren A. Layton Sat, 24 Jul 2004 12:04:13 -0400 yaboot (1.3.13-1ubuntu1) warty; urgency=low * Apply Ubuntu branding to the first-stage bootstrap script. If nothing else, this means I can tell the Debian and Ubuntu boot menus apart while testing. -- Colin Watson Thu, 9 Sep 2004 17:28:25 +0100 yaboot (1.3.13-1) unstable; urgency=low * New upstream release (all bugfixes below are a result of upstream work) * yabootconfig now supports initrd (Closes: #244484) * yabootconfig now supports LABEL and UUID in fstab (Thanks to Colin Watson) (Closes: #258168) * ofpath - fix errors going to stdout instead stderr (Closes: #247822) * ybin: detect broken /dev/nvram better (Closes: #248017) -- Warren A. Layton Tue, 13 Jul 2004 05:16:35 -0400 yaboot (1.3.12-2) unstable; urgency=high * Increased tftp buffer size again, so that d-i will work (Closes: #256263) -- Warren A. Layton Mon, 28 Jun 2004 08:39:58 -0400 yaboot (1.3.12-1) unstable; urgency=low * New upstream release * New release has ofpath that supports linux kernels 2.6.3+ * Source for libext2 included in new release (Closes: #233811) * Increased tftp buffer size from 4MB to 5MB (Closes: #242348) -- Warren A. Layton Thu, 22 Apr 2004 07:58:17 -0400 yaboot (1.3.11-1) unstable; urgency=low * New upstream release (Closes: #222284) * Acknowledge NMU'd fixes (Closes: #205696, Closes: #212918) -- Warren A. Layton Sun, 30 Nov 2003 14:21:20 -0500 yaboot (1.3.10-2.1) unstable; urgency=low * Non-maintainer upload * Change DEBCONF_FRONTENT in postinst script. This fix problems with debooststrap and debian-installer. Closes: #205696. Closes: #212918. -- Thorsten Sauter Sun, 28 Sep 2003 00:39:42 +0200 yaboot (1.3.10-2) unstable; urgency=low * New Maintainer. -- Warren A. Layton Tue, 10 Jun 2003 14:46:42 -0400 yaboot (1.3.10-1) unstable; urgency=low * New upstream version. -- Daniel Jacobowitz Sun, 23 Mar 2003 13:18:08 -0500 yaboot (1.3.9-2) unstable; urgency=low * Update priority to important. -- Daniel Jacobowitz Mon, 17 Feb 2003 19:08:38 -0500 yaboot (1.3.9-1) unstable; urgency=low * New upstream release. - Compatible with the new Apple hardware. - Fix IBM CHRP support for multiple boot partitions (again). -- Daniel Jacobowitz Mon, 17 Feb 2003 15:14:12 -0500 yaboot (1.3.8-2) unstable; urgency=low * The "Maintained well by Ethan" release. * dh_installchangelogs does not do what I thought it did. Actually include both sets of changelogs this time (Closes: #173411). -- Daniel Jacobowitz Mon, 30 Dec 2002 23:11:55 -0500 yaboot (1.3.8-1) unstable; urgency=low * New upstream version (Closes: #163464). * Include both sets of changelogs. -- Daniel Jacobowitz Mon, 16 Dec 2002 13:35:39 -0500 yaboot (1.3.6-3) unstable; urgency=low * Bump yabootconfig version back to 1.0.5.debian by Ethan's request. -- Daniel Jacobowitz Sun, 18 Aug 2002 18:57:03 -0400 yaboot (1.3.6-2) unstable; urgency=low * Change prompt in OS menu to be less ambiguous (Closes: #153203). * Patches from upstream: - Fix a rare ReiserFS symlink bug. - Don't report bugs to BenH anymore. - Handle commented-out "/" entries in /etc/fstab (Closes: #156742). -- Daniel Jacobowitz Sun, 18 Aug 2002 17:21:27 -0400 yaboot (1.3.6-1) unstable; urgency=low * New upstream version. * Add conflicts with quik (<< 2.0e-0.6) (Closes: #122346). * Previous changes were from Colin Walters, not Colin Watson. Sorry! -- Daniel Jacobowitz Wed, 12 Dec 2001 23:48:50 -0500 yaboot (1.3.5-1) unstable; urgency=low * New upstream release. * Cleanups to the source package, from Colin Watson (Closes: #117499, #119994). -- Daniel Jacobowitz Mon, 19 Nov 2001 19:54:58 -0500 yaboot (1.3.4-1) unstable; urgency=low * New upstream release (Closes: #111316, #113862). * Move to a normal source package and version now that yaboot and ybin are unified. -- Daniel Jacobowitz Sun, 14 Oct 2001 11:19:56 -0400 yaboot (1.2.3-1.2.5-1) unstable; urgency=low * New upstream ybin fixes quoting errors (Closes: #109324). -- Daniel Jacobowitz Sat, 25 Aug 2001 13:27:19 -0700 yaboot (1.2.3-1.2.4-1) unstable; urgency=low * Upload prepared by Brendan O'Dea, thank you. * New upstream yaboot, fixes a serious bug which could lead to kernel memory corruption (particularly in newer kernels) (Closes: #107858). * New upstream ybin, fixes a bug with multibooter on recent OpenFirmware. * Strip addnote, remove .comment section from yaboot. -- Daniel Jacobowitz Mon, 13 Aug 2001 12:25:31 -0700 yaboot (1.2.1-1.2.3-2) unstable; urgency=low * Add addnote binary (Closes: #103760). -- Daniel Jacobowitz Fri, 6 Jul 2001 17:07:36 -0700 yaboot (1.2.1-1.2.3-1) unstable; urgency=low * New upstream ybin, should work better on CHRP now (Closes: #102712). * Remove the ld -N patch, for CHRP's sake. We ned to find a better solution, as this bloats yaboot disgustingly. -- Daniel Jacobowitz Sun, 1 Jul 2001 13:29:08 -0700 yaboot (1.2.1-1.2.1-1) unstable; urgency=medium * New upstream version of ybin. This finally adds yabootconfig! * No longer include /etc/yaboot.conf as a conffile. * Fix bashisms in build scripts. -- Daniel Jacobowitz Fri, 8 Jun 2001 17:32:59 -0700 yaboot (1.2.1-1.1.1-1) unstable; urgency=low * New upstream versions of both yaboot and ybin, fixing an obscure booting problem and errors in the password locking code. -- Daniel Jacobowitz Mon, 7 May 2001 13:23:33 -0400 yaboot (1.2-1.1-1) unstable; urgency=low * New upstream versions of both yaboot and ybin. * Should fix booting on some new iMacs. -- Daniel Jacobowitz Sun, 6 May 2001 14:18:47 -0400 yaboot (0.9-0.30-3) stable unstable; urgency=medium * Use "MacRISC" instead of the entire list of machine types in . One line change, should fix booting on all recent machines. (Well, one line change in four places). -- Daniel Jacobowitz Thu, 8 Mar 2001 11:11:08 -0600 yaboot (0.9-0.30-2) stable unstable; urgency=medium * Fix link creation on upgrades (Closes: #78027). -- Daniel Jacobowitz Sun, 26 Nov 2000 12:53:45 -0500 yaboot (0.9-0.30-1) stable unstable; urgency=medium * New upstream ybin - only fixes booting to MacOSX after booting to MacOS. -- Daniel Jacobowitz Mon, 20 Nov 2000 15:09:36 -0500 yaboot (0.9-0.29-1) stable unstable; urgency=medium * Brown paper bag bugfix, man page was corrupt. -- Daniel Jacobowitz Sun, 29 Oct 2000 13:06:49 -0500 yaboot (0.9-0.28-1) stable unstable; urgency=medium * New upstream yaboot - PPC64 and RS6000 support. * New upstream ybin - lots of boot script improvements. -- Daniel Jacobowitz Sat, 28 Oct 2000 10:43:58 -0400 yaboot (0.8-0.23-1) stable unstable; urgency=medium * YA new upstream ybin - the only change is using "ofboot.b" on the HFS partition, regardless of the value of magicboot in the config file. -- Daniel Jacobowitz Sat, 28 Oct 2000 10:43:32 -0400 yaboot (0.8-0.22-1) stable unstable; urgency=medium * New upstream ybin - mostly file location and documentation updates over 0.21. * New upstream yaboot - falls back to a kernel in yaboot's location if none was specified. * Moved yaboot and ofboot out of /boot entirely. -- Daniel Jacobowitz Wed, 13 Sep 2000 16:32:42 -0400 yaboot (0.7-0.21-1) stable unstable; urgency=medium * New upstream yaboot version. - Recognize partitions of type linux_swap or of type linux and named swap - Fix a novideo bug. * New upstream ybin version. - Improve boot scripts and documentation. - Add ofpath script for finding the OF path to devices. - Recognize additional machine types in (Closes: #69870). - Improve booting reliability on some machines. * Remove ofboot.b from /etc, as it is no longer a conffile. Make the one in /boot be a real file. * Also rename it to ofboot.b.sh - it is not a CHRP boot script any more. * Recommend powerpc-utils (>= 1.1.3-2) for the new-world nvsetenv. -- Daniel Jacobowitz Tue, 5 Sep 2000 12:53:33 -0400 yaboot (0.6-0.16-1) frozen unstable; urgency=medium * New upstream version of ybin. * The menu_ofboot.b did not have a boot command and thus did not work (RC). -- Daniel Jacobowitz Tue, 25 Apr 2000 22:39:44 -0400 yaboot (0.6-0.15-1) frozen unstable; urgency=medium * New upstream ybin which supercedes quik's bootstrap(8); this fixes an overwrite problem with the other powerpc bootloader (RC). * Install important documentation. * Mention ybin in package description. * Add /boot/ofboot.b as a symlink to /etc and /etc/ofboot.b as a conffile (important fix for boot floppies). * Also add /etc/yaboot.conf as a conffile, even if we don't have a really useful one yet. -- Daniel Jacobowitz Tue, 25 Apr 2000 06:51:12 -0400 yaboot (0.6-0.13-1) frozen unstable; urgency=medium * New version of ybin, correcting several thinkos in the busybox patch. * This is the first version to actually function on a rescue floppy. -- Daniel Jacobowitz Sun, 23 Apr 2000 11:53:18 -0400 yaboot (0.6-0.12-1) frozen unstable; urgency=medium * Add an updated ybin which works within the confines of busybox on the boot floppies. * Update version number to recognize that we are tracking two upstream sources at once. -- Daniel Jacobowitz Sun, 23 Apr 2000 00:19:53 -0400 yaboot (0.6-2) frozen unstable; urgency=medium * Add a patch to compile yaboot with -Os. * Call strip on yaboot; the author believes it won't cause any problems, and space on the boot floppies is far too tight. -- Daniel Jacobowitz Sat, 22 Apr 2000 13:07:13 -0400 yaboot (0.6-1) frozen unstable; urgency=medium * New package. * This is the primary bootloader for perhaps a third of the supported powerpc machines; it needs to go into frozen for boot-floppies. -- Daniel Jacobowitz Fri, 21 Apr 2000 20:14:03 -0400 debian/control0000664000000000000000000000205111633622567010604 0ustar Source: yaboot Section: admin Priority: important Maintainer: Ubuntu Core Developers XSBC-Original-Maintainer: Debootloaders Yaboot Maintainers Team Uploaders: Aurélien GÉRÔME , Milan Kupcevic Build-Depends: debhelper (>= 5), e2fslibs-dev (>= 1.27), quilt Standards-Version: 3.9.1 Package: yaboot Architecture: powerpc ppc64 Recommends: hfsutils, powerpc-utils (>= 1.1.3-2) Replaces: quik Conflicts: quik (<< 2.0e-0.6) Depends: ${shlibs:Depends}, ${misc:Depends} Description: Yet Another Bootloader This package contains 'yaboot', the bootloader of choice on the NewWorld line of Power Macintosh computers and on IBM CHRP computers. It supports loading a kernel from several different filesystems, including ext2, ext3, xfs, and reiserfs, as well as separate ramdisks and dual-booting. . This package includes the installer tools ybin and mkofboot, and a yabootconfig program for generating a simple /etc/yaboot.conf file. debian/copyright0000664000000000000000000000253311633622567011141 0ustar This is the Debian package of yaboot by Benjamin Herrenschmidt and Ethan Benson; the newest version of the sources can be found at . All components of this package are licensed under the GNU General Public License, version 2 or later. A copy can be found in /usr/share/common-licenses/GPL on current Debian systems. ### Yaboot - secondary boot loader for Linux on iMacs. Copyright (C) 2000 Benjamin Herrenschmidt portions based on "poof" Copyright (C) 1999 Marius Vollmer portions based on "quik" Copyright (C) 1996 Paul Mackerras. PPC64 support & Misc fixes by Peter Bergner, David Engebretsen Because this program is derived from the corresponding file in the silo-0.64 distribution, it is also Copyright (C) 1996 Pete A. Zaitcev 1996 Maurizio Plaza 1996 David S. Miller 1996 Miguel de Icaza 1996 Jakub Jelinek ### ## ofpath: determine OpenFirmware path from unix device node ## Copyright (C) 2010 Milan Kupcevic ## Copyright (C) 2000, 2001, 2002, 2003 Ethan Benson ## Copyright (C) 2000 Olaf Hering ## ybin (YaBoot INstaller) installs/updates the yaboot bootloader. ## Copyright (C) 2000, 2001 Ethan Benson ## yabootconfig generates a simple /etc/yaboot.conf ## Copyright (C) 2001 Ethan Benson debian/patches/0000775000000000000000000000000011633623427010626 5ustar debian/patches/375680_xfs_support.patch0000664000000000000000000000074711633622567015113 0ustar Index: yaboot-1.3.16/second/fs_xfs.c =================================================================== --- yaboot-1.3.16.orig/second/fs_xfs.c 2010-12-12 01:41:22.105602361 +0000 +++ yaboot-1.3.16/second/fs_xfs.c 2010-12-12 01:43:39.165596895 +0000 @@ -661,8 +661,6 @@ startpos = xfs_file->pos; endpos = xfs_file->pos + len; - if (endpos > xfs_file->len) - endpos = xfs_file->len; endofprev = (xfs_fileoff_t)-1; init_extents (); while (len > 0 && (xad = next_extent ())) { debian/patches/build-system.patch0000664000000000000000000000112711633622567014275 0ustar Index: yaboot-1.3.16/Makefile =================================================================== --- yaboot-1.3.16.orig/Makefile 2010-12-12 01:41:21.805598905 +0000 +++ yaboot-1.3.16/Makefile 2010-12-12 01:43:48.537601887 +0000 @@ -36,6 +36,7 @@ # The flags for the yaboot binary. # YBCFLAGS = -Os $(CFLAGS) -nostdinc -Wall -isystem `$(CC) -m32 -print-file-name=include` -fsigned-char +YBCFLAGS += -fno-stack-protector YBCFLAGS += -DVERSION=\"${VERSION}${VERSIONEXTRA}\" #" YBCFLAGS += -DTEXTADDR=$(TEXTADDR) -DDEBUG=$(DEBUG) YBCFLAGS += -DMALLOCADDR=$(MALLOCADDR) -DMALLOCSIZE=$(MALLOCSIZE) debian/patches/debian-branding.patch0000664000000000000000000000075411633622567014665 0ustar Index: yaboot-1.3.16/first/ofboot =================================================================== --- yaboot-1.3.16.orig/first/ofboot 2010-12-12 01:41:21.661597218 +0000 +++ yaboot-1.3.16/first/ofboot 2010-12-12 01:43:52.609600551 +0000 @@ -336,7 +336,7 @@ $BGCOLOR to background-color \" \"(0C)\" .printf -\" First Stage GNU/Linux Bootstrap\"(0d 0a)\" .printf +\" First Stage Debian GNU/Linux Bootstrap\"(0d 0a)\" .printf \" \"(0d 0a)\" .printf $MENUOPTS \" \"(0d 0a)\" .printf debian/patches/no-proc-scsi.patch0000664000000000000000000002503311633622567014172 0ustar Description: Get scsi, sata, and firewire drive info from sysfs as legacy /proc/scsi interface does not exist anymore. Added support for pata-macio on 2011-08-04. Last-Update: 2011-08-04 Bug-Debian: http://bugs.debian.org/608384 Bug-Debian: http://bugs.debian.org/572869 Bug-Debian: http://bugs.debian.org/377097 Bug-Debian: http://bugs.debian.org/342833 Bug-Debian: http://bugs.debian.org/289201 Author: Milan Kupcevic Forwarded: http://patchwork.ozlabs.org/patch/108566/ --- a/ybin/ofpath +++ b/ybin/ofpath @@ -3,6 +3,9 @@ ############################################################################### ## ## ofpath: determine OpenFirmware path from unix device node +## +## Copyright (C) 2010, 2011 Milan Kupcevic +## ## Copyright (C) 2000, 2001, 2002, 2003 Ethan Benson ## ## Portions based on show_of_path.sh: @@ -27,7 +30,7 @@ PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" PRG="${0##*/}" -VERSION=1.0.7 +VERSION=1.0.7+debian2 DEBUG=0 export LC_COLLATE=C @@ -36,9 +39,10 @@ { echo \ "$PRG $VERSION -Written by Ethan Benson +Written by Ethan Benson, portions rewritten by Milan Kupcevic Portions based on show_of_path.sh written by Olaf Hering +Copyright (C) 2010, 2011 Milan Kupcevic Copyright (C) 2000, 2001, 2002, 2003 Ethan Benson Portions Copyright (C) 2000 Olaf Hering This is free software; see the source for copying conditions. There is NO @@ -181,158 +185,125 @@ return 0 } +# read OpenFirmware device path from its corresponding devspec +find_of_path() +{ + [ -z "$1" ] && return + [ -f "$1/devspec" ] && { + OF_PATH="`cat $1/devspec`" + SYS_PATH="$1" + return + } + find_of_path "${1%/*}" +} + ## this finds information we need on both newworld and oldworld macs. ## mainly what scsi host a disk is attached to. scsiinfo() { - ## see if system has scsi at all - if [ ! -f /proc/scsi/scsi ] ; then - local kver="$(uname -r)" - case "$kver" in - 2.5.*|2.6.*) - if [ -d /sys/bus/scsi/devices -a \ - -n "$(ls /sys/bus/scsi/devices 2>/dev/null)" ] ; then - echo 1>&2 "$PRG: /proc/scsi/scsi does not exist" - echo 1>&2 "$PRG: Make sure you compiled your kernel with CONFIG_SCSI_PROC_FS=y" - return 1 - fi - ;; - esac - echo 1>&2 "$PRG: /dev/$DEVNODE: Device not configured" - return 1 - fi - - ## first we have to figure out the SCSI ID, have to do that - ## anyway [to] find the attached scsi disks = "Direct-Access" and - ## stop at sda=1 sdb=2 or whatever count in 3 lines steps - - ## get last letter of device node, ie sda -> a - SUBNODE=${DEVNODE##*sd} - - ## turn SUBNODE above into a number starting at 1, ie a -> 1 - SUBDEV="$(smalltr $SUBNODE)" - [ "$DEBUG" = 1 ] && echo 1>&2 "$PRG: DEBUG: SUBNODE=$SUBNODE SUBDEV=$SUBDEV" - - DEVCOUNT=0 - - ## copy scsi file into a variable removing "Attached Devices" - ## which is the first line. this avoids a lot of - ## [incmopatible] crap later, and improves readability. - - ## find number of lines once and recycle that number, to save - ## some time (linecount is a bit slow). subtract one line - ## to scrap Attached Devices: - - SCSILINES="$(($(linecount /proc/scsi/scsi) - 1))" - - if [ "$SUBDEV" -gt "$(cat /proc/scsi/scsi | grep Direct-Access | linecount)" ] ; then - echo 1>&2 "$PRG: /dev/$DEVNODE: Device not configured" - return 1 - fi - - PROCSCSI="$(cat /proc/scsi/scsi | tail -n $SCSILINES)" - - for i in $(smallseq $(($SCSILINES / 3))) ; do - - ## put every scsi device into one single line - DEVINFO="$(echo "$PROCSCSI" | head -n $(($i * 3)) | tail -n 3)" - [ "$DEBUG" = 1 ] && echo 1>&2 "$PRG: DEBUG: DEVINFO=$DEVINFO" - - ## cut the type field, expect "Direct-Access" later. - DEVTYPE="$(v=$(echo ${DEVINFO##*Type: }) ; echo ${v%% *})" - [ "$DEBUG" = 1 ] && echo 1>&2 "$PRG: DEBUG: DEVTYPE=$DEVTYPE" - - ## get the device id. - DEVID="$(v=$(echo ${DEVINFO##*Id: }) ; n=$(echo ${v%% *}) ; echo ${n#*0})" - [ "$DEBUG" = 1 ] && echo 1>&2 "$PRG: DEBUG: DEVID=$DEVID" - - ## get the scsi host id. - DEVHOST="$(v=$(echo ${DEVINFO##*Host: scsi}) ; echo ${v%% *})" - [ "$DEBUG" = 1 ] && echo 1>&2 "$PRG: DEBUG: DEVHOST=$DEVHOST" - - if [ "$DEVTYPE" = "Direct-Access" ] || [ "$DEVTYPE" = "Direct-Access-RBC" ] ; then - DEVCOUNT="$(($DEVCOUNT + 1))" - [ "$DEBUG" = 1 ] && echo 1>&2 "$PRG: DEBUG: DEVCOUNT=$DEVCOUNT" - if [ "$SUBDEV" = "$DEVCOUNT" ] ; then - DEVICE_HOST=$DEVHOST - DEVICE_ID=$DEVID - [ "$DEBUG" = 1 ] && echo 1>&2 "$PRG: DEBUG: DEVICE_HOST=$DEVICE_HOST" - break - fi - fi - done - - ## figure out what the scsi driver is, it is /proc/scsi/dirname. - [ "$DEBUG" = 1 ] && echo 1>&2 "$PRG: DEBUG: DEVICE_HOST=$DEVICE_HOST" - SCSI_DRIVER="$(x=`ls /proc/scsi/*/$DEVICE_HOST 2>/dev/null | cat` ; y=`echo ${x##*proc/scsi/}` ; echo ${y%%/*})" - [ "$DEBUG" = 1 ] && echo 1>&2 "$PRG: DEBUG: SCSI_DRIVER=$SCSI_DRIVER" - - ## figure out which host we found. - SCSI_HOSTNUMBER="$(v=`ls /proc/scsi/$SCSI_DRIVER/* 2>/dev/null | cat | grep -n "$DEVICE_HOST\>"` ; echo ${v%%:*})" - [ "$DEBUG" = 1 ] && echo 1>&2 "$PRG: DEBUG: SCSI_HOSTNUMBER=$SCSI_HOSTNUMBER" + SYS_DEVICE="`readlink -f /sys/block/$DEVNODE/device`" + [ -e "$SYS_DEVICE" ] && { + + SCSI_DEVICE=${SYS_DEVICE##*/} + HOST_ID=${SCSI_DEVICE%%:*} + BUS_ID=`T=${SCSI_DEVICE#*:}; echo ${T%%:*}` + DEVICE_ID=`T=${SCSI_DEVICE#*:*:}; echo ${T%%:*}` + LUN_ID=${SCSI_DEVICE##*:} + + OF_PATH=;find_of_path "$SYS_DEVICE" + + SCSI_DRIVER=`cat /sys/class/scsi_host/host$HOST_ID/proc_name 2>/dev/null` + + SCSI_NAME=`cat /proc/device-tree$OF_PATH/name 2>/dev/null` + + IEEE1394_ID=`cat /sys/block/$DEVNODE/device/ieee1394_id 2>/dev/null` + IEEE1394_ID=${IEEE1394_ID%%:*} + + PLUG_ID=$(ls -dv $SYS_PATH/host* 2>/dev/null | grep -n "/host$HOST_ID$") + PLUG_ID=$((${PLUG_ID%%:*}-1)) + + PART=${PARTITION:+:$PARTITION} + + [ "$LUN_ID" != "0" ] && LUNX=`printf ",%x" $LUN_ID` + + [ "$DEBUG" = "1" ] && { + echo SYS_DEVICE=$SYS_DEVICE + echo SCSI_DEVICE=$SCSI_DEVICE + echo HOST_ID=$HOST_ID + echo BUS_ID=$BUS_ID + echo DEVICE_ID=$DEVICE_ID + echo LUN_ID=$LUN_ID + echo PLUG_ID=$PLUG_ID + echo IEEE1394_ID=$IEEE1394_ID + echo SCSI_NAME=$SCSI_NAME + echo SCSI_DRIVER=$SCSI_DRIVER + echo SYS_PATH=$SYS_PATH + echo OF_PATH=$OF_PATH + echo PART=$PART + echo LUNX=$LUNX + } + + SCSI_DRIVER=${SCSI_DRIVER:?} + + [ -z "$OF_PATH" ] && { + echo 1>&2 "Cannot find $DEVNODE among OpenFirmware registered devices" + + exit 1 + } + return 0 + } + + echo 1>&2 "Link /sys/block/$DEVNODE/device does not exist" + + exit 1 } -## generic function that can find OF device paths for scsi devices, +## add OF device node to the host OF path, ## must be run after scsiinfo(). scsi_ofpath() { - case "$SCSI_DRIVER" in - aic7xxx) - HOST_LIST="$(for i in `find /proc/device-tree -name compatible` ; do - lgrep "$i" "^ADPT" "^pci900[45]" "^pciclass,01000" ; done)" - DEVICE_PATH="$(printhost $SCSI_HOSTNUMBER $HOST_LIST)" - echo "${DEVICE_PATH##*device-tree}/@$DEVICE_ID:$PARTITION" - ;; - sym53c8xx) - HOST_LIST="$(for i in `find /proc/device-tree -name compatible` ; do - lgrep "$i" "^Symbios" "^pci1000" "^pciclass,01000" ; done)" - DEVICE_PATH="$(printhost $SCSI_HOSTNUMBER $HOST_LIST)" - echo "${DEVICE_PATH##*device-tree}/@$DEVICE_ID:$PARTITION" - ;; - mesh) - HOST_LIST="$(for i in `find /proc/device-tree -name compatible` ; do - lgrep "$i" "mesh" ; done)" - DEVICE_PATH="$(printhost $SCSI_HOSTNUMBER $HOST_LIST)" - echo "${DEVICE_PATH##*device-tree}/@$DEVICE_ID:$PARTITION" - ;; - ata_k2|sata_svw) - #Not all G5 device trees have a compatible "k2-sata" node - #per channel use parent - HOST_LIST="$(for i in `find /proc/device-tree -name compatible ` ; do - lgrep "$i" "k2-s-ata" ; done | sort)" - DEVICE_PATH="$(printhost $SCSI_HOSTNUMBER $HOST_LIST)" - K2_DEVICE_ID=0 - while [ "$DEVICE_PATH" = "" ] ; do - SCSI_HOSTNUMBER=`expr $SCSI_HOSTNUMBER - 1` - let "K2_DEVICE_ID += 1" - DEVICE_PATH="$(printhost $SCSI_HOSTNUMBER $HOST_LIST)" - done - echo "${DEVICE_PATH##*device-tree}/k2-sata@$K2_DEVICE_ID/disk@0:$PARTITION" - ;; - usb-storage) - HOST_LIST="$(for i in `find /proc/device-tree -name name | grep usb` ; do - lgrep "$i" "disk" ; done)" - DEVICE_PATH="$(printhost $SCSI_HOSTNUMBER $HOST_LIST)" - echo "${DEVICE_PATH##*device-tree}:$PARTITION" - ;; - sbp2|"") - # sbp-2 driver may not have a dir in /proc/scsi - HOST_LIST="$(for i in `find /proc/device-tree -name name` ; do - lgrep "$i" "sbp-2" ; done)" - if [ "$SCSI_HOSTNUMBER" = "" ] ; then - SCSI_HOSTNUMBER=1 - fi - DEVICE_PATH="$(printhost $SCSI_HOSTNUMBER $HOST_LIST)" - echo "${DEVICE_PATH##*device-tree}/disk@0:$PARTITION" - ;; - *) - echo 1>&2 "$PRG: Driver: $SCSI_DRIVER is not supported" - return 1 - ;; + if [ -d "/proc/device-tree$OF_PATH/sas" ] ; then + + SAS_ID=$(( ($BUS_ID << 16) | ($DEVICE_ID << 8) | $LUN_ID)) + printf "%s/sas/disk@%x%s\n" $OF_PATH $SAS_ID $LUNX$PART + + elif [ -d "/proc/device-tree$OF_PATH/scsi@`printf %x $BUS_ID`" ] ; then + + printf "%s/scsi@%x/@%x%s\n" $OF_PATH $BUS_ID $DEVICE_ID $LUNX$PART + + else + + case "$SCSI_DRIVER-$SCSI_NAME" in + aic7xxx-*|sym53c8xx-*|mesh-*|*-scsi) + printf "%s/@%x%s\n" $OF_PATH $DEVICE_ID $LUNX$PART + ;; + sata_sil-*|sata_vsc-*) + printf "%s/@%x%s\n" $OF_PATH $(($PLUG_ID * 2)) $PART + ;; + sata_svw-*|*-pci-ata) + printf "%s/@%x/@%x%s\n" $OF_PATH $PLUG_ID $DEVICE_ID $PART + ;; + pata_macio-*) + printf "%s/@%x%s\n" $OF_PATH $DEVICE_ID $PART + ;; + sbp2-*) + IEEE1394_ID=${IEEE1394_ID:?} + printf "%s/node@%s/sbp-2/@%x%s\n" $OF_PATH $IEEE1394_ID $DEVICE_ID $PART + ;; + ipr-obsidian) + printf "%s/@%x,%x%s\n" $OF_PATH $BUS_ID $DEVICE_ID $LUNX$PART + ;; + *) + echo 1>&2 "${PRG}: ${SCSI_NAME} (${SCSI_DRIVER}) is not supported" + return 1 + ;; esac - return 0 + + fi + + return 0 } ide_ofpath() @@ -432,11 +403,11 @@ case "$DEVNODE" in hda|hdc|hde|hdg|hdi|hdk|hdm|hdo) - echo "${DEVSPEC}${MASTER}:$PARTITION" + echo "${DEVSPEC}${MASTER}${PARTITION:+:${PARTITION}}" return 0 ;; hdb|hdd|hdf|hdh|hdj|hdl|hdn|hdp) - echo "${DEVSPEC}${SLAVE}:$PARTITION" + echo "${DEVSPEC}${SLAVE}${PARTITION:+:${PARTITION}}" return 0 ;; *) debian/patches/series0000664000000000000000000000042311633622567012046 0ustar 261488_german_manpage.patch 375680_xfs_support.patch new_fsf_address.patch build-system.patch debian-branding.patch no-proc-scsi.patch no-unix-block-names.patch ydl-powerstation.patch e2fs-posix-memalign.patch e2fs-missing-libc.patch ubuntu-branding.patch cell-support.patch debian/patches/cell-support.patch0000664000000000000000000000326211633623427014303 0ustar Index: yaboot-1.3.16/ybin/ofpath =================================================================== --- yaboot-1.3.16.orig/ybin/ofpath 2011-09-13 19:47:23.000000000 +1000 +++ yaboot-1.3.16/ybin/ofpath 2011-09-13 19:47:42.417855056 +1000 @@ -903,6 +903,8 @@ SUBARCH=Maple elif (cat /proc/cpuinfo 2>/dev/null | grep ^machine | grep -q 'CHRP Pegasos') ; then SUBARCH=Pegasos +elif (cat /proc/cpuinfo 2>/dev/null | grep ^platform | grep -q Cell) ; then + SUBARCH=Cell else echo 1>&2 "$PRG: This machine is not yet supported" exit 1 @@ -926,7 +928,7 @@ ## use appropriate search for right sub arch. case "$SUBARCH" in # Pegasos OF seems to be NewWorld-ish enough to cope with this. - NewWorld|Pegasos) + NewWorld|Pegasos|Cell) newworld || exit 1 ;; OldWorld) Index: yaboot-1.3.16/ybin/ybin =================================================================== --- yaboot-1.3.16.orig/ybin/ybin 2011-09-13 19:47:23.000000000 +1000 +++ yaboot-1.3.16/ybin/ybin 2011-09-13 19:49:00.477854909 +1000 @@ -77,6 +77,8 @@ fstype=raw elif (cat /proc/cpuinfo 2> /dev/null | grep ^platform | grep -q 'Maple') ; then fstype=raw +elif (cat /proc/cpuinfo 2> /dev/null | grep ^platform | grep -q Cell) ; then + fstype=raw else fstype=hfs fi @@ -512,6 +514,8 @@ ADDNOTE=yes elif (cat /proc/cpuinfo 2> /dev/null | grep ^platform | grep -q 'Maple') ; then true + elif (cat /proc/cpuinfo 2> /dev/null | grep ^platform | grep -q Cell) ; then + nonvram=1 else #echo 1>&2 "$PRG: Warning: Unknown archetecture, $boot may not be bootable on this machine" [ "$nonvram" = 0 ] && echo 1>&2 "$PRG: Warning: Unknown architecture, nvram will not be updated" debian/patches/261488_german_manpage.patch0000664000000000000000000001553311633622567015457 0ustar Index: yaboot-1.3.16/man/yaboot.de.8 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ yaboot-1.3.16/man/yaboot.de.8 2010-12-12 01:42:48.306603274 +0000 @@ -0,0 +1,145 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" +.\" Translated into german by Helge Kreutzmann +.hw Kenn-zeichen +.TH YABOOT 8 "21 Juli 2004" "GNU/Linux PowerPC" "Systemverwalters Handbuch" +.SH NAME +.B yaboot +\- PowerMac OpenFirmware Urlader (Boot-Lader) +.SH ZUSAMMENFASSUNG +.B Yaboot +ist ein ELF-Binärprogramm für OpenFirmware, das den Linux Kernel +urlädt (bootet). +.SH BESCHREIBUNG +Diese Handbuchseite beschreibt den \fByaboot\fR OpenFirmware Urlader. + +.B yaboot +ist \fIkein\fR Linux- oder MacOS-Programm. Der Versuch, \fByaboot\fR +von einer Linux-Shell aus auszuführen wird nur in einem +Segmentierungsfehler enden. \fByaboot\fR ist nur dazu gedacht, von +OpenFirmware ausgeführt zu werden. + +.B yaboot +wird von OpenFirmware in der folgenden Weise ausgeführt: +.I boot hd:2,yaboot +wobei \fIhd:\fR der OpenFirmware-Pfad für die Festplatte und \fI2\fR die +Nummer der Partition, auf der sich \fByaboot\fR befindet, ist. In diesem +Beispiel ist der Festplattenpfad tatsächlich ein OpenFirmware-Alias der auf +allen NewWorld-PowerMacs verfügbar ist. Normalerweise zeigt er auf die +interne ATA-Festplatte. Falls Sie eine SCSI-Festplatte haben, dann würden Sie +\fByaboot\fR mit folgendem Befehl ausführen: +.I boot /pci@80000000/pci-bridge@d/ADPT,2930CU@2/@1:2,yaboot +Dieser Pfad hängt von der Art Ihres SCSI-Adapters ab. Für eine +detailiertere Erklärung der [widerlichen] OpenFirmware-Pfade lesen +Sie bitte \fBbootstrap\fR(8). Auf IBM-Hardware wird \fByaboot\fR +direkt in die rohe, d.h. ohne mit Dateisystem versehene, Partition +kopiert. OpenFirmware booted direkt von einer bootbar markierten +Type 0x41 PReP-Boot-Partition die \fByaboot\fR enthalten muß. +Auf IBM-Hardware wird die Konfigurationsdatei direkt aus dem +Wurzeldateisystem gelesen. Auf PowerMac-Hardware muß diese auf der +\fBbootstrap\fR(8)-Partition vorhanden sein, aber +.BR ybin (8) +kümmert sich darum. + +Glücklicherweise müssen Sie normalerweise \fByaboot\fR nicht von +Hand ausführen. Falls Sie Ihre Platte mit einer \fBbootstrap\fR(8)-Partition +angelegt und \fBybin\fR(8) zur Installation von \fByaboot\fR verwendet +haben, dann müssen Sie \fByaboot\fR nicht selbst aufrufen. (Falls dies +nicht funktioniert, dann können Sie auch die \fIboot-device\fR-Variable +in der OpenFirmware setzen, um automatisch zu booten, lesen Sie hierzu +\fBbootstrap\fR(8).) + +Sobald \fByaboot\fR von der OpenFirmware ausgeführt wurde, zeigt er eine +\fIboot:\fR-Eingabeaufforderung an, an der Sie einen Namen für ein +in der \fByaboot.conf\fR(5) definiertes Kernel-Image eingeben können. Falls in der +\fByaboot.conf\fR(5) kein Kernel-Image definiert ist, können Sie immer +noch ein beliebieges Image durch Angabe seines absoluten Open Firmware-Pfads +booten, ähnlich zu den obigen Kommandos um \fByaboot\fR selbst auszuführen. +Lassen Sie einfach das \fIboot\fR-Kommando fort und geben Sie nur den +Pfadnamen ein. (Siehe auch unter BEISPIELE) + +Wenn Sie ein Image booten (entweder über ein vordefinierten Namen oder +über einen absoluten Pfad) werden alle Argumente an das Image weitergereicht. +Zum Beispiel: +.I boot: linux root=/dev/hda3 +Hier werden die Argumente \fIroot=/dev/hda3\fR an den Kernel weitergereicht. + +.B yaboot +sollte bevorzugt auf einer dedizierten \fBbootstrap\fR(8)-Partition +(vom Typ Apple_Bootstrap auf PowerMacs, Typ 0x41 PReP-Boot auf +IBM-Hardware) installiert werden. Dies erlaubt die Modifikation der +Partition derart, daß OpenFirmware \fByaboot\fR oder ein Boot-Menü +automatisch in einer Standard-OF-Konfiguration lädt. Falls \fByaboot\fR +nicht auf einer \fBbootstrap\fR(8)-Partition installiert werden kann, +kann es stattdessen in der Wurzel der MacOS-Boot-Partition installiert +werden. \fByaboot\fR sollte allerdings nicht in einem Unterverzeichnis +des MacOS-Dateisystems installiert werden, da dies weniger zuverlässig +und schwieriger von OpenFirmware aus ausführbar ist. Lesen Sie die +\fBybin\fR(8)-Handbuchseite für weitere Details zur Installation von +\fByaboot\fR (\fBybin\fR(8) ist ein Werkzeug um \fByaboot\fR unter +minimaler Schwierigkeit zu installieren) + +Die \fByaboot.conf\fR(5)-Datei muß neben dem \fByaboot\fR-Programm auf +der \fBbootstrap\fR(8)-Partition liegen. \fBybin\fR(8) kümmert sich darum. + +OpenFirmware kann durch gleichzeitiges Drücken der \fIcommand, option, +o, f\fR-Tasten sofort nach dem Einschalten erreicht werden. + +Die Einstellungen von OpenFirmware können durch das gleichzeitige Drücken +der \fIcommand, option, p, r\fR-Tasten während eines Kaltstarts auf die +Standardwerte zurückgesetzt werden. + +Fall Sie G4-Hardware besitzen, dann könnte Ihre OpenFirmware bereits +über ein eingebautes graphische Bootauswahlmenü verfügen. Dieses +Auswahlmenü kann über das Drücken der \fIoption\fR-Taste während +des Bootens der Maschine erreicht werden. Sie sollten einen Bildschirm +mit Knöpfen für jede bootbare Partition sehen. Die derzeitige Version +(in \fBybin\fR(8) 0.13 enthalten) von ofboot enthält ein Kennzeichen-Icon, +der Knopf mit dem Pinguin-Icon steht für Ihre +\fBbootstrap\fR(8)-Partition. Vielen Dank an Nicholas Humfrey für die +Erstellung des Kennzeichen-Icons. + +Die \fBbootstrap\fR(8)-Partition braucht und +.B sollte nicht +irgendwo in Ihrem Dateisystem, insbesondere in /boot, eingehängt werden. \fBYaboot\fR ist +in der Lage, Kernel von der mit ext2 formatierten Wurzelpartition zu laden, deshalb sollten +die Kernel auch dort vorgehalten werden. +.SH BEISPIELE +\fByaboot\fR von der internen ATA-Platte, Partition 2 booten: + +.I boot hd:2,yaboot + +\fByaboot\fR von Partition 2 von einer SCSI-Platte mit ID 2 an einem +Adaptec 2930 SCSI-Adapter booten (dies ist auf einem blauen G3, Revision 1, +und kann auf anderen Modellen variieren): + +.I boot /pci@80000000/pci-bridge@d/ADPT,2930CU@2/@2:2,yaboot + +Ein Kernel-Image auf Partition 3 der internen ATA-Platte booten +(von \fByaboot's\fR \fIboot:\fR-Eingabeaufforderung): + +.I hd:3,/boot/vmlinux + +Ein Kernel-Image auf Partition 3 der SCSI-Platte mit ID 2 an einem +Adaptec 2930 SCSI-Adapter booten +(von \fByaboot's\fR \fIboot:\fR-Eingabeaufforderung): + +.I /pci@80000000/pci-bridge@d/ADPT,2930CU@2/@2:3,/vmlinux +.SH DATEIEN +.nf +/etc/yaboot.conf \- Urlader (Boot-Lader) Konfigurationsdatei +.fi +.SH FEHLER +OpenFirmware +.SH AUTOREN +Diese Handbuchseite wurde von Ethan Benson geschrieben. +.P +.B yaboot +wurde von Benjamin Herrenschmidt geschrieben. +.SH "FEHLER BERICHTEN" +Fehler in \fByaboot\fR sollten (auf englisch) an Ethan Benson +berichtet werden. +.SH "SIEHE AUCH" +.BR bootstrap (8), +.BR yaboot.conf (5), +.BR ybin (8). debian/patches/ydl-powerstation.patch0000664000000000000000000000426211633622567015203 0ustar Description: Support for YDL PowerStation Bug-Debian: http://bugs.debian.org/603894 Author: Milan Kupcevic Forwarded: http://patchwork.ozlabs.org/patch/111893/ --- a/ybin/ofpath +++ b/ybin/ofpath @@ -30,7 +30,7 @@ PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" PRG="${0##*/}" -VERSION=1.0.7+debian2 +VERSION=1.0.7+debian3 DEBUG=0 export LC_COLLATE=C @@ -899,6 +899,8 @@ SUBARCH=OldWorld elif (cat /proc/cpuinfo 2> /dev/null | grep ^machine | grep -q 'CHRP IBM') ; then SUBARCH=CHRP +elif (cat /proc/cpuinfo 2> /dev/null | grep ^platform | grep -q 'Maple') ; then + SUBARCH=Maple elif (cat /proc/cpuinfo 2>/dev/null | grep ^machine | grep -q 'CHRP Pegasos') ; then SUBARCH=Pegasos else @@ -930,7 +932,7 @@ OldWorld) oldworld || exit 1 ;; - CHRP) + CHRP|Maple) chrp || exit 1 ;; esac --- a/ybin/ybin +++ b/ybin/ybin @@ -75,6 +75,8 @@ usemount=no if (cat /proc/cpuinfo 2> /dev/null | grep ^machine | grep -q 'CHRP IBM') ; then fstype=raw +elif (cat /proc/cpuinfo 2> /dev/null | grep ^platform | grep -q 'Maple') ; then + fstype=raw else fstype=hfs fi @@ -508,6 +510,8 @@ ## IBM hardware does not need nvram update AFAICT nonvram=1 ADDNOTE=yes + elif (cat /proc/cpuinfo 2> /dev/null | grep ^platform | grep -q 'Maple') ; then + true else #echo 1>&2 "$PRG: Warning: Unknown archetecture, $boot may not be bootable on this machine" [ "$nonvram" = 0 ] && echo 1>&2 "$PRG: Warning: Unknown architecture, nvram will not be updated" @@ -1151,6 +1155,20 @@ return 1 fi sync ; sync + + ## update the boot-device variable in OF nvram. + if [ "$nonvram" = 0 ] ; then + chrp_ofboot=${ofboot%%:*} + [ "$VERBOSE" = 1 ] && echo "$PRG: Updating OpenFirmware boot-device variable in nvram..." + [ "$DEBUG" = 1 ] && echo 1>&2 "$PRG: DEBUG: boot-device=${chrp_ofboot}" + nvsetenv boot-device "${chrp_ofboot}" + if [ $? != 0 ] ; then + echo 1>&2 "$PRG: An error occured while updating nvram, we'll ignore it" + fi + else + echo 1>&2 "$PRG: Warning: You must manually configure OpenFirmware to boot." + fi + [ "$VERBOSE" = 1 ] && echo "$PRG: Installation successful" return 0 } debian/patches/e2fs-missing-libc.patch0000664000000000000000000000335311633622567015074 0ustar From: Tony Breeds Description: Provide missing libc functions required by e2fslibs. Origin: http://patchwork.ozlabs.org/patch/108348/ --- a/Makefile +++ b/Makefile @@ -85,6 +85,7 @@ OBJS = second/crt0.o second/yaboot.o second/cache.o second/prom.o second/file.o \ second/partition.o second/fs.o second/cfg.o second/setjmp.o second/cmdline.o \ second/fs_of.o second/fs_ext2.o second/fs_iso.o second/iso_util.o \ + lib/nonstd.o \ lib/nosys.o lib/string.o lib/strtol.o lib/vsprintf.o lib/ctype.o lib/malloc.o lib/strstr.o ifeq ($(USE_MD5_PASSWORDS),y) --- /dev/null +++ b/include/nonstd.h @@ -0,0 +1,16 @@ +/* Copyright */ + +#ifndef NONSTD_H +#define NONSTD_H + +typedef int FILE; + +extern FILE *stdout; + +int printf(const char *format, ...); +int fprintf(FILE *stream, const char *format, ...); +int fputs(const char *s, FILE *stream); +int fflush(FILE *stream); +char *getenv(const char *name); + +#endif --- /dev/null +++ b/lib/nonstd.c @@ -0,0 +1,49 @@ +/* Copyright */ + + +#include "ctype.h" +#include "types.h" +#include "stddef.h" +#include "stdlib.h" +#include "ctype.h" +#include "prom.h" +#include "nonstd.h" + +FILE *stdout; + +int printf(const char *format, ...) +{ + va_list ap; + va_start (ap, format); + prom_vfprintf (prom_stdout, format, ap); + va_end (ap); + + return 0; +} + +int fprintf(FILE *stream, const char *format, ...) +{ + va_list ap; + va_start (ap, format); + prom_vfprintf (prom_stdout, format, ap); + va_end (ap); + + return 0; +} + +int fputs(const char *s, FILE *stream) +{ + prom_printf("%s", s); + + return 0; +} + +int fflush(FILE *stream) +{ + return 0; +} + +char *getenv(const char *name) +{ + return NULL; +} debian/patches/ubuntu-branding.patch0000664000000000000000000000072411633622567014762 0ustar Index: yaboot/first/ofboot =================================================================== --- yaboot.orig/first/ofboot 2011-02-19 22:29:56.386509862 +1100 +++ yaboot/first/ofboot 2011-02-19 22:35:01.956958034 +1100 @@ -336,7 +336,7 @@ $BGCOLOR to background-color \" \"(0C)\" .printf -\" First Stage Debian GNU/Linux Bootstrap\"(0d 0a)\" .printf +\" First Stage Ubuntu Bootstrap\"(0d 0a)\" .printf \" \"(0d 0a)\" .printf $MENUOPTS \" \"(0d 0a)\" .printf debian/patches/new_fsf_address.patch0000664000000000000000000000110711633622567015006 0ustar Index: yaboot-1.3.16/COPYING =================================================================== --- yaboot-1.3.16.orig/COPYING 2010-12-12 01:41:21.950601935 +0000 +++ yaboot-1.3.16/COPYING 2010-12-12 01:43:44.965603750 +0000 @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. debian/patches/e2fs-posix-memalign.patch0000664000000000000000000000337411633622567015450 0ustar From: Tony Breeds Description: Provide posix_memalign required by e2fslibs since version 1.41.13. Origin: http://patchwork.ozlabs.org/patch/77840/ --- a/lib/malloc.c +++ b/lib/malloc.c @@ -23,6 +23,10 @@ #include "stddef.h" #include "string.h" +/* Copied from asm-generic/errno-base.h */ +#define ENOMEM 12 /* Out of memory */ +#define EINVAL 22 /* Invalid argument */ + /* Imported functions */ extern void prom_printf (char *fmt, ...); @@ -81,6 +85,48 @@ return caddr; } +/* Do not fall back to the malloc above as posix_memalign is needed by + * external libraries not yaboot */ +int posix_memalign(void **memptr, size_t alignment, size_t size) +{ + char *caddr; + /* size of allocation including the alignment */ + size_t alloc_size; + + if (!malloc_ptr) + return EINVAL; + + /* Minimal aligment is sizeof(void *) */ + if (alignment < sizeof(void*)) + alignment = sizeof(void*); + + /* Check for valid alignment and power of 2 */ + if ((alignment % sizeof(void*) != 0) || ((alignment-1)&alignment)) + return EINVAL; + + if (size == 0) { + *memptr=NULL; + return 0; + } + + caddr = (char*)( + (size_t)((malloc_ptr + sizeof(int))+(alignment-1)) & + (~(alignment-1)) + ); + alloc_size = size + (caddr - (malloc_ptr+sizeof(int))); + + if ((malloc_ptr + alloc_size + sizeof(int)) > malloc_top) + return ENOMEM; + + *(int *)(caddr - sizeof(int)) = size; + malloc_ptr += alloc_size + sizeof(int); + last_alloc = caddr; + malloc_ptr = (char *) ((((unsigned int) malloc_ptr) + 3) & (~3)); + *memptr=(void*)caddr; + + return 0; +} + void free (void *m) { if (!malloc_ptr) debian/patches/no-unix-block-names.patch0000664000000000000000000000455011633622567015445 0ustar Description: Support persistent device naming symlinks, UUID, and LABEL tags in addition to openfirmware paths and aliases as traditional Unix block device names are not persistent anymore. Last-Update: 2011-08-04 Bug-Debian: http://bugs.debian.org/615602 Bug-Debian: http://bugs.debian.org/580455 Author: Milan Kupcevic Forwarded: http://patchwork.ozlabs.org/patch/108567/ --- a/ybin/yabootconfig +++ b/ybin/yabootconfig @@ -27,7 +27,7 @@ PATH="${PATH}:${PATH_PREFIX}/sbin:${PATH_PREFIX}/bin:${PATH_PREFIX}/usr/sbin:${PATH_PREFIX}/usr/bin:${PATH_PREFIX}/usr/local/sbin:${PATH_PREFIX}/usr/local/bin" fi PRG="${0##*/}" -VERSION=1.0.8 +VERSION=1.0.8+debian2 CHROOT=/ ## $CONFIG is relative to $CHROOT CONFIG=etc/yaboot.conf @@ -732,6 +732,27 @@ INITRDIMGS="\tinitrd=$INITRDIMG\n\tinitrd-size=8192\n" fi +## Get a symlink which always points to the correct block device. +## If it does not exist, give the unix block device name back. +devsymlink() { + [ "$2" != "nobyid" ] && BYID="/dev/disk/by-id/scsi* /dev/disk/by-id/*" + for SYMLINK in $BYID /dev/disk/by-uuid/* /dev/disk/by-label/*; do + [ "`readlink -f "$SYMLINK"`" = "$1" ] && { + echo $SYMLINK + return + } + done + echo $1 +} + +## Get UUID= or LABEL= for the given unix partition block device. +## If it could not be determined, give the unix partition block device back. +uuidlabel() { + echo `devsymlink "$1" nobyid` \ + | sed -e "s,/dev/disk/by-uuid/,UUID=," \ + -e "s,/dev/disk/by-label/,LABEL=," +} + ## generate global section of yaboot.conf GLOBAL="## yaboot.conf generated by $PRG $VERSION ## @@ -739,9 +760,9 @@ ${HEADER}## ## For a dual-boot menu, add one or more of: ## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ\n -boot=${BOOT}${DEVICE:-} +boot=\"`devsymlink "${BOOT}"`\"${DEVICE:-} partition=$PARTITION -root=$ROOT +root=\"`uuidlabel "${ROOT}"`\" timeout=30 install=${INSTALL}${OFBOOT:-}\n" --- a/ybin/ybin +++ b/ybin/ybin @@ -1641,6 +1641,12 @@ exit 1 fi +## also accept quoted symlink names +for v in boot bsd macos macosx darwin ; do + eval $v="\`echo \$$v | tr -d '\"'\`" + eval [ -h \"\$$v\" ] \&\& $v="\`readlink -f \$$v\`" +done + ## if there is still no config file use the automatic generation to make a ## generic yaboot.conf. do this before the confcheck to avoid wierd errors. if [ "$bootconf" = /dev/null ] ; then debian/postinst0000664000000000000000000000151411633622567011012 0ustar #!/bin/sh set -e # Backwards compatibility for old upgrades - ofboot.b is obsolete now. if [ -f /etc/ofboot.b -a ! -f /boot/ofboot.b ] && \ grep '^[[:space:]]*magicboot[[:space:]]*=[[:space:]]*/boot/ofboot.b' \ /etc/yaboot.conf >/dev/null 2>/dev/null; then ln -s /etc/ofboot.b /boot/ofboot.b elif [ -L /boot/ofboot.b -a ! -f /boot/ofboot.b ]; then rm -f /boot/ofboot.b fi if [ -f /usr/lib/yaboot/yaboot -a ! -f /boot/yaboot ] && \ grep '^[[:space:]]*install[[:space:]]*=[[:space:]]*/boot/yaboot' \ /etc/yaboot.conf >/dev/null 2>/dev/null; then ln -s /usr/lib/yaboot/yaboot /boot/yaboot elif [ -L /boot/yaboot ]; then rm -f /boot/yaboot fi if [ "$DEBIAN_FRONTEND" != "noninteractive" ]; then echo "The bootblock is not automatically updated by installation of this package;" echo "run 'ybin' to update it." fi #DEBHELPER#