On Thu, 7 Jun 2007, Shag Bag wrote: > I've installed OpenBSD4.1 from the 3 CD set which I purchased shortly after > it was released and have been running it on and off ever since. However, > this morning I tried to boot it and it came up with the above error (full > error listing below). > > I re-installed the whole OS yesterday (everything except bsd.mp and > game41.tgz) and it was working fine. The only thing I did after re-install > was add a few packages and ports and compile the LookXP source packages from > http://lxp.sourceforge.net. I have not knowingly touched the boot.conf file > at all so I'm at a loss as to how the above error is showing. > > I have read the biosboot(8) man page but it didn't help. I am new to > OpenBSD having come from a brief linux background and would appreciate any > help. > > I could always simply re-install OpenBSD4.1 again but this would be a last > resort as: > i) I'd like to know what the cause of the problem is and how to fix it - > in case it happens again; > ii) I wouldn't learn anything if I simply reinstalled everytime; and > iii) I've spent a lot of time configuring icewm to get it like I want and am > loathed to go through this process again. > > The full error list I'm getting is: > > Loading... > probing: pc0 apm mem[632K 2046M a20=on] > disk: fd0 hd0+* > >> OpenBSD/i386 BOOT 2.13 > open(hd0a:/etc/boot.conf): Invalid argument > boot>
Well, evidently there's something wrong with /etc/boot.conf, right? First, if you haven't done it already, print out the man page for ed(1), even from a linux system. On paper. So boot the installation CD again. Instead of "update" or "install", select "shell" At the prompt (#), mount your root partition. Do I know what it is? No. I'll guess that it is either /dev/sd0a or /dev/wd0a Anyway, mount it: # mount /dev/sd0a /mnt Now you can look at (and edit, using "ed(1)") the file in question. (Maybe you get errors? Maybe you need to run fsck on that partition before mounting it?) # cat /mnt/etc/boot.conf Tell us what you see. You can edit it. The routine PeeCee installation doesn't even need this file to exist. To edit: # ed /mnt/etc/boot.conf What no manpage? Didn't print it out? Don't know how to use ed(1)? Expected ed to pop up "help windows?" Thought I was lying? Here's your second chance: # mount /dev/sd0d /mnt/usr Assuming sd0d is where your /usr is. Forgot where that is? # cat /mnt/etc/fstab read what it says. Maybe your /usr is on the same partition as /, (linux having poisoned your mind in this regard), in which case it's already mounted. (partition = what disklabel makes. Not what fdisk manipulates). The man page is right there /mnt/usr/share/man/cat1/ed.0 Try to "more" it. I don't recall if "more" is available on the bsd.cd ramdisk, if not you're going to have to read quickly. Try running /mnt/usr/bin/more Would rather use vi? Well, maybe it's there under /mnt/usr/bin/vi Maybe it will even work. But this is diverging from topic. Summary: you can mount and manipulate your harddrive(s) from the "installation" CD using sh. It is not scary, just touchy. The simple manipulation might be just: # mv /mnt/etc/boot.conf /mnt/etc/boot.conf.bad and try rebooting from the harddisk. I have an uneasy feeling that something else may be wrong. If you found this post highly useful and full of new info and startling concepts, there's a openbsd-newbies list at sfobug.org. Visit http://sfobug.org for further info. Dave