diff options
Diffstat (limited to 'isolinux')
-rw-r--r-- | isolinux/README.TXT | 132 | ||||
-rw-r--r-- | isolinux/README_SPLIT.TXT | 21 | ||||
-rw-r--r-- | isolinux/f2.txt | 16 | ||||
-rw-r--r-- | isolinux/iso.sort | 3 | ||||
-rw-r--r-- | isolinux/isolinux.boot | bin | 0 -> 2048 bytes | |||
-rw-r--r-- | isolinux/isolinux.cfg | 12 | ||||
-rw-r--r-- | isolinux/message.txt | 16 | ||||
-rw-r--r-- | isolinux/sbootmgr/RAWRITE12.DOC | 86 | ||||
-rw-r--r-- | isolinux/sbootmgr/RAWRITENT.DOC | 176 | ||||
-rw-r--r-- | isolinux/sbootmgr/README.TXT | 29 | ||||
-rw-r--r-- | isolinux/setpkg | 48 |
11 files changed, 539 insertions, 0 deletions
diff --git a/isolinux/README.TXT b/isolinux/README.TXT new file mode 100644 index 00000000..94f84489 --- /dev/null +++ b/isolinux/README.TXT @@ -0,0 +1,132 @@ +
+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:
+
+mkisofs -o /tmp/slackware-dvd.iso \
+ -R -J -A "Slackware Install" \
+ -hide-rr-moved \
+ -v -d -N \
+ -no-emul-boot -boot-load-size 4 -boot-info-table \
+ -sort isolinux/iso.sort \
+ -b isolinux/isolinux.bin \
+ -c isolinux/isolinux.boot \
+ -V "SlackDVD" .
+
+On my system, here's the command I'd use to burn the resulting DVD ISO:
+
+growisofs -speed=2 -dvd-compat -Z /dev/dvd=slackware-dvd.iso
+
+If your burner is not /dev/dvd, 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.
+
+Or, you can burn directly from the Slackware tree to a DVD(-/+)R(W):
+
+growisofs \
+ -Z /dev/dvd \
+ -R -J -A "Slackware Install" \
+ -hide-rr-moved \
+ -v -d -N \
+ -no-emul-boot -boot-load-size 4 -boot-info-table \
+ -sort isolinux/iso.sort \
+ -b isolinux/isolinux.bin \
+ -c isolinux/isolinux.boot \
+ -dvd-compat \
+ -V "SlackDVD" .
+
+
+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
+mkisofs -o /tmp/slackware-install-1.iso \
+ -R -J -A "Slackware Install 1" \
+ -hide-rr-moved \
+ -v -d -N \
+ -no-emul-boot -boot-load-size 4 -boot-info-table \
+ -sort isolinux/iso.sort \
+ -b isolinux/isolinux.bin \
+ -c isolinux/isolinux.boot \
+ -V "SlackCD1" .
+
+Making a non-bootable disc is similar. Just omit a few options:
+
+cd d2
+mkisofs -o /tmp/slackware-install-2.iso \
+ -R -J -A "Slackware Install 2" \
+ -hide-rr-moved \
+ -v -d -N \
+ -V "SlackCD2" .
+
+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 omitting the -o option to mkisofs and piping
+the output directly to cdrecord:
+
+cd d1
+mkisofs \
+ -R -J -A "Slackware Install 1" \
+ -hide-rr-moved \
+ -v -d -N \
+ -no-emul-boot -boot-load-size 4 -boot-info-table \
+ -sort isolinux/iso.sort \
+ -b isolinux/isolinux.bin \
+ -c isolinux/isolinux.boot \
+ -V "SlackCD1" . | 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.
+
diff --git a/isolinux/README_SPLIT.TXT b/isolinux/README_SPLIT.TXT new file mode 100644 index 00000000..3216957d --- /dev/null +++ b/isolinux/README_SPLIT.TXT @@ -0,0 +1,21 @@ +
+Hello,
+
+Thanks for noticing this README-encrypted file. :-)
+
+When found on a disc-media based Slackware distribution, this file indicates
+an incomplete software series that continues on the next disc.
+
+The installer will ask for the next disc and look for the rest of the
+packages there. If you are installing packages from the command line, look
+at the next disc to make certain that you install all the packages you need.
+
+For example, to split /slackware/kde across two discs, both discs will need
+to have /slackware/kde directories. The first one should contain a copy of
+this file. The second one should have the install.end file, the additional
+packages not in the first directory, and an extra copy of the tagfile file.
+
+Have fun!
+
+ -- The Management
+
diff --git a/isolinux/f2.txt b/isolinux/f2.txt new file mode 100644 index 00000000..1b79d8ee --- /dev/null +++ b/isolinux/f2.txt @@ -0,0 +1,16 @@ + + -+ Kernel Selection Help +- + +You'll need one kernel to get Linux started on your system so that you can +install it. The default kernel is huge.s, which requires at least a +Pentium Pro processor. There is also a "speakup.s" kernel, which supports +various speech synthesizers. + +*************************************************************************** +* Tip: If you have no idea which kernel to use, go with huge.s! * +*************************************************************************** + +To boot the chosen kernel put the name of the kernel and press enter. + +boot: huge.s "For example, boot the 'huge.s' kernel!" + diff --git a/isolinux/iso.sort b/isolinux/iso.sort new file mode 100644 index 00000000..ade31e70 --- /dev/null +++ b/isolinux/iso.sort @@ -0,0 +1,3 @@ +isolinux 100 +isolinux/isolinux.bin 200 +kernels 50 diff --git a/isolinux/isolinux.boot b/isolinux/isolinux.boot Binary files differnew file mode 100644 index 00000000..97f9401e --- /dev/null +++ b/isolinux/isolinux.boot diff --git a/isolinux/isolinux.cfg b/isolinux/isolinux.cfg new file mode 100644 index 00000000..ccca60d7 --- /dev/null +++ b/isolinux/isolinux.cfg @@ -0,0 +1,12 @@ +default huge.s +prompt 1 +timeout 1200 +display message.txt +F1 message.txt +F2 f2.txt +label huge.s + kernel /kernels/huge.s/bzImage + append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 rw SLACK_KERNEL=huge.s +label speakup.s + kernel /kernels/speakup.s/bzImage + append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 rw SLACK_KERNEL=speakup.s diff --git a/isolinux/message.txt b/isolinux/message.txt new file mode 100644 index 00000000..a28cd3a2 --- /dev/null +++ b/isolinux/message.txt @@ -0,0 +1,16 @@ + +Welcome to 09Slackware6407 version 13.0 (Linux kernel 2.6.29.6)! + +If you need to pass extra parameters to the kernel, enter them at the prompt +below after the name of the kernel to boot (huge.s etc). + +In a pinch, you can boot your system from here with a command like: + +boot: huge.s root=/dev/hda1 rdinit= ro + +In the example above, /dev/hda1 is the / Linux partition. + +This prompt is just for entering extra parameters. If you don't need to enter +any parameters, hit ENTER to boot the default kernel "huge.s" or press [F2] +for a listing of more kernel choices. + diff --git a/isolinux/sbootmgr/RAWRITE12.DOC b/isolinux/sbootmgr/RAWRITE12.DOC new file mode 100644 index 00000000..f4871d1f --- /dev/null +++ b/isolinux/sbootmgr/RAWRITE12.DOC @@ -0,0 +1,86 @@ +RaWrite 1.2 +----------- + +Purpose +------- + +Write a disk image file to a 360K floppy disk. + + +Equipment/Software Requirements +------------------------------- + +PC/XT/AT with a floppy disk drive capable of reading and writing a 360K +diskette. + +This program uses generic low-level BIOS diskette read/write functions. It +should be portable to nearly every PC in existance. PS/2's should be able +to run RawWrite but this has not been tested. + + +CAVEAT +------ + +This program will write ANY disk file to a floppy, overwriting any previous +information that may have been present. If you wish to re-use a diskette +under MS-DOS thats been written to by RawWrite then the disk will need to be +reformatted; all MS-DOS specific information will have been erased. + + +How to Compile +-------------- + +TCC rawrite.c + +The source code is specific to Borland International's Turbo C 2.01 and has +been tested in all memory models. + + +Usage +----- + +C> RAWRITE + +And follow the prompts. All arguments are case-insensitive. + +A sample run is shown below. The disk file being written, in this example, +is named DEMODISK and the destination - where the image is being written - +is the B: drive. + +This program may be aborted at any time by typing ^C. + + +Sample Run +---------- + +C> RAWRITE +RaWrite 1.2 - Write disk file to raw floppy diskette + +Enter source file name: DEMODISK +Enter destination drive: B +Please insert a formatted 360K diskette into drive B: and press -ENTER- : +Writing image to drive B: + + +Errors +------ + +RaWrite attempts to determine if the diskette is a 360K, 720K, 1.2M, or +1.44M diskette by reading specific sectors. If the inserted diskette is not +one of the mentioned types, then RaWrite will abort with a short error +message. + +Errors such as write protect, door open, bad disk, bad sector, etc. cause a +program abort with a short error message. + + +History +------- + + 1.0 - Initial release + 1.1 - Beta test (fixing bugs) 4/5/91 + Some BIOS's don't like full-track writes. + 1.101 - Last beta release. 4/8/91 + Fixed BIOS full-track write by only only + writing 3 sectors at a time. + 1.2 - Final code and documentation clean-ups. 4/9/91 diff --git a/isolinux/sbootmgr/RAWRITENT.DOC b/isolinux/sbootmgr/RAWRITENT.DOC new file mode 100644 index 00000000..6b8dcb38 --- /dev/null +++ b/isolinux/sbootmgr/RAWRITENT.DOC @@ -0,0 +1,176 @@ +{ This Program is released unter the terms of the GNU Public License (GPL).
+ In short words this means anybody can do anything with it except incorporating it
+ in whole or part into a new application that is sold and/or marketed commercially,
+ without disclosing the sources to the public.
+ For further details, refer to www.gnu.org.
+
+ This program has been written by Benedikt Hochstrasser (bhoc@pentagroup.ch or
+ tictactux@swissonline.ch. Its purpose is to transfer raw images to diskette, just
+ like the rawrite program supplied with Slackware Linux. The difference is: this is
+ a native Windows NT application.
+ Syntax: RaWriteNT <source image file> <target drive>
+
+ Use at your own risk. Although that piece of software has been thouroughly tested I
+ am not responsible for any damage resulting in the use of this software. This software
+ will overwrite stuff stored on a direct-access storage device such as a diskette,
+ hard disk, zip drive, LS-120 drive or similar medium. You have been warned.
+
+ Zurich, Late August 2000. (c) 2000 bhoc@pentagroup.ch
+}
+
+program RaWriteNT;
+
+{$APPTYPE CONSOLE}
+{$D-,L-,Y-,C-}
+
+uses windows;
+
+{$R *.RES}
+
+const IOCTL_DISK_GET_DRIVE_GEOMETRY: Cardinal = $70000;
+
+type TDiskGeometry = record
+ Cylinders : Int64;
+ Media_Type : LongInt;
+ TracksPerCylinder : Cardinal;
+ SectorsPerTrack : Cardinal;
+ BytesPerSector : Cardinal;
+ end;
+
+var InFileName, OutFileName: String;
+ Drive: Char;
+ HIn, HOut, BufBytes, FileSize, MediaSize, BlkSize, BlkNum, i: Cardinal;
+ Buf: Array[0..65535] of Byte;
+ DriveGeometry: TDiskGeometry;
+
+function ExtractFileName(FullName: String): String;
+ { cf SysUtils.ExtractFileName - mimicked here for size purposes }
+ var i, n: integer;
+ begin
+ n := Length(FullName);
+ Result := FullName;
+ for i := n downto 1 do if FullName[i] = '\' then break;
+ if i > 1 then Result := Copy(FullName, i+1, n-i);
+ end;
+
+function IsWinNT: Boolean;
+ { that should be obvious }
+ var osinfo: TOSVersionInfo;
+ begin
+ Result := False;
+ osinfo.dwOSVersionInfoSize := SizeOf(osinfo);
+ if GetVersionEx(osinfo) then
+ Result := (osinfo.dwPlatformId = VER_PLATFORM_WIN32_NT);
+ end;
+
+procedure ReReadDrive;
+ { just invoke a dummy 'get free disk space' to re-initialize the drive after
+ the write }
+ var BytesPerSect, FreeCl, TotCl, SecPerCl: Cardinal;
+ begin
+ GetDiskFreeSpace(PChar(Drive + ':\'), SecPerCl, BytesPerSect, FreeCl, TotCl);
+ end;
+
+begin { finally. dah main program. }
+
+ Writeln;
+
+ { do the copyright messages }
+ Writeln('RaWriteNT 1.0 by Ben Hochstrasser (bhoc@pentagroup.ch)');
+
+ { discourage Win9x users }
+ If Not IsWinNT then begin
+ Writeln(ParamStr(0), ' has been tested under Windows NT only. Sorry...');
+ halt(255);
+ end;
+
+ { get parameters }
+ InFileName := '';
+ OutFileName := '';
+ if ParamCount > 0 then InFileName := ParamStr(1);
+ if ParamCount > 1 then OutFileName := ParamStr(2);
+ if InFileName = '' then begin
+ Write('Source Image File name: ');
+ Readln(InFileName);
+ if InFileName = '' then halt(255);
+ end;
+ if OutFileName = '' then begin
+ Write('Target Drive [A]: ');
+ Readln(OutFileName);
+ end;
+
+ { check target }
+ if OutFileName = '' then
+ Drive := 'A'
+ else
+ Drive := UpCase(Char(OutFileName[1]));
+ if GetDriveType(PChar(Drive + ':\')) in [DRIVE_FIXED, DRIVE_REMOTE, DRIVE_CDROM] then begin
+ Writeln('Drive ' + Drive + ': does not appear to be a removable (and writable) drive.');
+ Writeln('Hard Disks, Network Drives and CD-ROM Drives cannot be Targets. Sorry.');
+ Halt(255);
+ end;
+ { prepend the NT incantation stuff }
+ OutFileName := '\\.\' + Drive + ':';
+
+ { try to open devices }
+ HIn := CreateFile(PChar(InFileName), GENERIC_READ, 0, NIL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0);
+ if HIn = 0 then begin
+ Writeln('Fatal Error: Cannot open ' + InFileName + ' for read.');
+ Halt(1);
+ end;
+ HOut := CreateFile(PChar(OutFileName), GENERIC_WRITE, 0, NIL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
+ if HOut = 0 then begin
+ Writeln('Fatal Error: Cannot open ' + OutFileName + ' for write.');
+ CloseHandle(HIn);
+ Halt(2);
+ end;
+
+ { overwrite 1st sector with 0 };
+ FillChar(Buf, 512, 0);
+ WriteFile(HOut, Buf, 512, BufBytes, NIL);
+ { get target geometry }
+ DeviceIoControl(HOut, IOCTL_DISK_GET_DRIVE_GEOMETRY, nil, 0, @DriveGeometry, SizeOf(DriveGeometry), BufBytes, NIL);
+ { determine sizes }
+ MediaSize := DriveGeometry.BytesPerSector * DriveGeometry.SectorsPerTrack * DriveGeometry.TracksPerCylinder * DriveGeometry.Cylinders;
+ FileSize := GetFileSize(HIn, Nil);
+ if FileSize > MediaSize then begin
+ Writeln('Oops - That file is too big for this medium (', FileSize, ' vs. ', MediaSize, ' Bytes).');
+ Halt(3);
+ end;
+ { block size is 1 track }
+ BlkSize := DriveGeometry.SectorsPerTrack * DriveGeometry.BytesPerSector;
+ { round up # of blocks if necessary }
+ BlkNum := (FileSize + BlkSize - 1) DIV BlkSize;
+ Writeln('Transferring ', FileSize, ' Bytes (',
+ (FileSize + DriveGeometry.BytesPerSector - 1) div DriveGeometry.BytesPerSector,
+ ' Sectors) from Image ', ExtractFileName(InFileName), ' to Drive ', Drive, ':');
+ { move file pointers to beginning }
+ SetFilePointer(hIn, 0, NIL, FILE_BEGIN);
+ SetFilePointer(hOut, 0, NIL, FILE_BEGIN);
+ { loop through all blocks }
+ for i := 1 to BlkNum do begin
+ if not ReadFile(HIn, Buf, BlkSize, BufBytes, NIL) then begin
+ writeln('Error ', GetLastError, ' on File Read');
+ break;
+ end;
+ if not WriteFile(HOut, Buf, BlkSize, BufBytes, NIL) then begin
+ writeln('Error ', GetLastError, ' on File Write');
+ break;
+ end;
+ write((100 * i) div BlkNum, '% completed.', #13);
+ end;
+ writeln;
+ { close files }
+ CloseHandle(HIn);
+ CloseHandle(HOut);
+
+ { re-read target medium information }
+ ReReadDrive;
+
+ If ParamCount = 0 then begin
+ Writeln;
+ Writeln('(Press any Key) ');
+ Readln;
+ end;
+end.
+
diff --git a/isolinux/sbootmgr/README.TXT b/isolinux/sbootmgr/README.TXT new file mode 100644 index 00000000..204d5d82 --- /dev/null +++ b/isolinux/sbootmgr/README.TXT @@ -0,0 +1,29 @@ +sbootmgr.dsk This nifty little tool allows selecting various devices to boot
+ from a menu, and even allows booting a CD-ROM in machines where
+ the BIOS doesn't support it (or it's supposed to support it, but
+ it just doesn't work). If you have trouble booting the
+ Slackware CD-ROM, you might try writing this image to a floppy,
+ booting it, and then selecting your CD-ROM drive as the boot
+ device.
+
+ The SBM installer is available as a Slackware package (called
+ "btmgr") in the extra/ packages collection.
+
+----------------------------
+Generic floppy image creation info:
+
+To create a floppy disk from one of these images, use the RAWRITE command on
+DOS or Windows. For example, to make the first rootdisk image (install.1),
+you'd put a formatted 1.44MB floppy in your floppy drive, and then run this
+command:
+
+C:\> RAWRITE INSTALL.1 A:
+
+There are several versions of RAWRITE provided to handle most versions of DOS
+and Windows. If one version doesn't seem to work, try another.
+
+To make the floppy images under Linux, use the "cat" command to send them to
+the floppy device. This command will make the first install disk:
+
+cat install.1 > /dev/fd0
+
diff --git a/isolinux/setpkg b/isolinux/setpkg new file mode 100644 index 00000000..134e82f3 --- /dev/null +++ b/isolinux/setpkg @@ -0,0 +1,48 @@ +#!/bin/sh +# This script is used within the Slackware installer to present +# a package series selection menu. If not present, a default list +# built into the installer is used. + +# Protected tmp directory: +TMP=/var/log/setup/tmp +if [ ! -d $TMP ]; then + mkdir -p $TMP +fi + +rm -f $TMP/SeTSERIES +dialog --title "PACKAGE SERIES SELECTION" --item-help --checklist \ +"Now it's time to select which general categories of software to install \ +on your system. Use the spacebar to select or unselect the software you \ +wish to install. You can use the up and down arrows to see all the \ +possible choices. Recommended choices have been preselected. Press the \ +ENTER key when you are finished." \ +20 75 9 \ +"A" "Base Linux system" on "The A (base) series contains the kernel and main system utilities." \ +"AP" "Various Applications that do not need X" on "The AP series is a collection of useful applications." \ +"D" "Program Development (C, C++, Lisp, Perl, etc.)" on "The D series contains compilers, debuggers, and other programming tools." \ +"E" "GNU Emacs" on "The E series contains the GNU Emacs advanced real-time display editor." \ +"F" "FAQ lists, HOWTO documentation" on "The F series contains essential documentation for Linux system administrators." \ +"K" "Linux kernel source" on "The K series contains the source code for the Linux kernel." \ +"KDE" "Qt and the K Desktop Environment for X" on "The KDE series contains the K Desktop Environment and related libraries." \ +"KDEI" "International language support for KDE" off "The KDEI series provides support for languages other than US English in KDE." \ +"L" "System Libraries (needed by KDE, GNOME, X, and more)" on "The L series contains important libraries needed by the rest of the system." \ +"N" "Networking (TCP/IP, UUCP, Mail, News)" on "The N series contains network related clients and servers." \ +"T" "TeX typesetting software" on "TeX is a typesetting system often used for mathematics and technical papers." \ +"TCL" "Tcl/Tk script languages" on "The TCL series contains the Tcl/Tk/TclX languages and programs that use them." \ +"X" "X Window System" on "This series contains X, the window system (or GUI) used by Linux." \ +"XAP" "X Applications" on "The XAP series is a collection of applications for X." \ +"Y" "Games" on "The Y series contains a collection of classic text-based games." \ +2> $TMP/SeTSERIES +if [ ! $? = 0 ]; then + rm -f $TMP/SeTSERIES + exit +fi +# Save this "just in case": +#"GNOME" "The GNOME desktop for X" on "The GNOME series contains the GNOME desktop environment and related libraries." +# +# Rewrite the list into a single # delimited line: +INSTSETS="`cat $TMP/SeTSERIES | tr -d " "`" +INSTSETS="`echo $INSTSETS | tr "\042" "#" `" +INSTSETS="`echo $INSTSETS | tr "," "#" `" +# Store the selection list: +echo "$INSTSETS" > $TMP/SeTSERIES |