[7ee33b91] | 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> |
---|