El kernel de Linux se cuelga en 'Cambiar a tscksource tsc "en Pentium 4

11

Hardware: Dell Dimension 4500S : i845G, Pentium 4, stock + 2GB RAM y la última actualización del BIOS (circa 2002).

He estado construyendo un sistema Linux desde la fuente, hasta ahora es LFS 7.0 según el libro. El primer kernel que construí funciona bien, pero tiene mucha pelusa e hinchazón, por lo que ahora estoy optimizando el kernel para mi hardware de destino (ver arriba).

Mi último intento de configuración, y varias variaciones de prueba y error, han estado continuamente pendientes de la declaración printk "Cambio a tscksource tsc". Mi "buen" núcleo nunca ha tenido un problema ... esta es la versión 3.1.0 por cierto. Ambos se están construyendo desde el mismo árbol fuente, sin parches, make mrproper, make menuconfig, etc, así que obviamente estoy solo falta alguna clave CONFIG_XXXbandera.

He estado mirando este problema durante más de un día y he creado el núcleo quién sabe cuántas veces, pero fue en vano.

Una cosa que me parece interesante es con el buen núcleo que obtengo:

# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc

Además, puede ser útil saber ...

# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc acpi_pm

He intentado la configuración de compilación con varias opciones, pero en este momento no puedo recordar ningún detalle, así que no pregunte. De mi búsqueda he encontrado y probado varios parámetros del kernel, como clocksource=pity notsc, pero todos estos también fallan. Nuevamente, desearía haber escrito todo lo que he intentado hasta ahora, en retrospectiva ...

La mayoría de los ejemplos de foros son para núcleos 2.x y se resolvieron con alguna variación de las opciones de arranque, pero mi núcleo bueno solo lo utiliza root=/dev/sdaX ro. Entonces sé que soy dorado con esta combinación de hardware y kernel 3.1.0 si puedo encontrar la configuración de compilación correcta.

Además, la mayoría de las personas que publicaron un problema similar dicen que después de unos minutos, el sistema continuará cargándose y todo está lleno de color. Lo dejé inactivo el tiempo suficiente para cocinar la cena y aún no ha reanudado la carga.

Espero que uno de ustedes, los gurúes, lea esto y diga "oye, sí, acabo de configurar CONFIG_XXX = y en mi dinosaurio P4 y funcionó muy bien". :)

Déjame saber qué necesitas que pruebe o verifique, estaré encantado de publicar los resultados.

rfmodulator
fuente
@tripleee ¿Dónde puedo ver esa información ... la razón detrás de una votación cerrada?
rfmodulator
Tal vez no puedas, tu reputación puede no ser suficiente. De todos modos, dado que esto no está relacionado con la programación, tiene sentido moverse, pero todo lo que se necesita son unos cuantos votos más. Agregaré el mío también.
tripleee
Estoy enfrentando problemas similares con el nuevo kernel con Pentium 4. Todo funciona si deshabilito hyperthreading. Pasé dos noches depurando, aún no estoy seguro de los detalles.
choroba
@choroba nohtno lo hace por mí. Avísame si tienes otras ideas.
rfmodulator
De hecho, tuve que apagar ht a nivel de BIOS, o especificar acpi=off.
choroba

Respuestas:

8

De una búsqueda rápida, este problema parece tener muchas razones posibles, y parece apuntar al hecho de que el valor predeterminado de su nuevo núcleo para la fuente del reloj es incorrecto para su placa base.

Un consejo que funcionó para algunos fue usar clocksource=hpeto clocksource=acpi_pm.

En otro hilo , alguien solucionó esto clocksource=jiffies, otro aconsejó probar noapico nolapic, otro apagar acpi en el BIOS, y otro culpó al panel táctil Synaptics y solucionó su problema eliminando Xorg.conf.

Un generador de kernel solucionó su problema recompilando initrd sin fbcondecor.

Espero que esto ayude, ya que parece que este problema puede tener muchas causas.

harrymc
fuente
Gracias por su respuesta, sin embargo, estoy buscando opciones de configuración de compilación del kernel que causen (o eviten) el bloqueo en el momento del arranque que estoy observando, no una solución. He intentado todos los parámetros de arranque relevantes ( clocksource=, no*, etc.) que se observaron en varios hilos del foro, sin ningún efecto. Hice estos extractos en un intento de reducir mi problema real. Ya tengo un kernel que arranca perfectamente sin ningún parámetro especial (aparte root=y ro) construido desde el mismo árbol fuente, pero este kernel contiene más cosas que no necesito, que las que necesito ...
rfmodulator
... excepto esa CONFIG_bandera clave que resolverá mi problema.
rfmodulator
¿Es posible que su problema sea que ha desactivado demasiadas opciones de kernel?
harrymc
Precisamente. :) Esa es la respuesta que estoy buscando, ¿qué he desactivado que realmente se necesita? Lo he hecho varias veces sin cambios en el resultado.
rfmodulator
No puedo ayudarte con una palabra mágica. Parece que su fuente de reloj actual es acpi_pm, pero tendrá que profundizar en las fuentes del núcleo para averiguar con la configuración del núcleo que utilizó. La otra opción es volver a la configuración que funcionó y desactivar las opciones en incrementos para localizar el problema. Para "alegrarte", también puedo decir que esta podría no ser una opción sino varias, lo que significa un conflicto o una combinación de configuración no viable o una dependencia no documentada.
harrymc
0

Tengo exactamente el mismo problema aquí y leí MUCHO. @harrymc hizo un resumen bastante bueno.

Solo agregaré 2 cosas que aprendí de mi investigación:

  • El problema proviene de su kernel de Linux que no sabe cómo manejar su procesador porque no puede averiguar cuál es su reloj de procesamiento. Puede observar esto revisando el registro de arranque del kernel. Parece que el núcleo está tratando de medir su reloj de procesamiento (para mí era como "2997.1333" pero cada arranque cambiaba a "2997.1445", "2997.1379", ...).

  • Después de probar muchas cosas, finalmente llegué aquí y descubrí el BIOS. El mío es GYGABITE UEFI. Configuré los parámetros nuevamente en "Configuración predeterminada optimizada" y configuré "Tecnología de virtualización Intel" en "habilitado".

¡Ahora, todo ha vuelto a la normalidad para mí! Espera que esto ayude.

MaximeBernard
fuente
0

A unos pocos centavos de mi parte, no estoy seguro de si es algo común o no, pero pude hacer que Ubuntu funcione al deshabilitar el 'temporizador de alta precisión' en el BIOS. Mi mb es gigabyte z77x-d3h

Oxi
fuente
El sistema OP no es compatible con el temporizador de eventos de alta precisión. Eso se introdujo en 2005, y el sistema del póster original es anterior a varios años.
ChrisInEdmonton
-2

Solucioné el problema agregando el siguiente parámetro kernel:

noapic
Kiroe
fuente
55
Bienvenido a Super User. ¿Puede ampliar su respuesta explicando qué hace esto / cómo resuelve el problema del OP?
Digo reinstalar a Mónica el
no sry, solo jugué con los parámetros del kernel.
Kiroe