Date: Fri, 6 Aug 2004 00:27:34 -0400 From: Benjamin Polidore <ben@h50.net> To: freebsd-questions@freebsd.org Subject: How I took my machine down and fixed it. Message-ID: <F0873D0B-E760-11D8-B4D8-000A95E34DE4@h50.net>
next in thread | raw e-mail | index | archive | help
I had a bit of a unique experience with my FreeBSD 5.2.1 server, and I thought I'd share it because I found a lot of my questions difficult to answer. I have a Via C3 800 processor on this particular server, and I thought I'd recompile with the cpu flag set in make.conf. dmesg reports this: CPU: VIA C3 Ezra (800.03-MHz 686-class CPU) So I set the flag to i686 (I would later learn that this processor only supports the i586/mmx flag) and did a make buildworld. No problem here, but when I did make installworld, things went very wrong. Errors and core dumps (illegal instruction) started raining down, and then I lost power and when I powered up, the server was a goner. So I tried to log in from the serial console, but NOTHING worked. In single user mode, I couldn't even run ls. This is a big problem. To begin fixing the system, I downloaded 5.2.1's disc2 iso and tried to log into the live filesystem shell, but sysinstall couldn't mount the CD. I searched around and realized that I was using a CD drive that supports DMA, so I had to turn that on before booting up: OK set hw.ata.ata_dma="1" OK set hw.ata.atapi_dma="1" OK boot Now I could get into the live filesystem, and I felt pretty good about my plan. I wanted to overwrite /bin, /sbin, /usr/bin and /usr/sbin (as well as libexet, etc) from the live disc. So first I had to mount the drives. I tried to mount my root slice first and was greeted with some problems: mount -w /dev/ad0s1a /mnt/root Resulted in: Operation Not Permitted But I could mount my usr slice. Again, with a bit of research, I realized that since these slices were dirty, they needed to be fsck'd before I could mount them. I tried fsck, but that complained about a lack of fstab. So I had to do a: fsck_ffs -y /dev/ad0s1a On each slice before I could mount. Mounting worked fine once I had done this, so I tried to start copying files, and was greeted with more errors. This time, again: Operation Not Permitted For each copy. This seemed really confusing to me, and after a lot of internet research, I found that I needed to unset the system immutable flag. chflags -R noschg /mnt/root ..etc Now I could copy files from the fixit disc, and I was able to reboot and do a proper make build/installworld with i586/mmx. So my system is back after many hours of frustration. Hope this can help someone else out there. Yours, Ben Polidore
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F0873D0B-E760-11D8-B4D8-000A95E34DE4>