Hello, I am attemping to intall SuSE PPC v7.3 onto a powermac G4. I realize most folks are shaking their heads wondering why I would want to install v7.3. Simple answer is: I do not want to use v7.3, but we developing for an embeded system - using 7.3 is a requirement. I have narrowed down the problem I am having to the boot loading configuration step -- I have managed to install the OS, which I can boot using install CD1. However, I can not boot off the hard drive. I beleive the problem may be related to lilo -- I edited /etc/lilo conf boot=/dev/hdc1 timeout=100 default=linux activate image=/boot/vmlinux label=linux append="" WHen I run /sbin/lilo, this is the output I see: # /sbin/lilo running on pmac_new BOOT_DEVICEPATH = ERROR: device hdc not yet supported OTHER_DEVICEPATH = ERROR: device hdc not yet supported <snip some normal output> set OF boot-device ERRORL device hdc not yet supported,\\:tbxi Usage: nvsetenv [variable [value]] It would be great to b oot off the HD, but it that is not possible, I'd settle for having a boot CD that points to the HD to boot. So, any ideas about the /dev/hdc errors or a link to where I can read about making a PPC boot Cd? Thanks, Dominic Maraglia
On Thu, Oct 12, Dominic Maraglia wrote:
# /sbin/lilo running on pmac_new BOOT_DEVICEPATH = ERROR: device hdc not yet supported OTHER_DEVICEPATH = ERROR: device hdc not yet supported <snip some normal output> set OF boot-device ERRORL device hdc not yet supported,\\:tbxi Usage: nvsetenv [variable [value]]
It would be great to b oot off the HD, but it that is not possible, I'd settle for having a boot CD that points to the HD to boot.
So, any ideas about the /dev/hdc errors or a link to where I can read about making a PPC boot Cd?
Try to set the boot path manually: find /proc/device-tree/ -name device_type | xargs grep -wl block this will give you something like: /proc/device-tree/pci@f2000000/pci-bridge@d/ADPT,2930CU@3/disk/device_type /proc/device-tree/pci@f2000000/pci-bridge@d/mac-io@7/ata-3@21000/disk/device_type /proc/device-tree/pci@f2000000/pci-bridge@d/mac-io@7/ata-3@20000/disk/device_type /proc/device-tree/pci@f2000000/pci-bridge@d/mac-io@7/ata-4@1f000/disk/device_type ata-3 is likely the CD/ZIP drive, ata-4 is the hard drive. Maybe you have an alias for hdc in /proc/device-tree/aliases. ultra1 "/pci@f2000000/@d/mac-io@7/ata-4@1f000/disk@1" ultra0 "/pci@f2000000/@d/mac-io@7/ata-4@1f000/disk@0" zip "/pci@f2000000/@d/mac-io@7/ata-3@20000/disk@1" cd "/pci@f2000000/@d/mac-io@7/ata-3@20000/disk@0" hd "/pci@f2000000/@d/mac-io@7/ata-4@1f000/disk@0" ide1 "/pci@f2000000/@d/mac-io@7/ata-3@20000/disk@1" ide0 "/pci@f2000000/@d/mac-io@7/ata-3@20000/disk@0" ide0:9,/boot/vmlinux would be a valid path for my hdc/CD. I'm sure a 2.6 kernel would work on a 7.3 installation, all you need is a recent module-init-tools package to load the kernel modules. The current lilo relies on sysfs, which is 2.6 only.
Hello Olaf, Thanks for your reply; I have a few more questions: Also, I should mention that my CDrom and Hd are both on the secondary IDE channel -- the primary ideo chanel is ata-66/100 and not supported by suse 7.3. I realize some of this might be fixed by installing the lastest kernel, but that is not an option. This work is for a telecom company which has many embeded linux systems deployed through out Europe. We *must* use the same kernel as they do -- everything must be *exactly* the same at the telecom company -- they are very strict about this.
Try to set the boot path manually:
find /proc/device-tree/ -name device_type | xargs grep -wl block
this will give you something like:
/proc/device-tree/pci@f2000000/pci-bridge@d/ADPT,2930CU@3/disk/device_type /proc/device-tree/pci@f2000000/pci-bridge@d/mac-io@7/ata-3@21000/disk/device_type /proc/device-tree/pci@f2000000/pci-bridge@d/mac-io@7/ata-3@20000/disk/device_type /proc/device-tree/pci@f2000000/pci-bridge@d/mac-io@7/ata-4@1f000/disk/device_type
I see: /proc/device-tree/pci@f2000000/pci-bridge@d/mac-io@17/ata-3@20000/disk/device_type /proc/device-tree/pci@f2000000/pci-bridge@d/mac-io@17/ata-4@1f000/disk/device_type /proc/device-tree/pci@f4000000/ata-6@d/disk/device_type
ata-3 is likely the CD/ZIP drive, ata-4 is the hard drive. Maybe you have an alias for hdc in /proc/device-tree/aliases.
ultra1 "/pci@f2000000/@d/mac-io@7/ata-4@1f000/disk@1" ultra0 "/pci@f2000000/@d/mac-io@7/ata-4@1f000/disk@0" zip "/pci@f2000000/@d/mac-io@7/ata-3@20000/disk@1" cd "/pci@f2000000/@d/mac-io@7/ata-3@20000/disk@0" hd "/pci@f2000000/@d/mac-io@7/ata-4@1f000/disk@0" ide1 "/pci@f2000000/@d/mac-io@7/ata-3@20000/disk@1" ide0 "/pci@f2000000/@d/mac-io@7/ata-3@20000/disk@0"
ide0:9,/boot/vmlinux would be a valid path for my hdc/CD.
I do not have an alias for hdc, but I do have ide0/1, hd, cd: cd /pci@f2000000/mac-io@17/ata-3@20000/disk@0 hd /pci@f4000000/ata-6@d/disk@0 ide0 /pci@f2000000/mac-io@17/ata-3@20000/disk@0 ide1 /pci@f2000000/mac-io@17/ata-3@20000/disk@1 Sorry for my ignorance, but how would I set my boot path based on this output? Thank you! Dominic
On Thu, Oct 12, Dominic Maraglia wrote:
/proc/device-tree/pci@f2000000/pci-bridge@d/mac-io@17/ata-3@20000/disk/device_type /proc/device-tree/pci@f2000000/pci-bridge@d/mac-io@17/ata-4@1f000/disk/device_type /proc/device-tree/pci@f4000000/ata-6@d/disk/device_type
ata-3 is likely the CD/ZIP drive, ata-4 is the hard drive. Maybe you have an alias for hdc in /proc/device-tree/aliases.
ultra1 "/pci@f2000000/@d/mac-io@7/ata-4@1f000/disk@1" ultra0 "/pci@f2000000/@d/mac-io@7/ata-4@1f000/disk@0" zip "/pci@f2000000/@d/mac-io@7/ata-3@20000/disk@1" cd "/pci@f2000000/@d/mac-io@7/ata-3@20000/disk@0" hd "/pci@f2000000/@d/mac-io@7/ata-4@1f000/disk@0" ide1 "/pci@f2000000/@d/mac-io@7/ata-3@20000/disk@1" ide0 "/pci@f2000000/@d/mac-io@7/ata-3@20000/disk@0"
ide0:9,/boot/vmlinux would be a valid path for my hdc/CD.
I do not have an alias for hdc, but I do have ide0/1, hd, cd:
cd /pci@f2000000/mac-io@17/ata-3@20000/disk@0 hd /pci@f4000000/ata-6@d/disk@0 ide0 /pci@f2000000/mac-io@17/ata-3@20000/disk@0 ide1 /pci@f2000000/mac-io@17/ata-3@20000/disk@1
Sorry for my ignorance, but how would I set my boot path based on this output?
You could hardcode the path info into /bin/show_of_path.sh Maybe something like this: Index: show_of_path.sh =================================================================== --- show_of_path.sh (revision 824) +++ show_of_path.sh (working copy) @@ -226,7 +226,12 @@ case "$DEVICE_NODENAME" in hd*) PATH_IS_CDROM=$(grep "^drive name:" /proc/sys/dev/cdrom/info|grep ${DEVICE_NODENAME% *}) if [ -z "$PATH_IS_CDROM" ] ; then - echo ERROR: device ${DEVICE_NODENAME% *} not yet supported + echo -n "ide0":"$FILE_PARTITION" + if [ "$FILENAME" = "" ] ; then + echo + else + echo ,"$FILENAME" + fi else HDA_PATH=$(cat /proc/device-tree/aliases/cd) echo -n "cd":"$FILE_PARTITION"
Olaf, Thank you for the suggestion with installing SuSE 7.3. Over the weekend, I have decided to install SuSE on an older PowerMac g4/450 (from 1999). The install went much easier on this older hardware, but I do have one problem: I am still unable to boot from the HD. I do not understand what I am doing wrong, or if I am missing a step? Hwn I start the Mac, I only see the grey screen with the [?] folder. Perhaps I need to change something in OpenFirmware? This is the output of pdisk -l and fdisk -l: Partition map (with 512 byte blocks) on '/dev/hda' #: type name length base ( size ) 1: Apple_partition_map 'Apple ' 63 @ 1 2: Apple_HFS 'boot ' 65536 @ 64 ( 32.0M) 3: Linux 'swap ' 4096000 @ 65600 ( 2.0G) 4: Linux 'root ' 236978176 @ 4161600 (113.0G) 5: Apple_Free 'Extra ' 114944 @ 241139776 ( 56.1M) Device block size=512, Number of Blocks=241254720 (115.0G) DeviceType=0x0, DeviceId=0x0 Disk /dev/hda: 16 heads, 63 sectors, 239340 cylinders Units = cylinders of 1008 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 98 49360+ af Unknown Partition 1 does not end on cylinder boundary: phys=(6, 37, 63) should be (6, 15, 63) /dev/hda2 99 238500 120154608 83 Linux Partition 2 does not end on cylinder boundary: phys=(1023, 179, 63) should be (1023, 15, 63) /dev/hda3 238501 239340 423360 83 Linux Partition 3 does not end on cylinder boundary: phys=(1023, 104, 63) should be (1023, 15, 63) My yaboot.conf: timeout = 100 default = linux image = hd:2,/boot/vmlinux label = linux root = /dev/hda2 My lilo.conf linppc:~ # cat /etc/lilo.conf # don't mess with the config file syntax ;) # you want to set this root device to a valid value! boot=/dev/hda1 default=linux timeout=100 activate image = /boot/vmlinux root = /dev/hda2 label = linux append = "" #other = /dev/hda6 # label = macos append = "" Best regards, Dominic Maraglia
On Mon, Oct 16, Dominic Maraglia wrote:
Thank you for the suggestion with installing SuSE 7.3. Over the weekend, I have decided to install SuSE on an older PowerMac g4/450 (from 1999). The install went much easier on this older hardware, but I do have one problem: I am still unable to boot from the HD. I do not understand what I am doing wrong, or if I am missing a step? Hwn I start the Mac, I only see the grey screen with the [?] folder.
The reason is likely that there is now a mac and a msdos partition label on hda. Both use non-overlapping areas in the first blocks of the drive. I suggest you boot a MacOS CD and initialize the disk again to clear the msdos label. It is in the fist 512 byte block. No idea how that happend, was this disk ever used in a PC? dd if=/dev/zero of=/dev/hda count=123 will clear it as well. You have to reinstall either way.
Olaf Hering wrote:
On Mon, Oct 16, Dominic Maraglia wrote:
Thank you for the suggestion with installing SuSE 7.3. Over the weekend, I have decided to install SuSE on an older PowerMac g4/450 (from 1999). The install went much easier on this older hardware, but I do have one problem: I am still unable to boot from the HD. I do not understand what I am doing wrong, or if I am missing a step? Hwn I start the Mac, I only see the grey screen with the [?] folder.
The reason is likely that there is now a mac and a msdos partition label on hda. Both use non-overlapping areas in the first blocks of the drive. I suggest you boot a MacOS CD and initialize the disk again to clear the msdos label. It is in the fist 512 byte block. No idea how that happend, was this disk ever used in a PC?
dd if=/dev/zero of=/dev/hda count=123 will clear it as well.
You have to reinstall either way.
Olaf, Thanks for the help. I think you are correct -- the hard drive is a spare that was almost certainly used in a dual boot linux/win box at some point. I will overwrite the first blocks using the dd command and give it a try again. Thanks, Dominic
participants (2)
-
Dominic Maraglia
-
Olaf Hering