Installation on MacMini (ppc)
From openSUSE
Contents |
About
About two weeks ago, Anicka asked members on our internal mailing list to install openSUSE 10.3 on her friend's Mac mini (ppc).
This article describes a successful openSUSE 10.3 installation on Mac mini (ppc).
Hardware
- Mac mini
- Processor: Risc3 7447A @ 1.4 GHz
- Memory: 1 GB RAM
- Disk: HTS726060M9AT00, ATA, ~60 GB
- GFX Card: ATI Technologies Inc RV280 [Radeon 9200]
- Netcard: UniNorth 2 GMAC (Sun GEM)
- Monitor: DVI LCD SAMSUNG SyncMaster 910T
- USB Keyboard, USB Mouse
- One green apple
Software
- openSUSE 10.3 DVD (ppc)
Goals
- Install openSUSE 10.3
- It's not needed to keep the original partitioning and system
- Make X-server run (without framebuffer if possible)
Pre-Installation
I was told that installation had been impossible on that hardware but the only problem I found was Partitioner versus Bootloader issues.
How Installation Works in General
openSUSE installation, as it is designed, is all proposed and tuned in memory unless you finally press the Install button. Everything, such as partitioning, selection of software to be installed, bootloader configuration, used languages, etc., is based on a current computer state and several proposals depend on other ones. E.g., automatic software selection depends on the fact which type of filesystem is used in partitioner, bootloader can be installed into selected partition, language selection influences installed localizations.
The Current Behavior is a Bit Buggy
If you have the whole disk occupied with some non-Linux system (MacOS), partitioner might refuse to shrink the current partitions to make enough room for Linux partitions. Additionally, ppc bootloader requires some special Apple partition (currently 0x102 Apple_HFS type) that doesn't exist and refuses to be installed / is not proposed. Even if partitioning is can be changed manually, it's impossible to persuade bootloader to use the newly proposed partition. This has been reported as [bug #343670].
Bug Workaround
There are two possibilities how to workaround this bug:
- Boot your Mac mini to the previous system and use some tool that is able to shrink the current system to make some free space.
- Boot the installation DVD and remove the whole partition with the old system.
Booting from the Installation DVD
Just turn on your Mac mini, insert the openSUSE DVD and hold the c key on your keyboard (attached to your Mac mini, of course :)) Mac mini system loader will boot from the CD/DVD drive. Alternatively hold the alt key to get into a graphical system loader to choose from all available boot-sources.
How to Remove the Old-System Partition
Boot from the installation DVD, type rescue and press Enter to boot the openSUSE 10.3 manual rescue mode.
During booting the rescue system, you will be asked to select a keyboard by selecting from offered ones. Option 6 is for en_US.
Login as root without any password.
To edit the partitioning table use pdisk binary.
- pdisk --list lists all partitions on all available disks and other local media.
- pdisk /dev/hda enters an interactive mode with preselected /dev/hda disk to edit the partition table.
- p in pdisk lists the current partition table.
- d deletes the current partition, partition number to delete needs to be entered. WARNING: Do not delete the first 'Apple' partition!
- w writes the new partition table to disk (needs to be confirmed with y).
- q quits pdisk.
Then reboot the rescue system with /sbin/reboot.
First Stage Installation
Starting the Installation
Boot from the installation DVD (turn on your Mac mini, insert the openSUSE DVD and hold the c key on your keyboard to boot from the CD/DVD drive). When a yaboot menu appears, type install and press Enter.
Installation system boots and runs YaST - the installation and configuration tool. Graphic installation program uses framebuffer resolution 1280x1024@16bit.
Initial Selections
At first, you have to select localization that will be used during the installation, then you have better validate your media in a Media Check dialog.
Choose New Installation in the Installation Mode dialog and select Online Repositories check-box if you want to install some openSUSE software from online repositories during the installation.
When installation loads the installation software repository from DVD, the drive makes very strange noises as it was a bit ill and it's quite slow, however it always succeeds at the end.
Then, you are asked whether you want to configure network. Tested Automatic Address Setup (via DHCP) works nicely. Then the list of available repositories is downloaded and repositories offered to be used.
Installation Proposal
Partitioning and other parts are proposed automatically because we have some free space available on the disk/ See the Pre-Installation part above.
The proposed installation proposal works and bootloader is able to use it, however I had decided to change it.
Click on the Partitioning headline to change to current proposal. Make sure you choose the Base Partition Setup on This Proposal option.
This is how partitioner proposed the partitioning.
- /dev/hda2, type Apple_HFS mustn't be removed because the ppc bootloader will be installed into it.
- /dev/hda3, type swap - seems to be too big, 1 GB should be enough
- /dev/hda4, type Ext3 - might be too big (depends on how the computer is used), 15 GB should be enough
- /dev/hda5, type Ext3 - the rest is reserved for /home
WARNING: When editing the proposed partitioning, do not remove the Apple_HFS partition even if you want to recreate is smaller or bigger, bootloader would be unable to install into it. Change the partition size instead. Anyway, you can still always reset the whole proposal.
Pressing the Accept button and confirming it by the Install button starts installation to repartition your disk and install all requested software.
After all the software is installed, installation program writes network and languages settings and the ppc bootloader (and many other settings). At the end, computer reboots to the just installed system.
Second Stage Installation
Installation boots automatically via yaboot to the second stage installation where you can change some system settings, run online update, create system users, etc.
I've left all the proposed values intact and kept pressing Next button when applicable. Network configuration went smooth as well as registration and adding the online update repository. Mac mini survived installing both online-update sets (online update of online-updater followed by application restart and the rest of online updates including Kernel update that made Mac to reboot).
Second stage installation followed (after some other steps) to the hardware configuration dialog where all the hardware was correctly recognized. The only problem was that I haven't found any driver for the graphics card so it still used framebuffer.
After finishing the installation, system boots to the graphical login.
Finally, we have openSUSE 10.3 installed on Mac mini (ppc).
Some More Software/Hardware Details
Inspired by Installation_on_MacMini_Intel_(x86)...
dhcp16:~ # lspci 0000:00:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 AGP 0000:00:10.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200] (rev 01) 0001:10:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 PCI 0001:10:17.0 Class Class ff00: Apple Computer Inc. KeyLargo/Intrepid Mac I/O 0001:10:18.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB 0001:10:19.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB 0001:10:1a.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB 0001:10:1b.0 USB Controller: NEC Corporation USB (rev 43) 0001:10:1b.1 USB Controller: NEC Corporation USB (rev 43) 0001:10:1b.2 USB Controller: NEC Corporation USB 2.0 (rev 04) 0002:20:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 Internal PCI 0002:20:0d.0 Class Class ff00: Apple Computer Inc. UniNorth/Intrepid ATA/100 0002:20:0e.0 FireWire (IEEE 1394): Apple Computer Inc. UniNorth 2 FireWire (rev 81) 0002:20:0f.0 Ethernet controller: Apple Computer Inc. UniNorth 2 GMAC (Sun GEM) (rev 80)
dhcp16:~ # lsmod
Module Size Used by
binfmt_misc 13160 1
joydev 12480 0
sg 33548 0
st 42364 0
sd_mod 32624 0
sr_mod 20228 0
scsi_mod 175080 4 sg,st,sd_mod,sr_mod
ip6t_LOG 7168 0
nf_conntrack_ipv6 22544 0
xt_pkttype 1856 0
ipt_LOG 6944 0
xt_limit 2752 0
snd_pcm_oss 62400 0
snd_mixer_oss 21248 1 snd_pcm_oss
snd_seq 68320 0
snd_seq_device 9772 1 snd_seq
ip6t_REJECT 6304 0
xt_tcpudp 3296 0
ipt_REJECT 5088 0
xt_state 2592 0
iptable_mangle 2944 0
iptable_nat 8196 0
nf_nat 19698 1 iptable_nat
iptable_filter 3104 0
ip6table_mangle 2784 0
nf_conntrack_ipv4 13096 2 iptable_nat
nf_conntrack 71792 5 nf_conntrack_ipv6,xt_state,iptable_nat,nf_nat,nf_conntrack_ipv4
nfnetlink 7096 4 nf_conntrack_ipv6,nf_nat,nf_conntrack_ipv4,nf_conntrack
ip_tables 13800 3 iptable_mangle,iptable_nat,iptable_filter
ip6table_filter 2848 0
ip6_tables 14856 3 ip6t_LOG,ip6table_mangle,ip6table_filter
x_tables 17252 11 ip6t_LOG,xt_pkttype,ipt_LOG,xt_limit,ip6t_REJECT,xt_tcpudp,ipt_REJECT,
xt_state,iptable_nat,ip_tables,ip6_tables
ipv6 306988 25 nf_conntrack_ipv6,ip6t_REJECT,ip6table_mangle
apparmor 48876 0
loop 22404 0
dm_mod 66176 0
snd_aoa_codec_toonie 3332 2
snd_aoa_fabric_layout 13800 1
snd_aoa 20672 2 snd_aoa_codec_toonie,snd_aoa_fabric_layout
snd_aoa_i2sbus 24452 1
snd_pcm 100644 2 snd_pcm_oss,snd_aoa_i2sbus
snd_timer 28068 2 snd_seq,snd_pcm
snd_page_alloc 12456 1 snd_pcm
snd 74516 12 snd_pcm_oss,snd_mixer_oss,snd_seq,snd_seq_device,snd_aoa_codec_toonie,
snd_aoa_fabric_layout,snd_aoa,snd_aoa_i2sbus,snd_pcm,snd_timer
ohci1394 41520 0
soundcore 8868 1 snd
snd_aoa_soundbus 7844 2 snd_aoa_fabric_layout,snd_aoa_i2sbus
ide_cd 47364 0
ieee1394 106688 1 ohci1394
cdrom 43164 2 sr_mod,ide_cd
sungem 35268 0
sungem_phy 12896 1 sungem
uninorth_agp 11692 1
agpgart 40220 1 uninorth_agp
ehci_hcd 37772 0









