Re: Disk ordering on a PowerMac MDD G4

2023-10-14 Thread Stan Johnson
Sorry, it was my fault -- I was using the wrong initrd. Everything is
now working as expected.

On 10/13/23 9:49 AM, Stan Johnson wrote:
> Hello,
> 
> Recent kernels (starting around 6.4) have made it progressively more
> difficult to predict disk ordering on the PowerMac MDD G4. My system has
> four disks, two on the 100 MHz bus and two on the 66 MHz bus:
> 
>  100 MHz bus:
> master - should be sda
> slave - should be sdb, often is seen as sda
> 
>   66 MHz bus:
> master - should be sdc, often is seen as sda
> slave  - should be sdd
> 
> While I use "LABEL=Debian_xxx" in /etc/fstab, in Yaboot I need to
> specify something like "root=/dev/sda15" since "root=LABEL=xyz" and
> "root=UUID=abc" not only don't work but are seen as syntax errors
> requiring rescue from CD.
> 
> It looks like I have three choices (I prefer option 1):
> 
> 1) Convert from Yaboot to GRUB. I would prefer that the distributed
> (official) version of GRUB allow booting of Mac OS X and Mac OS 9 from
> the GRUB menu without needing custom changes (I'm aware of the previous
> thread discussing how to modify GRUB to allow it to boot Mac OS X and
> Mac OS 9 volumes, but I don't know whether those changes went upstream
> to the GRUB maintainers). I would also need to install and configure
> GRUB and then remove it or disable GRUB updates, since the AppleBoot
> partition remains mounted by default (and that's a security issue).
> 
> 2) See if there are kernel options to cause the master disk on the 100
> MHz bus to be seen as sda. The kernel (or udev) should never pick a disk
> on the 66 MHz bus as sda if there is a master disk on the 100 MHz bus.
> I've tried "Assign PCI bus numbers from zero individually for each PCI
> domain" and "Use pci_to_OF_bus_map (deprecated)", but the selection of
> sda appears to be random. Since Yaboot runs the initrd correctly from
> what should be sda (master disk on the 100 MHz bus), the problem appears
> to be happening in the initrd or the initrd's udev (the kernel hangs
> when it can't find the root fs, which it usually thinks is on sdb or sdc).
> 
> 3) Only use a single disk on this system, which should cause sda to be
> identified correctly.
> 
> thanks for any constructive suggestions
> 
> -Stan
> 



Disk ordering on a PowerMac MDD G4

2023-10-13 Thread Stan Johnson
Hello,

Recent kernels (starting around 6.4) have made it progressively more
difficult to predict disk ordering on the PowerMac MDD G4. My system has
four disks, two on the 100 MHz bus and two on the 66 MHz bus:

 100 MHz bus:
master - should be sda
slave - should be sdb, often is seen as sda

  66 MHz bus:
master - should be sdc, often is seen as sda
slave  - should be sdd

While I use "LABEL=Debian_xxx" in /etc/fstab, in Yaboot I need to
specify something like "root=/dev/sda15" since "root=LABEL=xyz" and
"root=UUID=abc" not only don't work but are seen as syntax errors
requiring rescue from CD.

It looks like I have three choices (I prefer option 1):

1) Convert from Yaboot to GRUB. I would prefer that the distributed
(official) version of GRUB allow booting of Mac OS X and Mac OS 9 from
the GRUB menu without needing custom changes (I'm aware of the previous
thread discussing how to modify GRUB to allow it to boot Mac OS X and
Mac OS 9 volumes, but I don't know whether those changes went upstream
to the GRUB maintainers). I would also need to install and configure
GRUB and then remove it or disable GRUB updates, since the AppleBoot
partition remains mounted by default (and that's a security issue).

2) See if there are kernel options to cause the master disk on the 100
MHz bus to be seen as sda. The kernel (or udev) should never pick a disk
on the 66 MHz bus as sda if there is a master disk on the 100 MHz bus.
I've tried "Assign PCI bus numbers from zero individually for each PCI
domain" and "Use pci_to_OF_bus_map (deprecated)", but the selection of
sda appears to be random. Since Yaboot runs the initrd correctly from
what should be sda (master disk on the 100 MHz bus), the problem appears
to be happening in the initrd or the initrd's udev (the kernel hangs
when it can't find the root fs, which it usually thinks is on sdb or sdc).

3) Only use a single disk on this system, which should cause sda to be
identified correctly.

thanks for any constructive suggestions

-Stan