1Making HFS bootable CDs
2
3*******
4The HFS boot code in mkisofs/mkhybrid is now very out of date ...
5it does not support booting from IDE CDROMS, and probably won't work on
6"newer" Macs.
7
8The HFS boot code will be updated at some point in the future
9*******
10
11It *may* be possible to make the hybrid CD bootable on a Mac. As I do not
12have easy access to a CD-R (nor a Mac) at the moment, I have not actually
13created and written a bootable hybrid to CD - however, I *think* it will work!
14
15A bootable HFS CD requires an Apple CD-ROM (or compatible) driver, a bootable
16HFS partition and the necessary System, Finder, etc. files.
17
18A driver can be obtained from any other Mac bootable CD-ROM using the
19"apple_driver" utility (to make, type "make apple_driver"). This file can
20then be used with the -boot-hfs-file option. See below for usage.
21
22The HFS partition (i.e. the hybrid disk in our case) must contain a
23suitable System Folder, again from another CD-ROM or disk.
24
25For a partition to be bootable, it must have it's "boot block" set. The boot
26block is in the first two blocks of a partition. For a non-bootable partition
27the boot block is full of zeros. Normally, when a System file is copied to
28partition on a Mac disk, the boot block is filled with a number of required
29settings - unfortunately I don't know the full spec for the boot block ...
30
31I'm guessing that this will work OK ...
32
33Therefore, the utility "apple_driver" also extracts the boot block from the
34first HFS partition it finds on the given CD-ROM and this is used for the
35HFS partition created by mkhybrid.
36
37To extract the driver and boot block:
38
39apple_driver CDROM_device > HFS_driver_file
40
41where CDROM_device is the device name used by the CD-ROM (e.g. /dev/cdrom)
42
43The format of the HFS driver file is:
44
45	HFS CD Label Block                              512 bytes
46	Driver Partition Map (for 2048 byte blocks)     512 bytes
47	Driver Partition Map (for 512 byte blocks)      512 bytes
48	Empty                                           512 bytes
49	Driver Partition                                N x 2048 bytes
50	HFS Partition Boot Block                        1024 bytes
51
52The Perl script "hdisk.pl" can be used to give a listing of what's on
53a Mac CD. hdisk.pl is part of hfsutils.
54
55A hybrid CD is made using the option "-boot-hfs-file" e.g.
56
57mkhybrid -boot-hfs-file HFS_driver_file -o hfs.raw src_files/
58
59The -boot-hfs-file implies the -hfs option.
60
61PLEASE NOTE:
62
63By using a driver from an Apple CD and copying Apple software to your CD,
64you become liable to obey Apple Computer, Inc. Software License Agreements.
65
66The driver code (both extracting the driver and creating partitions etc.
67is based on code from "mkisofs 1.05 PLUS" by Andy Polyakov
68<appro@fy.chalmers.se> (see http://fy.chalmers.se/~appro/mkisofs_plus.html)
69
70
71Any comments, bug reports/fixes to the address below
72
73James Pearson (j.pearson@ge.ucl.ac.uk)
7419-Jul-2000
75