Some people try to hate Microsoft and pretend their operating systems and software don't exist. If you're like me, you've still got at least one machine with Windows still on it, whether you paid for Windows or pirated it from someone else.
Problem
I spend most of my time in Windows for work. I downloaded OpenBSD 3.2-beta, but I didn't want to make a boot floppy disk. I have plenty of CD-Rs and 3 burners, all attached to Windows machines. How am I going to make a bootable OpenBSD CD so I can have something to play with until I can order the official 3.2 release CD?
Solution
Believe it or not, making a bootable ISO in Windows is exactly the same as in Linux or BSD, thanks to official Windows ports of mkisofs. Just grab a copy of cdrtools from the official cdrecord website or the download directory on this server..
I extracted the cdrtools files to c:\cdrtools.
Then I moved the directories I wanted to burn to CD to c:\openbsd creating a structure like the following:
c:\openbsd
3.2/
ftplist
ports.tar.gz
I386/
base32.tgz
bsd
bsd.rd
cdrom32.fs
CKSUM
comp32.tgz
etc32.tgz
floppy32.fs
...
Then here's what you need to do to make the ISO file:
Start menu > Run...
(run `command` for Win95\98\ME or `cmd` for NT\2k\XP)
cd c:\
cd openbsd
c:\cdrtools\mkisofs
-v
-r
-T
-l
-L
-J
-V "OpenBSD3.2-beta"
-b 3.2/I386/cdrom32.fs
-c boot.catalog
-o c:/OpenBSD3.2-beta.iso
-A "OpenBSD 3.2-beta Install"
.
The period at the end is necessary.
When the ISO is done, I use Roxio Easy CD Creator 5 to burn it. If you don't have it, cdrecord is in the cdrtools distribution. I haven't tried it, but mkisofs works, so cdrecord probably does too.
Another Example
For linux, I like Slackware. The process is almost the same, except the boot image for slackware has special needs (see README in isolinux). I downloaded Slackware 9.0 beta from slackware-current and wanted a bootable CD. Here's my directory layout:
c:\slack
bootdisks/
adaptec.s
bare.i
ibmmca.s
jfs.s
...
BOOTING.TXT
Changelog.txt
CHECKSUMS
CHECKSUMS.md5
COPYING
COPYRIGHT.TXT
CRYPTO_NOTICE.TXT
CURRENT.WARNING
FAQ.TXT
FILELIST.TXT
isolinux/
f2.txt
f3.txt
initrd.img
iso.sort
...
kernels/
adaptec.s/
bare.i/
ibmmca.s/
...
PACKAGES.TXT
PRERELEASE_NOTES
README81.TXT
rootdisks/
install.1
install.2
install.3
...
slackware/
a/
ap/
d/
e/
f/
gnome/
k/
l/
n/
t/
tcl/
x/
xap/
y/
CHECKSUMS
CHECKSUMS.md5
FILE_LIST
MANIFEST.gz
README.TXT
Slackware-HOWTO
SPEAK_INSTALL.TXT
SPEAKUP_DOCS.TXT
UPGRADE.TXT
I didn't list kde and kdei in the slackware directory on purpose. You can't fit all of Slackware on one CD, so I removed KDE since I prefer Gnome.
Start menu > Run...
(run `command` for Win95\98\ME or `cmd` for NT\2k\XP)
cd c:\
cd slack
c:\cdrtools\mkisofs
-R
-J
-v
-T
-d
-N
-l
-L
-o c:/slackware9.0.iso
-V "Slackware Install"
-hide-rr-moved
-no-emul-boot
-boot-load-size 32
-boot-info-table
-sort isolinux/iso.sort
-b isolinux/isolinux.bin
-c isolinux.isolinux.boot
-A "Slackware Install CD"
.
or if you were to burn Harry Potter, you might do this:
K:\audio\audiobooks\J. K. Rowling - Harry Potter And The Half-Blood Prince>c:\cd
rtools\mkisofs -R -J -v -T -d -N -l -L -o c:/hphbp.iso -V "Half-Blood Prince" -h
ide-rr-moved -A "J. K. Rowling - Harry Potter And The Half-Blood Prince" .
Warning: creating filesystem that does not conform to ISO-9660.
mkisofs 1.15a12 (i586-pc-cygwin)
Scanning .
1.96% done, estimate finish Fri Dec 2 21:45:58 2005
3.91% done, estimate finish Fri Dec 2 21:45:32 2005
5.87% done, estimate finish Fri Dec 2 21:45:41 2005
7.83% done, estimate finish Fri Dec 2 21:45:45 2005
9.78% done, estimate finish Fri Dec 2 21:45:47 2005
11.74% done, estimate finish Fri Dec 2 21:45:41 2005
13.69% done, estimate finish Fri Dec 2 21:45:43 2005
15.65% done, estimate finish Fri Dec 2 21:45:38 2005
17.61% done, estimate finish Fri Dec 2 21:45:41 2005
19.57% done, estimate finish Fri Dec 2 21:45:42 2005
21.52% done, estimate finish Fri Dec 2 21:45:39 2005
23.48% done, estimate finish Fri Dec 2 21:45:36 2005
25.43% done, estimate finish Fri Dec 2 21:45:38 2005
27.39% done, estimate finish Fri Dec 2 21:45:36 2005
29.35% done, estimate finish Fri Dec 2 21:45:37 2005
31.30% done, estimate finish Fri Dec 2 21:45:38 2005
33.26% done, estimate finish Fri Dec 2 21:45:40 2005
35.21% done, estimate finish Fri Dec 2 21:45:38 2005
37.17% done, estimate finish Fri Dec 2 21:45:36 2005
39.12% done, estimate finish Fri Dec 2 21:45:37 2005
41.08% done, estimate finish Fri Dec 2 21:45:36 2005
43.03% done, estimate finish Fri Dec 2 21:45:37 2005
44.99% done, estimate finish Fri Dec 2 21:45:35 2005
46.95% done, estimate finish Fri Dec 2 21:45:36 2005
48.90% done, estimate finish Fri Dec 2 21:45:35 2005
50.86% done, estimate finish Fri Dec 2 21:45:36 2005
52.81% done, estimate finish Fri Dec 2 21:45:35 2005
54.78% done, estimate finish Fri Dec 2 21:45:36 2005
56.73% done, estimate finish Fri Dec 2 21:45:35 2005
58.68% done, estimate finish Fri Dec 2 21:45:35 2005
60.64% done, estimate finish Fri Dec 2 21:45:35 2005
62.60% done, estimate finish Fri Dec 2 21:45:35 2005
64.55% done, estimate finish Fri Dec 2 21:45:34 2005
66.51% done, estimate finish Fri Dec 2 21:45:35 2005
68.47% done, estimate finish Fri Dec 2 21:45:34 2005
70.42% done, estimate finish Fri Dec 2 21:45:35 2005
72.38% done, estimate finish Fri Dec 2 21:45:34 2005
74.33% done, estimate finish Fri Dec 2 21:45:35 2005
76.29% done, estimate finish Fri Dec 2 21:45:34 2005
78.25% done, estimate finish Fri Dec 2 21:45:35 2005
80.20% done, estimate finish Fri Dec 2 21:45:35 2005
82.16% done, estimate finish Fri Dec 2 21:45:34 2005
84.11% done, estimate finish Fri Dec 2 21:45:35 2005
86.07% done, estimate finish Fri Dec 2 21:45:34 2005
88.03% done, estimate finish Fri Dec 2 21:45:35 2005
89.98% done, estimate finish Fri Dec 2 21:45:34 2005
91.94% done, estimate finish Fri Dec 2 21:45:34 2005
93.90% done, estimate finish Fri Dec 2 21:45:34 2005
95.85% done, estimate finish Fri Dec 2 21:45:35 2005
97.80% done, estimate finish Fri Dec 2 21:45:34 2005
99.76% done, estimate finish Fri Dec 2 21:45:35 2005
Total translation table size: 18022
Total rockridge attributes bytes: 24032
Total directory bytes: 38008
Path table size(bytes): 10
Max brk space used 2e000
255616 extents written (499 Mb)