Date: Thu, 10 Apr 2014 23:46:35 -0700 From: Doug Hardie <bc979@lafn.org> To: dteske@FreeBSD.org Cc: freebsd-stable@freebsd.org, 'Chris H' <bsd-lists@bsdforge.com> Subject: Re: 9.2 Boot Problem Message-ID: <1C29F7F1-4A06-4A7A-9884-D33329BBFAB5@lafn.org> In-Reply-To: <0fee01cf5521$37a6be30$a6f43a90$@FreeBSD.org> References: <175D3755-BB9B-4EAD-BDAD-06E9670E06AB@lafn.org> <186472F9-A97B-4863-81BC-67BE788D5E9A@lafn.org> <a865b8f2ccb9ad4918544bad3d49554d.authenticated@ultimatedns.net> <791C8200-023A-4ACB-9B6F-F5A8B0E170F4@lafn.org> <5bfb4fb619954c3dfbd3499aafa98917.authenticated@ultimatedns.net> <4F983E6A-0A7D-403C-AFAA-9CCCCB05716F@lafn.org> <feeca307c8da9ca3b385cf47d75904a7.authenticated@ultimatedns.net> <0f3f01cf5439$13cf8570$3b6e9050$@FreeBSD.org> <981CAA9F-1E67-4E56-A119-BA6D1D29F383@lafn.org> <0fd801cf550e$796db610$6c492230$@FreeBSD.org> <0fee01cf5521$37a6be30$a6f43a90$@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 10 April 2014, at 17:58, dteske@FreeBSD.org wrote: > > >> -----Original Message----- >> From: dteske@FreeBSD.org [mailto:dteske@FreeBSD.org] >> Sent: Thursday, April 10, 2014 3:45 PM >> To: 'Doug Hardie'; dteske@FreeBSD.org >> Cc: freebsd-stable@freebsd.org; 'Chris H' >> Subject: RE: 9.2 Boot Problem >> >> >> >>> -----Original Message----- >>> From: Doug Hardie [mailto:bc979@lafn.org] >>> Sent: Wednesday, April 9, 2014 4:54 PM >>> To: dteske@FreeBSD.org >>> Cc: freebsd-stable@freebsd.org; 'Chris H' >>> Subject: Re: 9.2 Boot Problem >>> >>> >>> On 9 April 2014, at 14:17, dteske@FreeBSD.org wrote: >>> >>>> >>>> >>>>> -----Original Message----- >>>>> From: Chris H [mailto:bsd-lists@bsdforge.com] >>>>> Sent: Wednesday, April 9, 2014 2:03 PM >>>>> To: Doug Hardie >>>>> Cc: freebsd-stable@freebsd.org List >>>>> Subject: Re: 9.2 Boot Problem >>>>> >>>>>> >>>>>> On 9 April 2014, at 13:49, "Chris H" <bsd-lists@bsdforge.com> wrote: >>>>>> >>>>>>>> >>>>>>>> On 9 April 2014, at 11:29, "Chris H" <bsd-lists@bsdforge.com> > wrote: >>>>>>>> >>>>>>>>>> >>>>>>>>>> On 4 April 2014, at 21:08, Doug Hardie <bc979@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@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1C29F7F1-4A06-4A7A-9884-D33329BBFAB5>