summaryrefslogtreecommitdiffstats
path: root/isolinux/README.TXT
blob: 2e1357db29fbb133cfff3f787e60c5d5dff29e36 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175

HOW TO MAKE A BOOTABLE SLACKWARE DVD ISO IMAGE

To make a bootable Slackware install DVD, get into the top level Slackware
directory (The one with ChangeLog.txt in it) and issue a command like this
to build the ISO image in /tmp:

xorriso -as mkisofs \
  -iso-level 3 \
  -full-iso9660-filenames \
  -R -J -A "Slackware Install" \
  -hide-rr-moved \
  -v -d -N \
  -eltorito-boot isolinux/isolinux.bin \
  -eltorito-catalog isolinux/boot.cat \
  -no-emul-boot -boot-load-size 4 -boot-info-table \
  -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
  -eltorito-alt-boot \
  -e isolinux/efiboot.img \
  -no-emul-boot -isohybrid-gpt-basdat \
  -m 'source' \
  -volid "SlackDVD" \
  -output /tmp/slackware-dvd.iso \
  .

On my system, here's the command I'd use to burn the resulting DVD ISO:

growisofs -speed=2 -dvd-compat -Z /dev/sr0=slackware-dvd.iso

If your burner is not /dev/sr0, replace the device with the one your
system uses.

I find discs burned at 2x are more reliable than ones burned at higher
speeds, but you may see completely different results depending on media
and burner type.  The -dvd-compat option is also used so that a complete
lead-out is written to the media for maximum compatibility.

To write the ISO image to a USB stick use a command such as this (replace
/dev/sdX with the device name for your USB stick):

dd if=/tmp/slackware-dvd.iso of=/dev/sdX bs=1M

Or, you can burn directly from the Slackware tree to a DVD(-/+)R(W):

xorriso -as mkisofs \
  -iso-level 3 \
  -full-iso9660-filenames \
  -R -J -A "Slackware Install" \
  -hide-rr-moved \
  -v -d -N \
  -eltorito-boot isolinux/isolinux.bin \
  -eltorito-catalog isolinux/boot.cat \
  -no-emul-boot -boot-load-size 4 -boot-info-table \
  -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
  -eltorito-alt-boot \
  -e isolinux/efiboot.img \
  -no-emul-boot -isohybrid-gpt-basdat \
  -m 'source' \
  -volid "SlackDVD" \
  -output - \
  . \
  | xorrecord -v dev=/dev/sr0 speed=2 fs=8m blank=as_needed -

Note that the source code directory will not be included on these DVD
images in order to keep them under the limit for a single-layer disc.
If you are using double layer DVD media and want to burn the complete
tree to your disc, remove the -m option line from the command.


HOW TO MAKE A SET OF BOOTABLE / INSTALLABLE CDROMS

This is a little bit more tricky.  Step one will be to split the tree into
portions that will fit on the media that you plan to burn to.  The first
disc must contain these directories:

/isolinux/
/kernels/
/slackware/

You'll need to make other /slackware/ directories on discs 2, 3, and maybe
more, moving some of the disc series from disc 1 to other discs to make
things fit.  It is also possible to split a series to make more efficient
use of the CD media.  See the README_SPLIT.TXT example and instructional
file in this directory for details about how to set that up.

The rest of the splitting up of discs is left as an exercise for the reader.

To make the first (bootable) ISO, a command like this is used within the
directory where the disc tree is.  Let's say the directory is 'd1' and you
wish to output the ISO image in /tmp:

cd d1
xorriso -as mkisofs \
  -iso-level 3 \
  -full-iso9660-filenames \
  -R -J -A "Slackware Install 1" \
  -hide-rr-moved \
  -v -d -N \
  -eltorito-boot isolinux/isolinux.bin \
  -eltorito-catalog isolinux/boot.cat \
  -no-emul-boot -boot-load-size 4 -boot-info-table \
  -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
  -eltorito-alt-boot \
  -e isolinux/efiboot.img \
  -no-emul-boot -isohybrid-gpt-basdat \
  -volid "SlackCD1" \
  -output /tmp/slackware-install-1.iso \
  .

Making a non-bootable disc is similar.  Just omit a few options:

cd d2
xorriso -as mkisofs \
  -iso-level 3 \
  -full-iso9660-filenames \
  -R -J -A "Slackware Install 2" \
  -hide-rr-moved \
  -v -d -N \
  -volid "SlackCD2" \
  -output /tmp/slackware-install-2.iso \
  .

To burn an ISO image to CD-R(W), the cdrecord command is used.  For complete
instructions, see the man page ('man cdrecord').  On my own machine where
the burner is /dev/cdrw, disc one would be burned with the following command:

cat /tmp/slackware-install-1.iso | cdrecord -v dev=/dev/cdrw speed=10 fs=8m -tao -eject -data -

As before, it's possible to burn from the disc trees without the intermediate
step of creating iso images by piping the output directly to cdrecord:

cd d1
xorriso -as mkisofs \
  -iso-level 3 \
  -full-iso9660-filenames \
  -R -J -A "Slackware Install 1" \
  -hide-rr-moved \
  -v -d -N \
  -eltorito-boot isolinux/isolinux.bin \
  -eltorito-catalog isolinux/boot.cat \
  -no-emul-boot -boot-load-size 4 -boot-info-table \
  -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
  -eltorito-alt-boot \
  -e isolinux/efiboot.img \
  -no-emul-boot -isohybrid-gpt-basdat \
  -volid "SlackCD1" \
  -output - \
  . | cdrecord -v dev=/dev/cdrw speed=10 fs=8m -tao -eject -data -


-----

NOTES:
  The isolinux/isolinux.boot file will be created on the disc;  it's not
  supposed to be in the source tree.  I mention this only because so many
  people report the "missing" isolinux/isolinux.boot file as a bug.

  The "-boot-load-size 4" is actually not large enough to hold the isolinux
  boot loader, but many BIOS implementations are broken and will *only*
  accept "4".  Evidently many newer, more correct BIOS implementations
  expect this and will continue to load the boot loader file until the
  EOF is reached.  Anyway, previous uses of larger values were correct, but
  led to the Slackware ISO not booting on some machines which contained
  broken BIOS implementations.  It is my hope that by using the incorrect
  value of 4 sectors that the ISO will boot on most (if not all) machines
  that are supposed to be able to boot from an ISO image.

  I don't know how to create a bootable Slackware ISO on operating systems
  other than Linux, but it should be easy to burn the Linux-created ISO with
  most CD burning software on any operating system.

Enjoy!

 -P.