Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Jul 1997 22:52:42 -0700 (PDT)
From:      Joerg Wunsch <joerg@FreeBSD.ORG>
To:        cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-sys@FreeBSD.ORG
Subject:   cvs commit: src/sys/i386/boot/cdboot Makefile asm.S bios.S boot.c boot.h cdrom.c io.c malloc.c
Message-ID:  <199707110552.WAA04715@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
joerg       1997/07/10 22:52:42 PDT

  Added files:
    sys/i386/boot/cdboot Makefile asm.S bios.S boot.c boot.h 
                         cdrom.c io.c malloc.c 
  Log:
  (Part #2, after the Internet link broke totally yesterday.)
  
  This is the long-threatened ISO 9660 CD-ROM bootstrap code.
  
  This work has been sponsored by Plutotech International, Inc (who paid
  the initial work), and interface business GmbH (where i did most of
  the work).  A big thanks also goes to Bruce Evans, for his continuing
  help and answering my stupid questions.
  
  The code is basically functioning, with the following caveats:
  
  . Rock Ridge attributes are not yet supported.
  . Only SCSI CD-ROMs are supported, since i fail to see any possibility
    to determine the drive type using BIOS functions.  (Even for hard disks,
    this determination is done by a big hack only.)
  . El Torito specifies a lot of crap and useless misfeatures, but crucial
    things like the ability to figure out the CD TOC have been ``forgotten''.
    Thus, if you wanna boot a multisession CD, you need to know at which CD
    block your session starts, and need to speciffy it using the @ clause.
  
  . None of the CD-ROM controllers i've seen so far implements the full
    El Torito specification at all.  Adaptec is probably the closest, but
    they miss on non-emulation booting (which would be the most logical
    choice for us).  Thus, the current code bloats the 7.5 KB boot code
    up to 1.44 MB, in order to fake a `floppy' image.
  
    If you wanna use it, specify this file as the boot image on the
    command-line of the mksiosfs command (option -b).
  
    Caveat emptor: some versions of the Adaptec BIOS might even fail to
    access the CD-ROM at all, using the BIOS functions.  I think i've
    notice this for ver 1.26, the code has been tested with ver 1.23.
  
  The boot string is as follows:
  
          [@sess-start] [filename] [-flags]
  
  sess-start      Extend # where the last session starts, measured in
                  CD-ROM blocks.
  
  filename        As usual, but the input is case-insensitive by now
                  (since we  don't grok RR anyway).
  
  flags           As usual, but -C (use CDROM root f/s) is default, so
                  specifying -C will decactivate this option (which is
                  probably not what you want :).
  
  A lot of cleanup work is probably required, and some of the files
  could/should be merged back to biosboot, perhaps made conditional on
  some #ifdef.  The malloc implementation that comes with cdboot might
  also be useful for kzipboot.  (I needed a malloc() since the root dir
  ain't fixed in size on a CD.)
  
  I've been testing all this with a 2.2-STABLE as the base for biosboot.
  I don't expect too many surprises, although i know the biosboot stuff
  has been changed a lot in -current lately.  I'm sure Bruce will
  comment on all this here anyway. :-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707110552.WAA04715>