Recovery? recent "make world" rendered system unusable (64 bit change)

Scott Likens damm at yazzy.org
Tue Nov 18 15:17:25 PST 2003


On Tue, 2003-11-18 at 08:50, Chris Shenton wrote:
> I've been running 5.1-CURRENT for a while and a couple nights ago did
> a "make world".  After a couple hours building, my system was
> unusable.  Critical binaries like "rm", "ls", "mtree", "sh" failed,
> reporting "Exec format error".  I can't login, not even single user.
> I can no longer even boot single user.
> 
> I've hosed my system and am looking for a way to recover without
> having to reinstall everything and overwrite critical data and system
> config files.  Naturally, I only discovered the note in UPDATING after
> I trashed my system -- in fact, I read it from the "OK" boot prompt
> with its "more".  Doh!
> 
>   20031112: The statfs structure has been updated with 64-bit fields
>   to allow accurate reporting of multi-terabyte filesystem sizes. You
>   should build world, then build and boot the new kernel BEFORE doing
>   a `installworld' as the new kernel will know about binaries using
>   the old statfs structure, but an old kernel will not know about the
>   new system calls that support the new statfs structure. [...]
>   Running an old kernel after a `make world' will cause programs such
>   as `df' that do a statfs system call to fail with a bad system
>   call. [...]  DO NOT make installworld after the buildworld w/o
>   building and installing a new kernel FIRST.  You will be unable to
>   build a new kernel otherwise on a system with new binaries and an
>   old kernel.
> 
> I'm looking for recommendations on how to recover, hopefully without
> trashing my critical system files like /etc/passwd.  Ideally, I guess
> I'd like a way to replace all the broken binaries and any related
> libraries without overwriting other files.   
> 
> If I do a floppy-based install and then select Custom/Expert than
> request a minimal install, I presume it will install a small set of
> binaries but also overwrite /etc/passwd, /etc/ssh/* and so on.  Is
> there a way to have it just update binaries and libraries?
> 
> If I have to, I could add another disk to this box.  Then I could do a
> floppy install of 5.x on to that new disk.  Then I could boot it, and
> mount the old disk's partitions. Then install the new install's
> binaries on the old partitions.  Or perhaps I could do a make
> buildworld, kernel, installworld the proper way, using the old disk's
> partitions as the target.
> 
> Or could I -- somehow -- push a 64-bit-aware kernel onto this box so
> that the newly "broken" binaries will work again? How?  Again, I've
> got no shell access any more so everything's gonna have to be done
> from floppy or maybe CD if I can borrow a burner. Naturally, this is
> my net boot server for my diskless clients so I can't go that route
> either. :-(
> 
> Any other suggestions?  Thanks.
> 
> 
> 
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"

Best suggestion would be to get a 5.0-CURRENT live CD off of
current.snapshot.org with the kernel with the new statfs changes if it
exists (I forget if we make live CD's daily or not)

That or you can loadup a emergency holoshell of 5.1 RELEASE, reinstall
/bin /sbin /usr/sbin etc and then rebuild the kernel to the new statfs
kernel, then install the new world once again.

The basic problem is you need a kernel with the new statfs changes,
maybe you can find someone nice enough here to email you their kernel
with the new changes that'll boot on your computer, and then you can get
it corrected.

Even I had that problem, luckily the machine was just a test machine so
reinstallation wasn't going to kill me.

Scott
-- 
"I think we ought to be out there doing what we do best - making large
holes in other people's countries." - George Carlin




More information about the freebsd-current mailing list