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

2003-11-18 Thread Chris Shenton
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.



___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


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

2003-11-18 Thread M. Warner Losh
In message: [EMAIL PROTECTED]
Chris Shenton [EMAIL PROTECTED] writes:
: 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.   

Grab a recent snapshot.  Boot off of that with the fixit
functionality.  Fix things.  Chances are good that you'll be able to
build a new kernel with the kernel that you booted...

Warner
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


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

2003-11-18 Thread masta
Hiya,

Chris Shenton wrote:
...
[snip]
...

 Any other suggestions?  Thanks.


Yes, You need to exploit the notion of booting from another root
filesystem, mounting the broken root, and then taking corrective action on
the corrupted files.

The easy way is to grab a recent livecd from the jp snapshot service. With
the jpsnap livecd I was able to boot, copy all the working binaries from
the cdrom over the corrupt binaries on the local HDD. I suggest you try
the same idea.

Certainly there are other ways to do the same exact thing, but without the
time and expense of downloading the iso9660 image, and burning a rom.
Certainly you could make due with a set of floppies, and/or nfs from
another -current machine.


 __  __   _
|  \/  | __ _ ___| |_ __ _
| |\/| |/ _` / __| __/ _` |
| |  | | (_| \__ \ || (_| |
|_|  |_|\__,_|___/\__\__,_|

unzip ; strip ; touch ; finger ; mount ; fsck ; more ; yes ; umount ; sleep


[EMAIL PROTECTED]
http://wifibsd.org



___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


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

2003-11-18 Thread Barney Wolff
On Tue, Nov 18, 2003 at 11:50:22AM -0500, 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.

Re-install/upgrade from a cd.  Upgrade should leave your files alone.

I've argued before that world should be removed as a target, as I
don't believe it's ever correct to do it.  Why leave this gun pointed
at people's feet?

-- 
Barney Wolff http://www.databus.com/bwresume.pdf
I'm available by contract or FT, in the NYC metro area or via the 'Net.
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


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

2003-11-18 Thread Chris Shenton
masta [EMAIL PROTECTED] writes:

 The easy way is to grab a recent livecd from the jp snapshot service.
 [ http://livecd.sourceforge.net/ ]

 With the jpsnap livecd I was able to boot, copy all the working
 binaries from the cdrom over the corrupt binaries on the local HDD. I
 suggest you try the same idea.

That seems a like a nice suite, but the site says it's acts like a 4.6
repair, so I don't think the binaries would be suitable for replacing
my damaged 5.1 commands.  :-(


___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Recovery? recent 'make world' rendered system unusable (64 bit change)

2003-11-18 Thread masta

Allegedly Chris Shenton said
 masta [EMAIL PROTECTED] writes:

 The easy way is to grab a recent livecd from the jp snapshot service.
 With the jpsnap livecd I was able to boot, copy all the working
 binaries from the cdrom over the corrupt binaries on the local HDD. I
 suggest you try the same idea.

 [ http://livecd.sourceforge.net/ ]
 That seems a like a nice suite, but the site says it's acts like a 4.6
 repair, so I don't think the binaries would be suitable for replacing my
 damaged 5.1 commands.  :-(

I wasn't talking about that, I was talking about the jp snapshot service,
which is accessible at:

http://snapshots.jp.freebsd.org/

The site speaks for itself, but basicly it is a dailly snapshot service
for FreeBSD, which by now should have all the fixes you need on their
livecd version of -cuurent.


 __  __   _
|  \/  | __ _ ___| |_ __ _
| |\/| |/ _` / __| __/ _` |
| |  | | (_| \__ \ || (_| |
|_|  |_|\__,_|___/\__\__,_|

unzip ; strip ; touch ; finger ; mount ; fsck ; more ; yes ; umount ; sleep


[EMAIL PROTECTED]
http://wifibsd.org



___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


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

2003-11-18 Thread Scott Likens
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.
 
 
 
 ___
 [EMAIL PROTECTED] mailing list
 http://lists.freebsd.org/mailman/listinfo/freebsd-current
 To unsubscribe, send any mail to [EMAIL PROTECTED]

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


___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


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

2003-11-18 Thread Chris Shenton
Barney Wolff [EMAIL PROTECTED] writes:

 Re-install/upgrade from a cd.  Upgrade should leave your files alone.

Thanks, Barney -- that's what I did and it saved my butt.

A few folks suggested either LiveCD images or fixit functionality.
I was kinda dead in the water and didn't think I could download a
LiveCD and burn it from another system.  I played with the floppy
fixit functionality a bit but didn't see a way to preserve /etc and
such.  

So I used a 5.1-RELEASE CD I had and used the UPGRADE option which
promised to save my /etc stuff.  I specified my old mount points
(fortunately, I was able to read /etc/fstab from the boot OK prompt
and make paper notes!).  I then tried -- twice -- to install the
minimal system from the CD and both times it kernel panic'd with a
page fault (in process bufdaemon, last time).

For grins, I again specified my mounts (only /, /var, /tmp, /usr; I
didn't bother with /home and /usr/local), and told it to install via
FTP. Surprisingly, this worked -- no panic.

It appears to have installed a working kernel, /bin, /usr/bin, and
friends and now I'm running again.  I'm now doing a make build world
and then will do a make kernel KERNCONF=MyKernelDefinitionFileName,
then finally a make installworld per the UPGRADING guide.

I've never used the Upgrade option to FreeBSD and I've been using it
heavily since 2.2.x.  It's a good thing.

Many thanks to everyone who replied.

I promise I'll scan UPGRADING before doing a make *world next time!


___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]