slackware-current/isolinux
Patrick J Volkerding 0ff3062f77 Wed Feb 2 22:22:22 UTC 2022
Slackware 15.0 x86_64 stable is released!

Another too-long development cycle is behind us after we bit off more than
we could chew and then had to shine it up to a high-gloss finish. Hopefully
we've managed to get the tricky parts out of the way so that we'll be able
to see a 15.1 incremental update after a far shorter development cycle.
Certainly the development infrastructure has been streamlined here and things
should be easier moving forward. My thanks to the rest of the Slackware team,
all the upstream developers who have given us such great building materials,
the folks on LinuxQuestions.org and elsewhere for all the help with testing,
great suggestions, and countless bug fixes, and to everyone who helped
support this project so that the release could finally see the light of day.
I couldn't have done any of this without your help, and I'm grateful to all
of you. Thanks!

For more information, check out the RELEASE_NOTES, CHANGES_AND_HINTS.TXT,
and ANNOUNCE.15.0.

Have fun!  :-)
2022-02-04 00:29:06 +01:00
..
sbootmgr Slackware 13.0 2018-05-31 22:41:17 +02:00
f2.txt Slackware 14.1 2018-05-31 22:57:36 +02:00
iso.sort Slackware 13.0 2018-05-31 22:41:17 +02:00
isolinux.cfg Slackware 14.1 2018-05-31 22:57:36 +02:00
message.txt Wed Feb 2 04:17:39 UTC 2022 2022-02-02 08:59:53 +01:00
README.TXT Wed Feb 2 22:22:22 UTC 2022 2022-02-04 00:29:06 +01:00
README_SPLIT.TXT Slackware 13.0 2018-05-31 22:41:17 +02:00
setpkg Mon Dec 7 21:49:58 UTC 2020 2020-12-08 08:59:51 +01:00

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.