Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Sep 2000 21:52:35 -0700 (PDT)
From:      "Daniel C. Sobral" <dcs@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/boot/forth loader.4th loader.conf support.4th
Message-ID:  <200009090452.VAA06661@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
dcs         2000/09/08 21:52:35 PDT

  Modified files:
    sys/boot/forth       loader.4th loader.conf support.4th 
  Log:
  First tackle at trying to handle the New Deal on kernels.
  
  Load the first of the following kernels to be found:
  
  ${kernel} if ${kernel} is an absolute path
  /boot/${kernel}/${kernel}
  /boot/${kernel}/${bootfile}
  ${kernel}/${kernel}
  ${kernel}/${bootfile}
  ${kernel}
  ${bootfile}
  
  The last instance of ${kernel} and ${bootfile} will be treated as a
  list of semicolon separated file names, and each will be tried in turn,
  from left to right.
  
  Also, for each filename loader(8) will try filename, filename.ko,
  filename.gz, filename.ko.gz, in that order, but that's not related
  to this code.
  
  This resulted in a major reorganization of the code, and much of what
  was accumulating on loader.4th was rightly transfered to support.4th.
  
  The semantics of boot-conf and boot also changed. Both will try to load
  a kernel the same as above.
  
  After a kernel was loaded, the variable module_path may get changed. Such
  change will happen if the kernel was found with a directory prefix. In
  that case, the module path will be set to ${directory};${module_path}.
  
  Next, the modules are loaded as usual.
  
  This is intended so kernel="xyzzy" in /boot/loader.conf will load
  /boot/xyzzy/kernel.ko, load system modules from /boot/xyzzy/, and
  load third party modules from /boot/modules or /modules. If that doesn't
  work, it's a bug.
  
  Also, fix a breakage of "boot" which was recently introduced. Boot without
  any arguments would fail. No longer. Also, boot will only unload/reload
  if the first argument is a path. If no argument exists or the first
  argument is a flag, boot will use whatever is already loaded. I hope this
  is POLA. That behavior is markedly different from that of boot-conf, which
  will always unload/reload.
  
  The semantics introduced here are experimental. Even if the code works,
  we might decide this is not the prefered behavior. If you feel so, send
  your feedback. (Yeah, this belongs in a HEADS UP or something, but I've
  been working for the past 16 hours on this stuff, so gimme a break.)
  
  Revision  Changes    Path
  1.12      +15 -113   src/sys/boot/forth/loader.4th
  1.32      +3 -3      src/sys/boot/forth/loader.conf
  1.7       +265 -5    src/sys/boot/forth/support.4th



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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