1 | <?xml version="1.0" encoding="ISO-8859-1"?>
|
---|
2 | <!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
---|
3 | "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
|
---|
4 | <!ENTITY % general-entities SYSTEM "../../general.ent">
|
---|
5 | %general-entities;
|
---|
6 | ]>
|
---|
7 |
|
---|
8 | <appendix id="appendixe" xreflabel="Appendix E">
|
---|
9 | <?dbhtml dir="appendices"?>
|
---|
10 | <?dbhtml filename="macmiscellany.html"?>
|
---|
11 |
|
---|
12 | <title>Open Firmware and Mac issues.</title>
|
---|
13 |
|
---|
14 | <para>This appendix documents some of the features of ppc macintoshes,
|
---|
15 | and in particular the requirements of coexisting with Mac OS's (OSX or
|
---|
16 | the old OS9). It is only relevant to NewWorld hardware.</para>
|
---|
17 |
|
---|
18 | <variablelist>
|
---|
19 |
|
---|
20 | <varlistentry>
|
---|
21 | <term><emphasis role="bold">Open Firmware and blessed partitions</emphasis></term>
|
---|
22 | <listitem>
|
---|
23 | <para>The Open Firmware (OF) is the code in ROM or nvram which controls
|
---|
24 | how the machine boots. If booting automatically, it will boot from the
|
---|
25 | first valid blessed partition it finds (this is a simplification,
|
---|
26 | but it is adequate for normal purposes).</para>
|
---|
27 |
|
---|
28 | <para>It can only read apple filesystems (hfs, hfs+, or hfsx depending
|
---|
29 | on the version of the firmware). For disks under linux, the blessing
|
---|
30 | is done by ybin when it installs yaboot (the loader) and yaboot.conf.</para>
|
---|
31 |
|
---|
32 | <para>Mac OS's have a tendency to look at other hfs{,+,x} filesystems
|
---|
33 | on the disk, and unbless them if they do not match their expectations.
|
---|
34 | Unblessing makes them unbootable. Fortunately, a filesystem of type
|
---|
35 | <literal>Apple_Bootstrap</literal> can be read as hfs by the OF, but will
|
---|
36 | be ignored by Mac OS.</para>
|
---|
37 | </listitem>
|
---|
38 | </varlistentry>
|
---|
39 |
|
---|
40 | <varlistentry>
|
---|
41 | <term><emphasis role="bold">Partitioning</emphasis></term>
|
---|
42 | <listitem>
|
---|
43 | <para>Macintoshes use their own partition format - this means that other
|
---|
44 | machines are unlikely to be able to read or write to macintosh partitions
|
---|
45 | (in particular, fdisk does not understand them). The format allows a large
|
---|
46 | number of individual partitions, and the native Mac tools have a tendency
|
---|
47 | to insert small "filler" partitions between the real partitions. Under
|
---|
48 | linux, using more than 15 partitions can be problematic (shortage of device
|
---|
49 | nodes), so the normal approach is to use the Mac tools to create an area
|
---|
50 | of freespace at the <emphasis>front</emphasis> of the disk, then put the
|
---|
51 | Mac OS partition(s) after it and (re-)install the Mac OS. The
|
---|
52 | freespace can then be partitioned using <command>parted</command> or the
|
---|
53 | older <command>mac-fdisk</command>.</para>
|
---|
54 |
|
---|
55 | <warning>
|
---|
56 | <para>The Macintosh resizing and partitioning tools are destructive and will
|
---|
57 | delete all data when a partition is resized.</para>
|
---|
58 | </warning>
|
---|
59 |
|
---|
60 | <para>For the Linux partitions, you will need a bootstrap partition - this
|
---|
61 | can normally be a mere 800KB in size (the smallest hfs partition available)
|
---|
62 | although the Fedora installer has been known to insist on 800MB. This has
|
---|
63 | to be in front of the Mac OS partition. The bootstrap is
|
---|
64 | <emphasis>never</emphasis> mounted as a regular partition and should not
|
---|
65 | be confused with a <literal>/boot</literal> partition. Other partitions
|
---|
66 | are as normal (at least one rootfs, perhaps swap, perhaps others).</para>
|
---|
67 |
|
---|
68 | <para>If you follow this advice, partition 1 will be the apple partition
|
---|
69 | map, partition 2 will be the bootstrap at the start of the disk, the
|
---|
70 | linux partitions will follow, and then the mac partition(s) - under OSX
|
---|
71 | the first mac partition will be number 3, under OS9 it would have a higher
|
---|
72 | number.</para>
|
---|
73 | </listitem>
|
---|
74 | </varlistentry>
|
---|
75 |
|
---|
76 | <varlistentry>
|
---|
77 | <term><emphasis role="bold">OSX or OF upgrades</emphasis></term>
|
---|
78 | <listitem>
|
---|
79 | <para>If the machine is dual-booted with OSX, the mac kernel or the OF
|
---|
80 | will probably be upgraded at some point. This appears to either unbless
|
---|
81 | the bootstrap, or else just point the OF boot device to the mac partition
|
---|
82 | - so, the linux system will no longer be bootable.</para>
|
---|
83 |
|
---|
84 | <para>Therefore, you will need to know which partition contains the bootstrap
|
---|
85 | so that you can boot it from OF (on an apple keyboard, hold down
|
---|
86 | option-command-o-f (that is, alt-apple-o-f) while booting then enter a
|
---|
87 | command like:</para>
|
---|
88 |
|
---|
89 | <screen><userinput role="nodump">boot hd:2,yaboot</userinput></screen>
|
---|
90 |
|
---|
91 | <para>This will allow you to select a linux boot, and from there you
|
---|
92 | will have to rerun <command>ybin</command>.</para>
|
---|
93 |
|
---|
94 | <para>The "OS chooser" menu that yaboot typically loads is stored in the
|
---|
95 | OF and will not be available after a Mac kernel or firmware upgrade until
|
---|
96 | <command>ybin</command> has been rerun.</para>
|
---|
97 | </listitem>
|
---|
98 | </varlistentry>
|
---|
99 |
|
---|
100 | <varlistentry>
|
---|
101 | <term><emphasis role="bold">Yaboot's requirements</emphasis></term>
|
---|
102 | <listitem>
|
---|
103 | <para>Yaboot is the boot loader for linux, sometimes referred to as
|
---|
104 | the second stage loader. It reads the yaboot.conf file on the bootstrap
|
---|
105 | partition to find which linux system(s) should be available, and
|
---|
106 | attempts to load the required kernel.</para>
|
---|
107 |
|
---|
108 | <para>The bootstrap man page warns that the path to the kernel should
|
---|
109 | contain no more than one directory for reliability.</para>
|
---|
110 |
|
---|
111 | <para>Yaboot has to be able to understand the filesystem, so that it
|
---|
112 | can find the kernel. It understands hfs (not useful for linux, it is
|
---|
113 | not case-sensitive), ext2 (and therefore it can read ext3), reiser3,
|
---|
114 | and xfs. If you want to use a different type of filesystem for '/'
|
---|
115 | you will have to create a separate boot partition with a supported
|
---|
116 | filesystem, and use that to hold the kernels.</para>
|
---|
117 |
|
---|
118 | </listitem>
|
---|
119 | </varlistentry>
|
---|
120 |
|
---|
121 | <varlistentry>
|
---|
122 | <term><emphasis role="bold">Requirements if starting from OSX</emphasis></term>
|
---|
123 | <listitem>
|
---|
124 | <para>Older versions of OSX (panther, leopard) can write to ext2
|
---|
125 | filesystems using version 1.3 of ext2fsx. The upgrade to tiger broke
|
---|
126 | this, and version 1.4 of ext2fsx only supports reading. Users of
|
---|
127 | current OSX will therefore have to find some other way of creating
|
---|
128 | a suitable filesystem and populating it, such as a Live CD or rescue CD.
|
---|
129 | </para>
|
---|
130 | </listitem>
|
---|
131 | </varlistentry>
|
---|
132 |
|
---|
133 | </variablelist>
|
---|
134 |
|
---|
135 | </appendix>
|
---|