9.2 Boot Problem

Doug Hardie bc979 at lafn.org
Wed Apr 9 22:48:06 UTC 2014


On 9 April 2014, at 15:15, <dteske at FreeBSD.org> wrote:

> 
> 
>> -----Original Message-----
>> From: Doug Hardie [mailto:bc979 at lafn.org]
>> Sent: Wednesday, April 9, 2014 3:09 PM
>> To: Chris H
>> Cc: dteske at FreeBSD.org; freebsd-stable at FreeBSD.org
>> Subject: Re: 9.2 Boot Problem
>> 
>> 
>> On 9 April 2014, at 14:40, "Chris H" <bsd-lists at bsdforge.com> wrote:
>> 
>>>> 
>>>> 
>>>>> -----Original Message-----
>>>>> From: Chris H [mailto:bsd-lists at bsdforge.com]
>>>>> Sent: Wednesday, April 9, 2014 2:31 PM
>>>>> To: dteske at FreeBSD.org
>>>>> Cc: 'Doug Hardie'; freebsd-stable at FreeBSD.org
>>>>> Subject: RE: 9.2 Boot Problem
>>>>> 
>>>>>> 
>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Chris H [mailto:bsd-lists at bsdforge.com]
>>>>>>> Sent: Wednesday, April 9, 2014 2:03 PM
>>>>>>> To: Doug Hardie
>>>>>>> Cc: freebsd-stable at freebsd.org List
>>>>>>> Subject: Re: 9.2 Boot Problem
>>>>>>> 
>>>>>>>> 
>>>>>>>> On 9 April 2014, at 13:49, "Chris H" <bsd-lists at bsdforge.com>
> wrote:
>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On 9 April 2014, at 11:29, "Chris H" <bsd-lists at bsdforge.com>
>> wrote:
>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> On 4 April 2014, at 21:08, Doug Hardie <bc979 at lafn.org> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>>> I put this out on Questions, but got no responses. Hopefully
>>>>>>>>>>>>> someone here has some ideas.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> FreeBSD 9.2.  All of my systems are hanging during boot
>>>>>>>>>>>>> right after the screen that has the picture.  Its as if
>>>>>>>>>>>>> someone hit a space on the keyboard.  However, these
>> systems
>>>>>>>>>>>>> have no
>>>>> keyboard.
>>>>>>>>>>>>> If I plug one in, or use the serial console, and enter a
>>>>>>>>>>>>> return, the boot continues properly.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> The boot menu is displayed along with Beastie.  However, the
>>>>>>>>>>>>> line that says Autoboot in n seconds. never appears.  It
>>>>>>>>>>>>> just stops there.  These are all new installs from CD systems.
>>>>>>>>>>>>> I just used freebsd-update to take a toy server from 9.1 to
>>>>>>>>>>>>> 9.2 and it doesn't exhibit this behavior.  It boots properly.
>>>>>>>>>>>>> I have updated one of the production servers with the latest
>>>>>>>>>>>>> 9.2 changes and it still has the issue.  I first thought
>>>>>>>>>>>>> that some config file did not get updated properly on the
>>>>>>>>>>>>> CD.  I have dug around through the 4th files and don't see
>>>>>>>>>>>>> anything obvious that would cause this.  I have now verified
>>>>>>>>>>>>> that all the 4th files in boot are identical (except for the
>>>>>>>>>>>>> version number.  They are slightly different).  I don't
>>>>>>>>>>>>> believe this is a BIOS setting issue as FreeBSD 7.2 didn't
>>>>>>>>>>>>> exhibit this behavior.  All
>>>>>>>>>>>>> 4
>>>>>>>>>>>>> systems are on totally different motherboards.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I tried setting loader_logo="none" in /boot/config.rc and
>>>>>>>>>>>>> that eliminated the menu and Beastie.  I think the system
>>>>>>>>>>>>> completed
>>>>>>> booting, but the serial console was then dead.
>>>>>>>>>>>>> It
>>>>>>>>>>>>> did not respond or output anything.  I had to remove that
>>>>>>>>>>>>> and reboot to get the console back again.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I need to get this fixed as these are production servers
>>>>>>>>>>>>> that are essentially unmanned so its difficult to get them
>>>>>>>>>>>>> back up
>>>>> again.
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> No response here either.  Surely someone must know the
>> loader.
>>>>>>>>>>>> I
>>>>>>> have been digging
>>>>>>>>>>>> through
>>>>>>>>>>>> the code, and can't find any differences between the systems
>>>>>>>>>>>> that
>>>>>>> work and those that
>>>>>>>>>>>> don't.
>>>>>>>>>>>> Is there any way to debug this?  Is there a way to find out
>>>>>>>>>>>> where the
>>>>>>> loader is sitting
>>>>>>>>>>>> waiting on input from the terminal.  That might give a clue
>>>>>>>>>>>> as to why it
>>>>>>> didn't
>>>>>>>>>>>> autoboot.
>>>>>>>>>>>> 
>>>>>>>>>>> OK. This is the first I've seen of your post. I'm not going to
>>>>>>>>>>> profess being an expert. But I might suggest adding the
>>>>>>>>>>> following to
>>>>>>>>>>> loader.conf(5)
>>>>>>>>>>> 
>>>>>>>>>>> verbose_loading="YES"
>>>>>>>>>>> boot_verbose="YES"
>>>>>>>>>>> 
>>>>>>>>>>> This raises the "noise level". Maybe that will help to provide
>>>>>>>>>>> you with a bit more information, as to what, or if, your
>>>>>>>>>>> booting. DO have a look through /boot/defaults/loader.conf for
>>>>>>>>>>> more hints, as to what, and
>>>>>>> how
>>>>>>>>>>> you can control the boot process. As well as
>> /etc/defaults/rc.conf.
>>>>>>>>>>> In fact, you can pre-decide what, and how, to boot. Even
>>>>>>>>>>> passing by the boot menu entirely.
>>>>>>>>>> 
>>>>>>>>>> Thanks Chris.  I did that and here is what I get:
>>>>>>>>>> 
>>>>>>>>>> Rebooting...
>>>>>>>>>> cpu_reset: Stopping other CPUs
>>>>>>>>>> /boot.config: -Dh
>>>>>>>>>> Consoles: internal video/keyboard  serial port BIOS drive A: is
>>>>>>>>>> disk0 BIOS drive C: is disk1 BIOS 640kB/2087360kB available
>>>>>>>>>> memory
>>>>>>>>>> 
>>>>>>>>>> FreeBSD/x86 bootstrap loader, Revision 1.1 (doug at zool.lafn.org,
>>>>>>>>>> Tue Apr  8 20:30:20 PDT 2014) Loading
>>>>>>>>>> /boot/defaults/loader.conf
>>>>>>>>>> Warning: unable to open file /boot/loader.conf.local
>>>>>>>>>> /boot/kernel/kernel text=0xdb3171 data=0xf3c04+0xbb770
>>>>>>> syms=[0x4+0xeda80+0x4+0x1b8ebf]
>>>>>>>>>> zpool_cache...failed!
>>>>>>>>>> \
>>>>>>>>>> H[Esc]ape to loader prompt_   _____ _____
>>>>>>>>>> |  ____|             |  _ \ / ____|  __ \
>>>>>>>>>> | |___ _ __ ___  ___ | |_) | (___ | |  | |
>>>>>>>>>> |  ___| '__/ _ \/ _ \|  _ < \___ \| |  | |
>>>>>>>>>> | |   | | |  __/  __/| |_) |____) | |__| |
>>>>>>>>>> | |   | | |    |    ||     |      |      |
>>>>>>>>>> |_|   |_|  \___|\___||____/|_____/|_____/    ```
> `
>>>>>>>>>>                                           s`
> `.....---.......--.```   -/
>>>>>>>>>> +            Welcome to FreeBSD           + +o   .--`
> /y:`      +.
>>>>>>>>>> |                                         |  yo`:.            :o
> `+-
>>>>>>>>>> |  1. Boot Multi User [Enter]             |   y/        3;46H /
>>>>>>>>>> |  2.--  /                                |
>>>>>>>>>> |                                         |
>>>>>>>>>> |  4. Reboot                              | `:
> :`
>>>>>>>>>> |                                         | `:
> :`
>>>>>>>>>> |  Options:                                  /
> /
>>>>>>>>>> |  5. Configure Boot [O]ptions...            .-
> -.
>>>>>>>>>> |                                             --
> -.
>>>>>>>>>> |                                              `:`
> `:`
>>>>>>>>>> |                                                .--
> `--.
>>>>>>>>>> |
> .---.....----.
>>>>>>>>>> +-----------------------------------------+
>>>>>>>>>> 
>>>>>>>>>>                                              FreeBSD `Nakatomi
>>>>>>>>>> Socrates' 9.2
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Now it waits for a return.  I have tried changing the logo,
>>>>>>>>>> setting the
>>>>>>> autoboot timeout
>>>>>>>>>> and
>>>>>>>>>> a couple others.  The only thing that did anything different
>>>>>>>>>> was setting
>>>>>>> the logo to an
>>>>>>>>>> invalid value.  Basically the console was dead after that, but
>>>>>>>>>> the system
>>>>>>> did boot.  I
>>>>>>>>>> never
>>>>>>>>>> see the Auto Boot in n seconds message.  Its also interesting
>>>>>>>>>> that the list
>>>>>>> of options
>>>>>>>>>> above
>>>>>>>>>> appears incomplete.  On the working system, items 1 through 5
>>>>>>>>>> are all
>>>>>>> present.  I have
>>>>>>>>>> now
>>>>>>>>>> checked all the cksum's for all the files in /boot and they are
>>>>>>>>>> all the
>>>>> same.
>>>>>>>>>> 
>>>>>>>>> Hmmm. Looks like you're going to make me do all your research,
>>>>>>>>> for
>>>>> you.
>>>>>>> ;)
>>>>>>>>> You /did/ read the contents of /boot/defaults/loader.conf. Yes?
>>>>>>>>> I'm
>>>>>>> guessing
>>>>>>>>> that you've also already read loader.4th(8), and the other related
>> info.
>>>>>>>>> Now this is pure supposition; as it appears that you're looking
>>>>>>>>> for a serial console. I'd /speculate/ that you want to turn all
>>>>>>>>> that NASTY ANSI stuff
>>>>>>> OFF
>>>>>>>>> That's why your not seeing the complete menu -- hear that Devin!
>>>>>>>>> I'm going to post just this much for now, just to get you started.
>>>>>>>>> I know what else you need/are looking for. But need to find the
>>>>>>>>> /correct/ syntax
>>>>>>> --
>>>>>>>>> paraphrasing, just won't get it. :)\
>>>>>>>> 
>>>>>>>> Setting loader_color="NO"   (from man page)  does give back the
> full
>>>>> menu.
>>>>>>> Still waits for
>>>>>>>> return after the version name.  I haven't found in the forth
>>>>>>>> where it is
>>>>>>> reading the
>>>>>>>> keyboard.  Yes, I have to use a serial console.  These machines
>>>>>>>> are about
>>>>>>> 100 miles away.
>>>>>>>> Something is stopping the autoboot from even starting.
>>>>>>> 
>>>>>>> See my reply to this. I think I've given you the hints you need --
>>>>>>> fingers crossed. :)
>>>>>>> 
>>>>>> 
>>>>>> He's using console=comconsole (serial boot).
>>>>>> When that is the case, loader_color is automatically set to NO.
>>>>>> There's no reason to set both loader_color=NO and console=
>> comconsole.
>>>>>> The code that does this is here:
>>>>>> 
>>>>>> 
>>>>> 
>> https://urldefense.proofpoint.com/v1/url?u=http://svnweb.freebsd.org
>>>>> /b
>>>>>> 
>>>>> 
>> ase/release/9.2.0/sys/boot/forth/color.4th?revision%3D255898%26view%
>>>>> 3D
>>>>>> 
>>>>> 
>> markup&k=%2FbkpAUdJWZuiTILCq%2FFnQg%3D%3D%0A&r=Mrjs6vR4%2Faj
>>>>> 2Ns9%2FssH
>>>>>> 
>>>>> 
>> Jjg%3D%3D%0A&m=Sb5WGVC5%2BWtjRcyJpnVxPn6RX4sdiUdLbrbhmjen5T
>>>>> k%3D%0A&s=7
>>>>>> 093c40428c7d3ff090a2b2ecf2383b6f8eb570b313f498f1e5fdd1af84c3103
>>>>>> Line 48 within the loader_color? function:
>>>>>> 	boot_serial? if FALSE else TRUE then
>>>>>> 
>>>>>> As for answering the quandary of where the keyboard is polled
>>>>>> during the timeout countdown, that's the getkey function in here:
>>>>>> 
>>>>>> 
>>>>> 
>> https://urldefense.proofpoint.com/v1/url?u=http://svnweb.freebsd.org
>>>>> /b
>>>>>> 
>>>>> 
>> ase/release/9.2.0/sys/boot/forth/menu.4th?revision%3D255898%26view%3
>>>>> Dm
>>>>>> 
>>>>> 
>> arkup&k=%2FbkpAUdJWZuiTILCq%2FFnQg%3D%3D%0A&r=Mrjs6vR4%2Faj2
>>>>> Ns9%2FssHJ
>>>>>> 
>>>>> 
>> jg%3D%3D%0A&m=Sb5WGVC5%2BWtjRcyJpnVxPn6RX4sdiUdLbrbhmjen5Tk
>>>>> %3D%0A&s=54
>>>>>> b92411337a79a77d0308c0f50c147845f246a911bd6b888aa3f6a08c3299b6
>>>>> 
>>>>> Hi Devin. I was hoping you'd join the conversation. :) I
>>>>> /personally/ didn't suggest that he issue both color=NO /and/
>> boot_serial.
>>>>> In fact, I only suggested using loader_logo="beastiebw" as that's
>>>>> how I managed to /finally/ get a usable boot menu, when I first
>>>>> attempted to use/install 9.2. I'd have written a pr(1). But as the
>>>>> /whole/ experience was new -- hardware /and/ 9.2. I just wrote it
>>>>> off. But now I suspect that there may be more to it.
>>>>> 
>>>>> Thanks for chiming in.
>>>>> 
>>>> 
>>>> Just for clarification...  do I need to debug a broken feature?
>>>> Do we know what combination causes boot to hang?
>>> 
>>> I think we're still "debugging" it. I see no indication he's got a
>>> /normally/ functioning boot, yet.
>> 
>> The only thing not functioning is autoboot.  It stops and no visible
> autoboot
>> message is displayed.  Entering a return resumes the boot and all is fine
> after
>> that.  The autoboot message may be displayed and then immediately
>> removed.  It appeared that might be the case once, but haven't been able
> to
>> capture that as the system clears the line immediately.  Most of the time
> the
>> flash is not visible.  Once it was, but was gone before I could read it.
>> 
>> Note, I have 4 systems exhibiting this behavior and one that is not.  The
> 4
>> with the problem were upgraded from 9.1 and probably through several RCs
>> and then to 9.2.  The working one was a new install.
>> 
>> I have not been able to find any differences in /boot between the working
>> and non-working systems.
>> 
> 
> You've looked at Forth files, but what about md5-comparison of the x86 boot
> sectors? (boot0, boot0sio, etc.)
> 
> And also, the one thing that strikes me here is... the boot code that is
> written
> to the disk. This won't be updated through a general buildworld/installworld
> combo nor through a freebsd-update approach.
> 
> Wondering if it's worth writing an updated bootcode to your boot part.
> 
> I can't recall if I wrote the enhancements that appear in 9.2 *on* 9.2 or if
> (done often) I wrote them on a 9.0-R box and then re-tested on a 9.2.
> -- 
> Devin


I used:

gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0

and then rebooted the system.  Same issue - hangs with no autoboot message.




More information about the freebsd-stable mailing list