[comp.os.os2.misc] Making a 3.5" installation floppy

paul@gem.stack.urc.tue.nl (Paul Derks) (01/28/91)

How can I get OS/2 1.3 installed on a model 70/121? This sounds
like a dumb question but the problem is that our mentor bought
OS/2 1.3 on 5.25" disks. This version was purchased in the US
so exchanging it could take some time (Which we haven't got).
Is there a way to transfer the installation flop to 3.5" so
we can get it working on the IBM?

We've got AT's available with 1.44 and 1.2MB floppy's so I can
get OS/2 up and running. If I can make an 1.44 3.5" installation
floppy I can use this to get OS/2 on the model 70.

Thanks in advance
Paul

roelofs@nas.nasa.gov (Cave Newt) (01/29/91)

paul@gem.stack.urc.tue.nl (Paul Derks) writes:

>Is there a way to transfer the installation flop [from 5.25"] to 3.5" so
>we can get it working on the IBM?

No sweat.  All you need to do is make some small modifications to the boot
sector, copy it and the regular files onto the 3.5" disk, and you're set.
To fool with the boot sector you need debug, symdeb ("debug++":  what I 
use), or something similar.  Here are the basic steps (from memory, but I
think it's right):

Start with the 1.2MB OS/2 installation diskette.  Rev up debug/symdeb/
whatever, and type:

-l 100 0 0 1

[the leading dash is symdeb's prompt; "l" = load; "100" = memory address
 in the current segment (hex); first "0" = drive A: (change as required);
 second "0" = sector 0 (boot sector); "1" = number of 512-byte sectors to
 read]

First save the unmodified boot record to a file for future reference:

-r cx                   [change Register CX]
CX 0000                 [symdeb prints current value]
:200                    [change it to 200h = 512 = file length]
-n boot_12m.os2         [Name of file to be written]
-w                      [Write it]
Writing 0200 bytes
-

Now take a look at what you've got:

-d                      [or "d 100" if you want to Dump it again]
xxxx:0100  EB zz 90 xx xx xx xx xx-xx xx xx 00 02 01 01 00  k3.ID STRNG.....
xxxx:0110  02 E0 00 60 09 F9 07 00-0F 00 02 00 00 00 00 00  .`.`.y..........
[etc.]              ^^^^^^^^^^^^^^^^^

The "EB zz" and "90" are machine-language JMP and NOP instructions; the
xx's are an ASCII identifier string (probably something like "IBM 10.3");
and the rest are either disk parameters or are reserved for something
equally nefarious.  The important ones are the under-caretted ones:  the 
first two give the number of 512-byte sectors (0960h = 2400 = 1200KB), 
the next one is the "media [sic] type," the next one (or two?) is the 
number of sectors in the file allocation table (FAT), and the last byte 
is the number of sectors per track.  For a 1.4MB diskette these parameters 
should be 40 0B F0 09 00 12; to change them, type:

-f 113 L6 40 0B F0 09 00 12   [Fill, starting at offset 113, for Length 6, ...]
-d 100
xxxx:0100  EB zz 90 xx xx xx xx xx-xx xx xx 00 02 01 01 00  k3.ID STRNG.....
xxxx:0110  02 E0 00 40 0B F0 09 00-12 00 02 00 00 00 00 00  .`.@.p..........
[etc.]              ^^^^^^^^^^^^^^^^^

Assuming you've succeeded so far, you'll probably want to save the new
boot record to a file:

-r cx                   [this should still be set to 200, but check anyway]
CX 0200
:
-n boot_14m.os2
-w
Writing 0200 bytes
-

And then you can write it to your new, 3.5" installation-floppy-to-be (format
the thing first, of course):

-w 100 1 0 1
       ^
      [change this as necessary; here I'm assuming B: is the 3.5" drive.  Be
       VERY CAREFUL you don't overwrite your hard disk boot record!!!  Remem-
       ber, 0 = A:, 1 = B:, etc., for symdeb; your kilometerage may vary.]
-q    [quit]

Now you can pretty much just copy on over the other OS/2 installation files.
As usual, the important ones are hidden (OS2LDR and OS2KRNL); use appropriate
tools to unhide them and/or copy them.  I don't think it matters where on the
disk those two files end up, but it's probably safest to make sure they're
the first two on the disk.

Finally, for what it's worth, I've never done this to an OS/2 boot diskette,
but I have messed around with OS/2 boot records, and I've also successfully
transferred a DOS boot record from 1.2MB to 1.44MB diskettes.  So it SHOULD
work. :-)  E-mail if you have problems, but I've already used up this month's
quota of miracles...

Greg