SuSE Linux: Version PPC
This article refers to an older version of SuSE Linux.
Therefore some of the informations given in this article may
be outdated or the article may contain stale links.
SuSE Linux PowerPC: Version 7.0
You have an iBook, and are thoroughly dismayed to discover that it freezes when you try to install SuSE on it. This happens after booting off of the CD. You will see the 2.2.16 kernel begin to boot, and then it will freeze after the following line:
CONSOLE: Colour dummy device 80x25
This generally happens on "new" iBooks such as the indigo, key-lime, and graphite models. These machines are not officially supported by SuSE 7.0 PPC, however it is possible to do an installation on them. A few things to keep in mind:
Partition the iBook first, using Drive Setup, by booting from the MacOS installation CD. In most circumstances, you will be making 4 partitions. This type of setup will be described in this article, if you are doing something else, it is expected that you can make the necessary adjustments. Make one partition for MacOS (Good to have in case of emergency). This partition can be either HFS (MacOS Standard) or HFS+ (MacOS Extended). Make a 32MB partition in HFS (MacOS Standard) format for your linuxboot partition. Then, make a 128MB (or somewhere around 2x your memory) swap partition. It is a good idea to format this as A/UX Swap, so it is easy to remember that it is swap later. Last, make a big partition for your linux root partition. This can be designated "Linux Home" or "Linux Opt".
Purpose | Size Recommendation | Filesystem Type | ||
MacOS Partition | Any Size > 400MB |
HFS or HFS+ | ||
linuxboot Partition | Approximately 32MB | HFS ONLY! (aka: MacOS Standard) | ||
Swap Partition | Approximately 128MB (Can be more or less) | A/UX Swap or Unallocated | ||
Root Partition | Any Size > 1 GB |
Linux Home, Linux Opt, or Unallocated |
After you have finished partitioning the machine, name the 2 disks that show up on the desktop. The 32MB one should be named "linuxboot" (it can be named something else if you like, of course) and the other partition should be named something like "Macintosh HD". Because the machine is still running off of the MacOS CD at this point, it is a good time to install MacOS to the Macintosh HD disk. After the installation of MacOS, reboot and finish setup of MacOS.
The next step is to put the 1st SuSE 7.0 PPC CD in the drive. You will
see a folder named suseboot
on this CD. Drag the
suseboot
folder into the linuxboot
disk on
your desktop. Go into this folder, after it is copied, and open up the
yaboot.conf file. It will look like this:
default = install timeout = 50 image = vmlinux label = install append = "ramdisk_size=64000 load_ramdisk=1" initrd = ramdisk.image.gz root = /dev/fd0 # your own kernel on the linux side, could look like this #image = ultra0:11,/boot/vmlinux image = vmlinux label = linux # add ide0=noautotune to the append line if your IDE drive doesn't # work # for valid vmodes look at the manual page of nvvideo `man nvvideo` # append = "video=aty128fb:vmode:13,cmode:16" # you want to set the valid root device for your system # root = /dev/hda11
default = install timeout = 50 image = vmlinux label = install append = "ramdisk_size=64000 load_ramdisk=1 video=aty128fb:vmode:10" # If you have problems with this try the above line with # video=ofonly, instead initrd = ramdisk.image.gz root = /dev/fd0
Basically, just the video=aty128fb:vmode:10
or
video=ofonly
parameter needs to be set.
After doing this, it is necessary to replace the default installation
kernel with a newer one that works correctly with the new iBook. Go
into the SuSE 7.0 PPC CD1/suse/images
directory. You
will see a file named vmlinux.benh.gz
there. Drag this
file to your desktop. (Humor me here.) Double click on the
vmlinux.benh.gz
file that is on your desktop. The
program MacGzip will then be able to unzip this file so that you
should have a vmlinux-benh
file on your desktop. Rename
the vmlinux-benh
file to vmlinux
. Then,
drag the vmlinux
on your desktop into the
linuxboot/suseboot
folder. It will ask if you want to
overwrite the existing vmlinux
file. This is what you
want to do.
NOTE: If you have access to the Internet, it is best to grab the
updated 2.2.18 kernel from SuSE's FTP server, rather than use the one
on the installation CD. This can be obtained from the following site:
ftp://ftp.suse.com/pub/suse/ppc/kernel/2.2.18/vmlinux-2.2.18-0.gz.
Follow the above directions to extract and copy this kernel into the
linuxboot/suse/boot
folder.
Next, go into the linuxboot/suseboot/tools
folder.
Double click on the mark yaboot bootable
script. Mark
Yaboot bootable, and change the startup disk on the Mac to
linuxboot
.
After this, you should be able to reboot the machine and start the
installation. If the machine does not boot into the installation, try
hitting enter. (You will not be able to see the initial yaboot screen
when the machine boots.) If this does not work, reboot holding down
the APPLE(open)+option+o+f
keys. This will take you into
the firmware. Issue the command mac-boot
. This should
result in a rather garbled screen. Simply hitting enter is the best
idea at this point. This should bring you into the installation. If
this method does not work, something has been done wrong, and you
should start over, carefully following the steps discussed so far in
this article.
NOTE: If you need the initial yaboot screen to not be garbled
for some reason, instead of issuing the mac-boot
command,
issue the command cd boot
. If you find, later on, that
you always need to boot from the firmware this way, it is possible to
set the machine to always boot from the firmware by issuing the
following firmware command: setenv auto-boot? false
.
This will cause the machine to always boot into the firmware first.
Please note that the "?" is necessary.
The installation process needs little explanation, there is nothing special you need to do here. Please remember to go into the "Custom Partitioning" section and make sure that both the swap partition and the root partition are formatted and have the correct mount points. (Swap for swap, and "/" for root.) NOTE: 1.) Sometimes you will run into problems if you switch out of the framebuffer to the console and try to switch back. 2.) Even though the installation will detect the sound card correctly, you will not hear any sound when you try to test it.
Do not reboot the machine yet, you still have work to do. First, the correct kernel needs to be installed on the system. Make sure the first CD is in the drive. Then, Log in as root, and issue the following commands in a terminal or at the console:
mount /cdrom cd /cdrom/suse/images rpm -Uvh k_benh.rpm cp /boot/vmlinux /boot/vmlinux.2.2.16 cp /boot/vmlinux-benh-.. /boot/vmlinux
NOTE: It is best, if possible, to gain access to the Internet, either by setting up networking, or the Internal modem (simply use YaST1 or 2 to set up the modem). Then, download the most up-to-date 2.2.18 kernel from SuSE's famous FTP server: ftp://ftp.suse.com/pub/suse/ppc/kernel/2.2.18/k_pmac-2.2.18-0.ppc.rpm. To install this kernel:
rpm -Uvh k_pmac-2.2.18-0.ppc.rpm
If you are planning on booting only linux, and not MacOS, you will need to download the most recent version of lilo, in order to set up the boot loader correctly. Thus, you should set up the network first. The network adaptor support for this machine is compiled into the kernel, so all you should need to do is set up the DHCP or IP information for it in YaST2, if you have not already done so. The modem should work as well, but this has not yet been tested. Once connected to the internet, download the new lilo.rpm package from:
ftp://ftp.suse.com/pub/projects/powerpc/lilo/lilo.rpm
From the directory you downloaded lilo to, issue the following command as root to install lilo:
rpm -Uvh lilo.rpm
Regardless of whether you are downloading the new lilo or not, (It is recommended to do this regardless of situation, to get the most current stable version of Lilo.) you should follow the next steps to set up the bootloader:
For booting only Linux
Edit your /etc/lilo.conf
file so that it looks something like this:
boot=/dev/hda10 # Number of the linuxboot partition default=linux timeout=100 activate bootfolder=suseboot image = /boot/vmlinux root = /dev/hda12 # Number of the root partition label = linux append = "video=aty128fb:vmode:10"
For dual-booting Linux and MacOS
Edit your
/etc/lilo.conf
file so that it looks something like this:
boot=/dev/hda10 # Number of the linuxboot partition default=linux timeout=100 activate bootfolder=suseboot image = /boot/vmlinux root = /dev/hda12 # Number of root partition label = linux append = "video=aty128fb:vmode:10" other = /dev/hda9 # Number of MacOS Partition label = macos
NOTE: If you are not sure on the partition numbers, you can
check this in the pdisk
program. This can be run by
typing pdisk /dev/hda
, then entering the letter "p" to
print the partition table. To exit the program, type "q". When
dual-booting, to boot into MacOS hold down the Option/Alt key while
booting the machine. You will then be presented with a choice between
MacOS and Linux.
After setting up the /etc/lilo.conf
file, type
lilo
to run the lilo program. Now your system should be
safe to reboot, if needed.
XF86Config.ibook
file from the first SuSE
7.0 PPC CD.
mount /cdrom cp /cdrom/unsorted/XF86Config.ibook /etc/X11/XF86Config
/etc/X11/XF86Config
file so that the section
Device
uses the r128
driver, instead of the
ati
driver, eg:
Section "Device" BoardName "RageLMobilityAGP" BusID "0:16:0" Driver "r128" Identifier "Device[0]" Option "usefbdev" VendorName "ATI" EndSection
Remove:
Section "Monitor" HorizSync 30-60 Identifier "Monitor[0]" ModelName "Unknown" VendorName "Unknown" VertRefresh 50-62 UseModes "Modes[0]" EndSection Section "Modes" Identifier "Modes[0]" ModeLine "800x600-60" 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync EndSection
Add:
Section "Monitor" Identifier "Monitor0" VendorName "Unknown" ModelName "Unknown" HorizSync 28-38 VertRefresh 43-72 # 640x400 @ 70 Hz, 31.5 kHz hsync Modeline "640x400" 25.175 640 664 760 800 400 409 411 450 # 640x480 @ 60 Hz, 31.5 kHz hsync Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 # 800x600 @ 56 Hz, 35.15 kHz hsync ModeLine "800x600-56" 36 800 824 896 1024 600 601 603 625 # 640x480 @ 72 Hz, 36.5 kHz hsync Modeline "640x480" 31.5 640 680 720 864 480 488 491 521 # 640x480 @ 75 Hz, 37.50 kHz hsync ModeLine "640x480" 31.5 640 656 720 840 480 481 484 500 -HSync -VSync # 800x600 @ 60 Hz, 37.8 kHz hsync Modeline "800x600-60" 40 800 840 968 1056 600 601 605 628 +hsync +vsync EndSection