Help on installing Minix 2.0 in Bochs
Author: Kevin Lawton

#
Help on installing Minix 2.0 in Bochs

    For questions about Minix in general, to obtain Minix distribution files,
    and other issues, check out http://www.cs.vu.nl/~ast/minix.html

    NOTE: Please read message regarding licensing of software packages
        which you run within Bochs, and use of temporary files created to
        facilitate installation. 3rd Party Software Licensing and Temporary Files

    What you will need before you start:

      * ROOT, USR
        Minix 2.0 ROOT & USR boot floppy image files.  These image
        files represent a bootable Minix root (/) floppy, and a (/usr)
        partition - just enough to get you up and running to begin
        installing the rest.

      * USR.TAZ (The rest of the necessary Minix distribution files to provide
                 a full Minix system.)

      * SYS.TAZ (optional) system sources
      * CMD.TAZ (optional) command sources

      * A '.bochsrc' files something like:

          megs: 8
          boot: c
          diskc: file=../30M.minix2.0, cyl=615, heads=6, spt=17
          floppya: 1_44=../1.44
          #log: /dev/null
          log: ./bochs.out
          hga_update_interval: 250000
          keyboard_serial_delay: 200
          vgaromimage: bios/VGABIOS-elpin-2.00A
          romimage: bios/rombios.bin

      * Compile Bochs and setup for the Minix environment
        Compiling source code
        Setting up environment before running

    Getting down to business, you need to break up the 'USR.TAZ' distribution
    into chunks big enough to fit on your 1.44Meg floppy.  Use "dd" for this.
    Basically you supply a block-size of 1.44Megs, read in and write out only
    one block (the size of a whole floppy).  You have to do this multiple
    times, each time telling "dd" to skip one more chunk than before.  I
    had to create 3 files, the last of which will be only partially full:

      dd if=USR.TAZ of=USR.00 bs=1440k count=1 skip=0
      dd if=USR.TAZ of=USR.01 bs=1440k count=1 skip=1
      dd if=USR.TAZ of=USR.02 bs=1440k count=1 skip=2

    Create a combined root/usr boot floppy.  Combined,
    both files equal the size of a 1.2Meg floppy, but you
    can just combine them and use them as a 1.44Meg floppy.

      cat ROOT USR > 1.44    # same path as 'floppya:' directive in '.bochsrc'.

    Create an empty 30Meg hard disk image file with same path
    as 'diskc:' directive in '.bochsrc'.

      dd if=/dev/zero of=30M.minix2.0 bs=512 count=62730

    Boot from the root/usr floppy boot floppy.

      bochs boot:a

    At the boot monitor, type '=' key to continue.

      Minix boot monitor 2.5

      Press ESC to enter the monitor

      Hit a key as follows:

          =  Start Minix

    Minix will partially boot, then ask:

      Finish the name of device to mount as /usr: /dev/

    Type 'fd0c', which is the second (/usr) partition on the boot floppy
    you made (the USR disk).

    Minix should be fully booted to the login prompt:

      noname login:

    Type 'root', no password is needed.

    Now, since I don't yet support hardware scrolling under VGA text
    emulation, type the F3 key, which will turn on software scrolling.
    The following message will be displayed:

      Software scrolling enabled.

    You can type an optional Return, to get to a new line, since that
    message popped up, but you don't need to.

    Now enter the setup utility, by typing 'setup'.
    A series of notes are printed and a ':'.  After you read the
    messages, type a Return.

    Minix now asks you what kind of keyboard you have.  Type Return
    to accept the default (us-std).

    You are now informed that you'll be put in the program 'part',
    which can partition your hard disk image file for you.  Just
    type 'Return'.

    You should be in 'part'.  Type 'r', to read the partition table off
    of /dev/hd0.  Don't worry about a message like

      'dev/hd0: Invalid partition table (reset).

    Since you have a blank disk image, that is to be expected.
    Unfortunately, I don't implement the cursor for VGA text mode yet,
    so you'll have to trust me on this one.  Type:

      'down-arrow' once displays "Active flag" in the top left corner
      'right-arrow' once displays "Hex partition type"
      '8' '1'  displays a partition type of "MINIX"
      'right-arrow' over until "Starting Head" is displayed
      '1' to change the starting head to 1 (leave track #0 free)
      'right-arrow' over until "Kb" is displayed
      'm' until the fields are maximized

      'w' to write partition table to disk.

      (you'll see a warning message)
      Warning: About to write a new table on /dev/hd0
               Save partition table? (y/n)

      'y' to accept
      'q' to quit "part" program

    Minix should be now asking you to type in the partition you created:

      Please finish the name of the primary partition you have created:
      (Just type RETURN if you want to rerun "part")                  /dev/

    Type 'hd1' and Return to complete the device path.  A message is then
    displayed telling you setup will carve up the partition you just created,
    into two sub-partitions.  This is OK.  Type Return.

      Scanning /dev/hd1c for bad blocks...

    You can let this take it's course or type the 'Del' key if it works,
    to skip.  Next setup wants to know about your memory size.

      What is the memory size of this system in kilobytes? [4096 or more]

    Providing you're running Bochs emulating >= 4Megs of memory, just type Return.
    Now you should see the final message:

      Please insert the installation ROOT floppy and type 'halt' to exit Minix.
      You can type 'boot hd1' to try the newly installed Minix system.  See
      "TESTING" in the usage manual.

    You already have the root/boot floppy image in place.  Type 'halt'.
    Then type 'boot hd1', then '=' at the boot monitor to continue with the
    boot.  You should be back at the login prompt, only this time you just
    booted from the hard disk image.

      noname login:

    Login as root, no password needed.

    NOTE: You'll need to keep typing the F3 key to turn on Software
          Scrolling every time you fire up Minix.  Type it now.

    Complete the setup process by typing 'setup /usr'.

      What is the size of the images on the diskettes? [all]

    Type Return, since you're using the whole diskette.

      What floppy drive to use? [0]

    Type Return since you're using floppy #0. (A:)

      Please insert input volume 1 and hit return

    OK, now whenever setup asks for a new volume, you just go to
    your workstation, and copy the next volume in the series, overwriting
    the 1.44Meg floppy image file.

      unix-> cp USR.00 /path/1.44

    Then type Return in the bochs window to continue.  Just continue
    doing this until setup is done.  For example:

      [Please insert input volume 2 and hit return]
      unix-> cp USR.01 /path/1.44
      [Return in Bochs window]

      [Please insert input volume 3 and hit return]
      unix-> cp USR.02 /path/1.44
      [Return in Bochs window]

    When setup is completed, you should see the message:

      Done.

    and a root prompt '#'.  At this point, halt the system and
    try one more boot if you'd like:

      # halt

    Type a couple Ctrl-C's in the the window you fired up bochs in.
    Now fire up Bochs again, this time booting the hard drive directly:

      bochs boot:c

    As usual, type '=' to continue the boot process.

    Go nuts!