Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Oct 2007 09:26:43 +0000 (UTC)
From:      Yar Tikhiy <yar@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src Makefile.inc1
Message-ID:  <200710310926.l9V9Qhi4041450@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
yar         2007-10-31 09:26:43 UTC

  FreeBSD src repository

  Modified files:
    .                    Makefile.inc1 
  Log:
  Decouple the install tools from the main system as much as possible.
  I.e., not only copy them to a scratch dir, but also make them use saved
  copies of libraries and locale files.  That gives us several benefits:
  
  1) ABI breakages should no longer affect installworld over the live system.
  
  2) It becomes safe to run installworld while still running the old kernel.
     However, it can be reasonable to save the old /rescue before that to be
     able to run the old reboot(8), as the new binaries are rather likely to
     fail with the old kernel.  Anyhow, it's now possible to upgrade a system
     in a single reboot _reliably_.
  
  3) With a bit of hackery around rtld(8), it becomes possible to do destructive
     cross-installs, e.g., i386->amd64 over the live system.
  
  The only shared item left between the old and new systems is rtld(8),
  which cannot be run from a saved copy easily because its full
  pathname is stored in the respective field of each ELF executable.
  (In theory, that field could be overridden, e.g., from the environment,
  but this can lead to security issues.)  That's why a destructive
  cross-install isn't possible w/o hackery yet.
  
  Fruitful ideas by:      ru
  Reviewed by:            ru
  Tested with:            audit(4)
  
  Revision  Changes    Path
  1.590     +32 -14    src/Makefile.inc1



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