Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 04 Apr 2010 16:05:02 +1000
From:      Henry Grebler <henrygrebler@optusnet.com.au>
To:        Garrett Cooper <yanefbsd@gmail.com>
Cc:        freebsd-bugs@freebsd.org
Subject:   Re: conf/145311: loader.conf can cause boot hang 
Message-ID:  <201004040605.o34652Nb014528@mail01.syd.optusnet.com.au>
In-Reply-To: <m2o7d6fde3d1004031807h2ff26c83uab409f2ba8589878@mail.gmail.com>  message dated "Sat, 03 Apr 2010 18:07:22 -0700."

next in thread | previous in thread | raw e-mail | index | archive | help

Hi Garrett,



-->    Try the following steps exhibit the same problem:
-->
-->- Remove sem_load="YES". Execute `load sem' in the bootloader.
-->- Empty out loader.conf. Then boot up with the bootloader once again and do:
-->
-->load ukbd
-->load snd_ich
-->
-->Please try all of the steps with boot -v to see what happens.


All of the following were performed with an empty loader.conf.

1. First try:

	load ukbd
/boot/kernel/ukbd.ko text=...
OK


That seems a bit odd to me. I was given to understand that ukbd is
already in the kernel.

	load sem
OK	load snd_ich
/boot/kernel/snd_ic.ko text=...
loading required module 'sound'
/boot/kernel/snd_ic.ko text=...
OK	boot -v


As far as I can tell, hangs in the same way (and the same as 3.2 of my
last email).


2. Second try (different order):

	load sem
	load ukbd
	load snd_ich
	boot -v

As far as I can tell, hangs as in 1 above.


3. Third try (omit sem):

	load ukbd
	load snd_ich
	boot -v

Hangs.


4.

	load sem
	load snd_ich
	boot -v

Boots ok.


5.
	load ukbd
	load sem
	boot -v

Boots ok.


6. Different order from 3 above.
 
	load snd_ich
	load ukbd
	boot -v

Hangs.


It doesn't look like module sem is relevant.

So, both modules snd_ich and ukbd must be loaded to cause the hang.

Is it possible there is some sort of interaction between them?


7. I don't know how these things work. When there is no reponse after
"load sem", does that mean it did not do anything?

I tested this hypothesis: I did:

	load ukbd
	load ukbd

After the first command, I got the usual response
("/boot/kernel/ukbd.ko text=..."); but when I repeated it, nothing:

OK load ukbd
/boot/kernel/ukbd.ko text=...
OK load ukbd
OK

So, why is the first command loading a file when
/usr/src/sys/i386/conf/GENERIC has a line to load the driver?
Here it is:

device          ukbd            # Keyboard

The man page ukbd(1) says:

     To compile this driver into the kernel, place the following line
     in your
     kernel configuration file:

           device ukbd




-->play OS'. If it's currently disabled, try enabling it. Also, try
-->disabling SMP to see if that has any affect:
-->
-->set machdep.hlt_cpus=1

Is this relevant for a machine with a single CPU?


Cheers,
Henry



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004040605.o34652Nb014528>