MikeL's FreeBSD Broken boot\
Continuing on from yesterday - I was able to get the
second VD to come back.
I rebooted and hit "R" to enter PERC and created a new VD with the
smae specs as it had been established on the old machine - raid 5,
all 3 disks, default stripe size etc.. Then, when given the option
to initialize, I chose not to. When I boot back up, I was able to
mount it, and the previous dir structure is intact.
I just moved a complete raid 5 set, two virtual
disks of 3 drives each from a Dell R710 to a Dell R730. The second
virtual drive did not make it through when I did the "f" to import
foreign config, the 3 disks simply appeared as "unconfigured".
This left me in the same position as below, at the
sh prompt with no system - most importantly,
/bin. I knew that all I needed
to do was comment out the second virtual disk mount line
/etc/fstab, but there was no editor.
Fortunately, there is a '
/rescue directory, which allowed me to make the
changes as described below.
I just typoed in my rc.conf and had to go through this mess to get
back to a running system. I was able to copy the emacs "~" file
back into place, and reboot and all was well. But I'm tired of
bumping into this, I want a tester app. I'm pretty sure
I'll be able to train myself to run it when I make changes.
Maybe I can find a way to build it into shutdown -- I'll have
to look into that later.
Anyways - dirt simple
into your local bin directory, and create the following:
echo sysrc -a>rccheck
chmod 755 rccheck
If you prefer a simple y/n, you could do:
echo 'sysrc -a >& /dev/null' > rccheck
echo 'echo $?'>>rccheck (must use apostrophe, not quote) -- 1 means error, zero is success
I just replaced my second drive with a larger one. It's actually
RAID config, but this should not matter. Bottom line is that I
forgot to modify
/etc/fstab and remove the 2nd drive
entry before doing the replacement. The system now boots to
"mountroot" - badness.
First is to get to the disk:
Now you should be able to modify
/etc/fstab and comment
out that 2nd disk line. You may have to play some games as below to
get a writable filesystem. I could not seem to get 'vi', so I tried
using 'ex'. All this achieved was to nuke (delete) my fstab file.
Very, very badness.
Next boot you get to a command prompt and are unable to do anything.
You cannot change the drive to writable as the mount command will
puke due to missing fstab. The only fix is configure a memstick
image and boot that, then mount the drive manually, and fix the
Unfortunately for me, there was something else fucked up
('libdev6.so' missing or some such), and simply putting a new fstab
into place did not fix it. In the end I had to boot to command
shell, 'newfs' each partition on the drive, then reinstall the OS
from the memory key.
Everything on the base drive (/, /usr, /var) was lost to a blank
install. It took several days of messing around and googling just
to get to this point. All this because I simply forgot to comment
out the fstab entry for the 2nd disk.
Ok, you've fucked up a boot config file, and the system won't start enough to get in. This can happen by:
Here's how to recover.
- syntax error in
- bad driver in
- bad value in
- Reboot/power cycle if necessary.
- When you get to the FreeBSD beastie screen, hit ESC.
- At the "OK" prompt, boot to "single user" mode.
- When prompted, hit Enter to start
- If filesystem was not shut down nicely, we need to fix it. We
only need to worry about the root filesystem at this time.
fsck -y /
- Update root filesystem to read/write mode from read-only.
mount -u /
- You can now 'cd' to the affected directory, and fix the problem.
If you use 'emacs' as I do, simply 'mv' the broken file out, and
'mv' the emacs backup file (same filename with trailing tilda '~')
- You'll need to start over with a full reboot.
Copyright © 1995-2023
(running on host pedicel)