[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

When a filing system other than the ROM filing system is to be used, the
following steps take place.

   1. First, open filesystem.resource in preparation for finding the
      filesystem segment we want.  If filesystem.resource doesn't exist
      then create it and add it via AddResource().  Under 2.0 the resource
      is created by the system early on in the initialization sequence.
      Under pre-V36 Kickstart, it is the responsibility of the first RDB
      driver to create it.

   2. Scan filesystem.resource looking for a filesystem that matches the
      DosType and version that we want.  If it exists go to step 4.

   3. Since the driver couldn't find the filesystem it needed, it will have
      to load it from the RDB area.  The list of FileSysHeaderBlocks
      (pointed to by the "RDSK" block) is scanned for a filesystem of the
      required DosType and version.  If none is found then the driver will
      give up and abort the mounting of the partition.  If the required
      filesystem is found, then it is LoadSeg()'ed from the "LSEG" blocks
      and added as a new entry to the filesystem.resource.

   4. The SegList pointer of the found or loaded filesystem is held in the
      FileSysEntry structure (which is basically an environment vector for
      this filing system).  Using the patch flags, the driver now patches
      the newly created environment vector (pointed to by the new DosNode)
      using the values in the FileSysEntry being used.  This ensures that
      the partition will have the correct filing system set up with the
      correct mount variables using a shared SegList.

The eb_Mountlist will now be set up with prioritized bootnodes and maybe
some non-bootable, but mounted partitions.  The system bootstrap will now
take over.

[Back to Amiga Developer Docs]