From owner-freebsd-current Tue Jan 12 18:40:30 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA15662 for freebsd-current-outgoing; Tue, 12 Jan 1999 18:40:30 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA15643 for ; Tue, 12 Jan 1999 18:40:24 -0800 (PST) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: (from wollman@localhost) by khavrinen.lcs.mit.edu (8.9.1/8.9.1) id VAA20325; Tue, 12 Jan 1999 21:39:49 -0500 (EST) (envelope-from wollman) Date: Tue, 12 Jan 1999 21:39:49 -0500 (EST) From: Garrett Wollman Message-Id: <199901130239.VAA20325@khavrinen.lcs.mit.edu> To: current@FreeBSD.ORG Subject: An ELF upgrade story Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG First, a bit of disclaimer: DON'T DO THIS. Really. I mean it. At a minimum, don't expect anyone to help you if you try and it doesn't work. I recently upgraded my laptop to a current -current, and at the same time finally converted over to ELF. I had held back on ELF for as long as I could because my disk is very small (1G FreeBSD partition), and I had only 230 MB of space for /usr/obj -- not nearly enough to complete the official upgrade process. However, it turned out that this wasn't actually a problem. Because the actual version skew was fairly minor, at least in terms of kernel capability, it was possible to run statically-linked -current ELF binaries under my old system. Serendipitously, that is precisely what the bootstrapping mechanism underneath `make world' will construct and install in its temporary staging area if you tell it OBJFORMAT=elf. Thankfully, when the transition was made, nobody managed to break the ability to run the internal `make world' subtargets interactively, on a running system. So, I simply read down the actual implementation of `make world''s bootstrap and performed all of those steps manually, against the running system, which gave me -current tools and ELF libraries against which the rest of the world could be built. After stopping a moment to build and install the ELF ld.so (which probably wasn't necessary due to magic ordering of SUBDIR), I was able to build and install a complete -current ELF world without having to keep twice the disk space on hand. It's now running quite nicely, and X even works (for the first time on the NeoMagic-equipped laptop). DON'T ANYONE ELSE TRY THIS. -GAWollman -- Garrett A. Wollman | O Siem / We are all family / O Siem / We're all the same wollman@lcs.mit.edu | O Siem / The fires of freedom Opinions not those of| Dance in the burning flame MIT, LCS, CRS, or NSA| - Susan Aglukark and Chad Irschick To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message