fubar'ed it good this time...

Kurt Buff kurt.buff at gmail.com
Wed Jul 6 03:25:40 UTC 2011


On Mon, Jul 4, 2011 at 15:30, Dr. A. Haakh <bugReporter at haakh.de> wrote:
> Kurt Buff schrieb:
>>
>> On Thu, Jun 30, 2011 at 17:31, Kurt Buff<kurt.buff at gmail.com>  wrote:
>>
>>>
>>> On Tue, Jun 28, 2011 at 06:50, Dr. A. Haakh<bugReporter at haakh.de>  wrote:
>>>
>>>>
>>>> Polytropon schrieb:
>>>>
>>>>>
>>>>> On Mon, 27 Jun 2011 06:40:27 -0700, Kurt Buff wrote:
>>>>>
>>>>>
>>>>>>
>>>>>> Your advice sounds reasonable, but that site seems devoted to zfs
>>>>>> bootables.
>>>>>>
>>>>>> I wonder if an 8.1 livefs iso will do the trick...
>>>>>>
>>>>>>
>>>>>
>>>>> Check if you can download FreeSBIE somewhere. It's a live system
>>>>> using the 5.x and 6.x kernel which should be fine. Next to two
>>>>> GUI modes (light, heavy) it also has a versatile "maintenance mode"
>>>>> for such operations. I have already successfully used this system
>>>>> for solving similar situations, for diagnostics, and for data
>>>>> recovery preparation.
>>>>>
>>>>
>>>> The loader obviously knows how to deal with the filesystem because he
>>>> loads
>>>> the failing new kernel. So the easiest solution would be to boot an
>>>> older
>>>> kernel if available. I don't know how freebsd-update deals with older
>>>> kernels,
>>>> he should still be around. First guess is /boot/kernel.old/kernel.
>>>> So get the loader-prompt, "unload kernel" and try "load
>>>> /boot/kernel.old/kernel".
>>>>
>>>> Andreas
>>>>
>>>
>>> OK - to continue, while I have a few free minutes.
>>>
>>> I have been able to load the old kernel by going to the loader prompt
>>> from the boot menu, and doing
>>>     unload kernel
>>>     load /boot/kernel.old/kernel
>>>
>>> That barked about linproc in fstab, so I edited that out.
>>>
>>> Then, the next go-round: It complained about mismatches on
>>> daemon_saver.ko - a version mismatch, so I've commented that out of
>>> /etc/rc.conf. It also complained about linux.ko, so that's been
>>> commented out in /etc/rc.conf as well.
>>>
>>> I'm now able to reboot cleanly with the old kernel.
>>>
>>> After doing 'freebsd-update install' for the second time, I still
>>> can't get 8.2 to boot - same issue, only acd0 is recognized. However,
>>> I'm logged in as root under the old kernel, though I haven't start
>>> XFCE4, and don't have wireless running.
>>>
>>> This one is getting to be fun...
>>>
>>> Kurt
>>>
>>
>> So, I tried booting from the old kernel again, and then did a
>> 'freebsd-update rollback', and that worked just fine. I thought I'd
>> try again, but first did a 'freebsd-update fetch' and 'freebsd-update
>> install' to get the latest 8.1 updates.
>>
>> That worked just fine, so I did a 'freebsd-update -r 8.2-RELEASE
>> fetch' again, then a 'freebsd-update install', which went just fine,
>> and after that rebooted as directed to attempt the second
>> 'freebsd-update install'.
>>
>> That's when the same thing happened - i got dumped into the mountroot
>> prompt again. And, again, rebooting and escaping to the loader prompt
>> allows me to unload the kernel, load /boot/kernel.old/kernel then
>> autoboot, and boot up. Same as before.
>>
>> Any thoughts?
>>
>
> Redo the rollback to 8.1 and install the 8.2-STABLE source-tree. You can
> install the 8.1-sources from cd and update them to 8.2-STABLE using csup.
>
> Put the following lines in /etc/make.conf
> SUP_UPDATE=     YES
> SUP=            /usr/bin/csup
> SUPHOST=        cvsup2.de.freebsd.org
> SUPFILE=        /usr/share/examples/cvsup/stable-supfile
>
> Make sure that stable-supfile contains the right tag
> *default release=cvs tag=RELENG_8
>
> Then goto /usr/src and "make update |tee _Update.log"
>
> Once the source-tree is up-to-date:
>
> Have a look at the FreeBSD Handbook: Chapter 8 - Configuring the FreeBSD
> Kernel.
>
> Copy GENERIC to e.g. MYKERNEL, edit MYKERNEL and add some debug-flags. See
> /sys/conf/NOTES for additional debug-options. You may as well try GENERIC -
> maybe your problem is gone...
> Then go to /usr/src and do s.th. like "make buildkernel KERNCONF=MYKERNEL"
> and if the kernel built fine install it: "make KERNCONF=YOURKERNEL
> installkernel". You can also add KERNCONF=MYKERNEL to /etc/make.conf instead
> of adding it to the make command.
> Installing the new kernels moves /boot/kernel to /boot/kernel.old and
> installs the new one in /boot/kernel. If the new kernel fails again, you can
> delete it: "rm -rf /boot/kernel && mv /boot/kernel.old /boot/kernel" thus
> putting the previous kernel in the right place.
> If the new kernel fails again, then press the Scroll-key and navigate to the
> disk-probe usind page-up-key. Write down the messages or take a photo and
> post it to this list.
>
> If the STABLE kernel boots fine you will probably want to remove all the
> debugging stuff and rebuild it.
>
> If you intend to keep the 8.1-kernel move it to e.g /boot/kernel-8.1 so it
> will not be deleted, when you install new ones and you can always "load
> /boot/kernel-8.1/kernel" from the loader
>
> Once the new kernel boots fine, cd /usr/src and follow the instructions in
> Makefile how to build and install a new kernel and a new world.
>
> At this point there is no more need for kernel-8.1: delete it.
>
> Andreas

That is roughly the direction I was thinking of heading next.

I'll try this out, and get back to the list with results.

Thanks!

Kurt


More information about the freebsd-questions mailing list