Imported Upstream version 1.1.11
[platform/upstream/cdrkit.git] / doc / genisoimage / README.hfs_boot
1 Making HFS bootable CDs
2
3 *******
4 The HFS boot code in genisoimage/mkhybrid is now very out of date ...
5 it does not support booting from IDE CDROMS, and probably won't work on
6 "newer" Macs.
7
8 The HFS boot code will be updated at some point in the future
9 *******
10
11 It *may* be possible to make the hybrid CD bootable on a Mac. As I do not
12 have easy access to a CD-R (nor a Mac) at the moment, I have not actually
13 created and written a bootable hybrid to CD - however, I *think* it will work!
14
15 A bootable HFS CD requires an Apple CD-ROM (or compatible) driver, a bootable
16 HFS partition and the necessary System, Finder, etc. files.
17
18 A 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
20 then be used with the -boot-hfs-file option. See below for usage.
21
22 The HFS partition (i.e. the hybrid disk in our case) must contain a
23 suitable System Folder, again from another CD-ROM or disk.
24
25 For a partition to be bootable, it must have it's "boot block" set. The boot
26 block is in the first two blocks of a partition. For a non-bootable partition
27 the boot block is full of zeros. Normally, when a System file is copied to
28 partition on a Mac disk, the boot block is filled with a number of required
29 settings - unfortunately I don't know the full spec for the boot block ...
30
31 I'm guessing that this will work OK ...
32
33 Therefore, the utility "apple_driver" also extracts the boot block from the
34 first HFS partition it finds on the given CD-ROM and this is used for the
35 HFS partition created by mkhybrid.
36
37 To extract the driver and boot block:
38
39 apple_driver CDROM_device > HFS_driver_file
40
41 where CDROM_device is the device name used by the CD-ROM (e.g. /dev/cdrom)
42
43 The 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
52 The Perl script "hdisk.pl" can be used to give a listing of what's on
53 a Mac CD. hdisk.pl is part of hfsutils.
54
55 A hybrid CD is made using the option "-boot-hfs-file" e.g.
56
57 mkhybrid -boot-hfs-file HFS_driver_file -o hfs.raw src_files/
58
59 The -boot-hfs-file implies the -hfs option.
60
61 PLEASE NOTE:
62
63 By using a driver from an Apple CD and copying Apple software to your CD,
64 you become liable to obey Apple Computer, Inc. Software License Agreements.
65
66 The driver code (both extracting the driver and creating partitions etc.
67 is 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
71 Any comments, bug reports/fixes to the address below
72
73 James Pearson (j.pearson@ge.ucl.ac.uk)
74 19-Jul-2000
75
76 Edited for program name change by Eduard Bloch, 2006