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> |
---|