9.2 Boot Problem
Doug Hardie
bc979 at lafn.org
Fri Apr 11 06:46:50 UTC 2014
On 10 April 2014, at 17:58, dteske at FreeBSD.org wrote:
>
>
>> -----Original Message-----
>> From: dteske at FreeBSD.org [mailto:dteske at FreeBSD.org]
>> Sent: Thursday, April 10, 2014 3:45 PM
>> To: 'Doug Hardie'; dteske at FreeBSD.org
>> Cc: freebsd-stable at freebsd.org; 'Chris H'
>> Subject: RE: 9.2 Boot Problem
>>
>>
>>
>>> -----Original Message-----
>>> From: Doug Hardie [mailto:bc979 at lafn.org]
>>> Sent: Wednesday, April 9, 2014 4:54 PM
>>> To: dteske at FreeBSD.org
>>> Cc: freebsd-stable at freebsd.org; 'Chris H'
>>> Subject: Re: 9.2 Boot Problem
>>>
>>>
>>> On 9 April 2014, at 14:17, dteske at FreeBSD.org wrote:
>>>
>>>>
>>>>
>>>>> -----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:
>>>>
>>>>
>> http://svnweb.freebsd.org/base/release/9.2.0/sys/boot/forth/color.4th?
>>>> revision=255898&view=markup 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:
>>>>
>>>>
>>>
>> http://svnweb.freebsd.org/base/release/9.2.0/sys/boot/forth/menu.4th?r
>>>> evision=255898&view=markup
>>>> --
>>>
>>>
>>>
>>> I commented out the 3 cursor positions in menu-timeout-update. It
>>> does not appear that word is being used. The Autoboot message never
>> appeared.
>>> Obviously getkey is being used as it does respond properly to a
>>> return. I
>> am
>>> beginning to suspect that menu_timeout_enabled is zero. I believe
>>> adding
>> a
>>> line after getkey's begin with
>>>
>>> s"menu_timeout_enabled = " type menu_timeout_enabled @ . 10 spaces
>>>
>>> will tell me.
>>>
>>
>> If ENTER is accepted for boot, it's quite likely that ESC is accepted to
> drop to
>> the loader prompt. In which case you can interrogate the values inter-
>> actively (rather than risking that a bad file-edit makes your system non-
>> bootable).
>>
>> To replicate your issue, I've set in /boot/loader.conf:
>>
>> autoboot_delay=NO
>>
>> This gives me the describe in-action at the menu (until keystroke).
>>
>> If I hit ENTER, it boots, or I press ESC it drops to loader prompt.
>>
>> Of course, but this time, the menu_timeout_enabled variable has been set
>> to zero, so you'll be stepping in at a time when it's too late to
> interrogate the
>> value pre-modification.
>>
>> Another trick is to set in loader.conf:
>>
>> loader_delay=3
>>
>> And then Ctrl-C the delay that occurs prior to loading the menu.
>> You'll get a prompt _before_ the menu loads and can step through the Forth
>> commands one at a time (interrogating as you go -- that's what I'm doing
>> now, except that I don't have the reproduction of menu_timeout_enabled
>> becoming zero -- that's usually only the case if autoboot_delay is set to
> NO,
>> case insensitively).
>
> I thought of something... you've thus-far compared the Forth files, you've
> also tried rewriting the boot sector...
>
> But...
>
> Have you checked to see that /boot/defaults/loader.conf doesn't differ
> between your working (from-scratch install) and non-working (upgraded)
> boxen?
>
> Only reason I ask is because I've been writing some doing some testing
> to see "what happens when you make a typo in one of the *.conf files"
> (HINT: all remaining directives to be processed, aren't). Not saying that's
> what's going on here, but it gave me a thought since I hadn't heard if the
> defaults/loader.conf file had been checked for potential oddities between
> the two types of systems.
> --
> Devin
That has been checked also. They are identical. Diff shows no differences.
More information about the freebsd-stable
mailing list