[YABOOT] Preliminary ofpath with 2.6 kernel support NEEDS TESTING

3 messages, 3 authors, 2004-03-23 · open the first message on its own page

[YABOOT] Preliminary ofpath with 2.6 kernel support NEEDS TESTING

From: Ethan Benson <hidden>
Date: 2004-03-22 02:35:36

Hello,

As many are painfully aware ofpath in current yaboot does not function
correctly under 2.6 systems, worse case it gives out bogus paths
therefore causing the system to fail to boot.

I have preliminary changes in current development version of yaboot
which fixes ofpath to support 2.6.4 and above kernels.

I need everyone with 2.6.4 or newer systems to test this version of
ofpath and verify that it produces correct OpenFirmware paths to your
devices (compare with ofpath output from a recent 2.4 kernel (2.4.23
or newer))

Prerequisites:

* You must have 2.6.4 or newer, previous versions lack necessary
  sysfs information.

* You must have sysfs mounted (normally on /sys, but ofpath should be
  able to detect where its mounted).

* You must still have /proc/ide so if this becomes a configurable
  option like /proc/scsi you must have it enabled (/proc/scsi is also
  required for machines with SATA drives).

The easiest way to test the new ofpath is download the current version
from http://penguinppc.org/~eb/files/ofpath and install it manually:

as root enter:

	which ofpath

this will return the path of the active ofpath program, probably
/usr/sbin/ofpath

move it to safe place:

	mv `which ofpath` /root

install the new version (put it in the same place as the old one was,
see step 1):

	install -m 755 /home/youruser/ofpath /usr/sbin/ofpath

run ofpath on all your disk devices and ensure its output is correct.

then comment out any ofboot= lines in /etc/yaboot.conf and change your
macos* entries back to /dev/ nodes, run ybin and ensure the bootloader
functions correctly.

MOST IMPORTANTLY:

	* REPORT SUCCESS *AND* FAILURE *

I want to know what kind of machine you have, and that ofpath worked
correctly, I will release yaboot 1.3.12 once I have enough success
reports for enough differing machines, very new machines are most
important, as they are the ones which old ofpath failed on.

Thanks in advance, and thanks to Nick Lopez for granting me local
shell access to his machine so I could get this done.

--
Ethan Benson
http://www.alaska.net/~erbenson/

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: [YABOOT] Preliminary ofpath with 2.6 kernel support NEEDS TESTING

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2004-03-22 03:07:31

On Mon, 2004-03-22 at 13:35, Ethan Benson wrote:
* You must have 2.6.4 or newer, previous versions lack necessary sysfs
  information.
Isn't 2.6.3 enough ?
* You must have sysfs mounted (normally on /sys, but ofpath should be
  able to detect where its mounted).

* You must still have /proc/ide so if this becomes a configurable
  option like /proc/scsi you must have it enabled (/proc/scsi is also
  required for machines with SATA drives).
Note that if you are using a G5 with DART enabled (that is with more
than 2Gb of RAM), you _MUST_ apply the following patch, or access to
the /proc/scsi/sata_svw entry will break the driver:

diff -Nru a/arch/ppc64/kernel/pmac_iommu.c b/arch/ppc64/kernel/pmac_iommu.c
--- a/arch/ppc64/kernel/pmac_iommu.c	Tue Mar 16 08:10:33 2004
+++ b/arch/ppc64/kernel/pmac_iommu.c	Tue Mar 16 08:10:33 2004
@@ -289,8 +289,11 @@
 	 * things simple. Setup all PCI devices to point to this table
 	 */
 	while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) {
-		dn = PCI_GET_DN(dev);
-
+		/* We must use pci_device_to_OF_node() to make sure that
+		 * we get the real "final" pointer to the device in the
+		 * pci_dev sysdata and not the temporary PHB one
+		 */
+		struct device_node *dn = pci_device_to_OF_node(dev);
 		if (dn)
 			dn->iommu_table = &iommu_table_pmac;
 	}
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: [YABOOT] Preliminary ofpath with 2.6 kernel support NEEDS TESTING

From: digger vermont <hidden>
Date: 2004-03-23 04:55:24

Hello Ethan,
	The new ofpath gives the same dir's for 2.4.25 and 2.6.4.  It works
fine to boot linux and macosx on my powerbook.  I didn't try a cd.  I
never had any problems though and yaboot.conf used /dev/xxx statements
to begin with:

boot=/dev/hda9
device=hd:
partition=11
root=/dev/hda11
timeout=30
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot

macosx=/dev/hda16

/proc/cpuinfo

processor       : 0
cpu             : 7455, altivec supported
clock           : 667MHz
revision        : 2.1 (pvr 8001 0201)
bogomips        : 665.60
machine         : PowerBook3,4
motherboard     : PowerBook3,4 MacRISC2 MacRISC Power Macintosh
detected as     : 73 (PowerBook Titanium III)
pmac flags      : 0000000b
L2 cache        : 256K unified
memory          : 512MB
pmac-generation : NewWorld

Thanks,

digger

On Sun, 2004-03-21 at 21:35, Ethan Benson wrote:
As many are painfully aware ofpath in current yaboot does not function
correctly under 2.6 systems, worse case it gives out bogus paths
therefore causing the system to fail to boot.

I have preliminary changes in current development version of yaboot
which fixes ofpath to support 2.6.4 and above kernels.

I need everyone with 2.6.4 or newer systems to test this version of
ofpath and verify that it produces correct OpenFirmware paths to your
devices (compare with ofpath output from a recent 2.4 kernel (2.4.23
or newer))

Prerequisites:

* You must have 2.6.4 or newer, previous versions lack necessary sysfs
  information.

* You must have sysfs mounted (normally on /sys, but ofpath should be
  able to detect where its mounted).

* You must still have /proc/ide so if this becomes a configurable
  option like /proc/scsi you must have it enabled (/proc/scsi is also
  required for machines with SATA drives).

The easiest way to test the new ofpath is download the current version
from http://penguinppc.org/~eb/files/ofpath and install it manually:

as root enter:

	which ofpath

this will return the path of the active ofpath program, probably
/usr/sbin/ofpath

move it to safe place:

	mv `which ofpath` /root

install the new version (put it in the same place as the old one was,
see step 1):

	install -m 755 /home/youruser/ofpath /usr/sbin/ofpath

run ofpath on all your disk devices and ensure its output is correct.

then comment out any ofboot= lines in /etc/yaboot.conf and change your
macos* entries back to /dev/ nodes, run ybin and ensure the bootloader
functions correctly.

MOST IMPORTANTLY:

	* REPORT SUCCESS *AND* FAILURE *

I want to know what kind of machine you have, and that ofpath worked
correctly, I will release yaboot 1.3.12 once I have enough success
reports for enough differing machines, very new machines are most
important, as they are the ones which old ofpath failed on.

Thanks in advance, and thanks to Nick Lopez for granting me local
shell access to his machine so I could get this done.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help