View previous topic :: View next topic |
Author |
Message |
Theasker l33t
Joined: 18 Nov 2006 Posts: 656 Location: Zaragoza (Spain)
|
Posted: Tue Jan 15, 2013 12:54 pm Post subject: [kernel] compilación desde 0 [resuelto] |
|
|
Hace tiempo que estoy con el 3.4.9 y al compilar el que hay ahora estable 3.6.11 arranca bien pero no me funicona el teclado. Aprovechando este contratiempo quería hacer una limpieza y saber que mi kernel está todo lo limpito que puede estar y con lo mínimo.
El problema es que quitando drivers y file sistems que se más o menos lo que hay o no hay que poner, con lo del procesador y las demás opciones no se casi na. Las opciones que te avisa que si no sabes lo que es no lo conectes bien, pero hay muchas que no tengo ni idea de lo que es, incluso leyendo la ayuda.
¿Cómo sería lo más facil para dejarlo todo lo limpio posilbe y que no instale ni carge nada superfluo?
Si no cargo ningún .config, ¿ya van activadas las opciones necesarias mínimas, al menos para procesador, aunque no para drivers?
Gracias anticipadas y saludos a tod@s _________________ "Oigo y olvido. Veo y recuerdo. Hago y comprendo"
Last edited by Theasker on Wed Jul 10, 2013 1:24 pm; edited 1 time in total |
|
Back to top |
|
|
Pablo S. Barrera l33t
Joined: 16 May 2006 Posts: 642 Location: Mataderos. Argentina. America del Sur
|
Posted: Tue Jan 15, 2013 1:11 pm Post subject: |
|
|
Si no copias el .config no te va a tomar nada de la vieja configuracion, pero el kernel, a pesar de que va a ser el basico va a necesitar los retoques necesarios para que corra en tu sistema. Hay una guia para seguir, donde hace incapie en: Filesystem, Ext2, ext3, ext4, reiserfs o los sistemas de archivos que tengas, eso no te lo olvides porque no arranca, y tambien el driver adecuado de tus discos. Por las dudas no borres el viejo kernel. Cuando compiles el nuevo fijate el microprocesador que te toma.
Si queres copia un lspci, modelo de mother y vamos armando el kernel. Lo más importante de todo esto es que vos sepas bien que hardware tenés, no es lo mismo compilar 20 drivers de cada placa que compilar el adecuado. A veces por las dudas es mejor que sobre y no que falte pero ahi esta el gran equilibrio entre funcionalidad y equilibrio. _________________ Sin lluvia nunca disfrutariamos del arcoiris. |
|
Back to top |
|
|
Theasker l33t
Joined: 18 Nov 2006 Posts: 656 Location: Zaragoza (Spain)
|
Posted: Tue Jan 15, 2013 1:36 pm Post subject: |
|
|
Entonces, según dices, si no copio el kernel anterior y lo dejo como está, se queda básico, por lo que si configuro el tipo de procesador, sistemas de ficheros (ext4,ext2...) y drivers varios, ¿debería funcionar sin configurar nada más? o debería configurar algo que no venga por defecto y que sea importante. _________________ "Oigo y olvido. Veo y recuerdo. Hago y comprendo" |
|
Back to top |
|
|
Pablo S. Barrera l33t
Joined: 16 May 2006 Posts: 642 Location: Mataderos. Argentina. America del Sur
|
Posted: Tue Jan 15, 2013 2:53 pm Post subject: |
|
|
Tenes que configurar, placas de audio, video, red, drivers sata/pata de tus discos, esto es fundamental.
En esta guia esta todo explicadito, fijate de usar la de tu micro.
http://www.gentoo.org/doc/es/handbook/handbook-x86.xml?part=1&chap=7 _________________ Sin lluvia nunca disfrutariamos del arcoiris. |
|
Back to top |
|
|
Stolz Moderator
Joined: 19 Oct 2003 Posts: 3028 Location: Hong Kong
|
Posted: Tue Jan 15, 2013 8:50 pm Post subject: |
|
|
Para compilar un kernel "limpio", sin ninguna opcion seleccionada:
A partir de ahí, con make menuconfig seleccionas lo mínimo para que arranque. Si andas perdido lo mejor es seguir el proceso opuesto, es decir, ir quitando opciones hasta que no arranque o algo deje de funcionar. |
|
Back to top |
|
|
cohone Tux's lil' helper
Joined: 27 Mar 2006 Posts: 113
|
Posted: Wed Jan 16, 2013 9:18 am Post subject: Re: [kernel] compilación desde 0 |
|
|
Theasker wrote: | Hace tiempo que estoy con el 3.4.9 y al compilar el que hay ahora estable 3.6.11 arranca bien pero no me funicona el teclado. Aprovechando este contratiempo quería hacer una limpieza y saber que mi kernel está todo lo limpito que puede estar y con lo mínimo.
El problema es que quitando drivers y file sistems que se más o menos lo que hay o no hay que poner, con lo del procesador y las demás opciones no se casi na. Las opciones que te avisa que si no sabes lo que es no lo conectes bien, pero hay muchas que no tengo ni idea de lo que es, incluso leyendo la ayuda.
¿Cómo sería lo más facil para dejarlo todo lo limpio posilbe y que no instale ni carge nada superfluo?
Si no cargo ningún .config, ¿ya van activadas las opciones necesarias mínimas, al menos para procesador, aunque no para drivers?
Gracias anticipadas y saludos a tod@s |
Que no funcione el teclado y raton me ha pasado varias veces al cambiar de kernel, se soluciona haciendo un emerge de los módulos de x11 Code: | emerge -p @x11-module-rebuild |
Saludos |
|
Back to top |
|
|
Arctic Apprentice
Joined: 04 Jul 2011 Posts: 207
|
Posted: Mon Jan 21, 2013 2:09 am Post subject: |
|
|
Stolz wrote: | Para compilar un kernel "limpio", sin ninguna opcion seleccionada:
A partir de ahí, con make menuconfig seleccionas lo mínimo para que arranque. Si andas perdido lo mejor es seguir el proceso opuesto, es decir, ir quitando opciones hasta que no arranque o algo deje de funcionar. |
Salu2 _________________ ln -s /user/artic /user/arctic |
|
Back to top |
|
|
Stolz Moderator
Joined: 19 Oct 2003 Posts: 3028 Location: Hong Kong
|
Posted: Mon Jan 21, 2013 9:26 am Post subject: |
|
|
Arctic wrote: | Stolz wrote: | Para compilar un kernel "limpio", sin ninguna opcion seleccionada:
A partir de ahí, con make menuconfig seleccionas lo mínimo para que arranque. Si andas perdido lo mejor es seguir el proceso opuesto, es decir, ir quitando opciones hasta que no arranque o algo deje de funcionar. |
Salu2 |
No es lo mismo Arctic. mrproper limpia el kernel, no lo compila. Con mrproper eliminas la configuración, todos los archivos generados por la compilación y algo más que no recuerdo bien. Vamos, te quedas solo con las fuentes.
Con allnoconfig en cambio lo compilas con el mínimo posible de opciones seleccionadas. Se supone que es ideal para hacer justo lo que prguntó Theasker es decir, deseleccionar todo lo superfluo e ir activano solo las cosas que necesites. |
|
Back to top |
|
|
Arctic Apprentice
Joined: 04 Jul 2011 Posts: 207
|
Posted: Mon Jan 21, 2013 1:42 pm Post subject: |
|
|
Stolz wrote: | Arctic wrote: | Stolz wrote: | Para compilar un kernel "limpio", sin ninguna opcion seleccionada:
A partir de ahí, con make menuconfig seleccionas lo mínimo para que arranque. Si andas perdido lo mejor es seguir el proceso opuesto, es decir, ir quitando opciones hasta que no arranque o algo deje de funcionar. |
Salu2 |
No es lo mismo Arctic. mrproper limpia el kernel, no lo compila. Con mrproper eliminas la configuración, todos los archivos generados por la compilación y algo más que no recuerdo bien. Vamos, te quedas solo con las fuentes.
Con allnoconfig en cambio lo compilas con el mínimo posible de opciones seleccionadas. Se supone que es ideal para hacer justo lo que prguntó Theasker es decir, deseleccionar todo lo superfluo e ir activano solo las cosas que necesites. |
Ok, culpa mia por leer rápido...........
Vale la pena pulir tanto la configuración del kernel ??? Tampoco irse al extremo de poner todo en yes, pero salvo tener una imagen mas pequeña y liberar "ligeramente" la RAM ????
Salu2 _________________ ln -s /user/artic /user/arctic |
|
Back to top |
|
|
papu l33t
Joined: 25 Jan 2008 Posts: 709 Location: Sota algun pi o alzina...
|
Posted: Mon Jan 21, 2013 2:41 pm Post subject: |
|
|
yo he tenido la paciencia de guardar un .config durante años( no recuerdo cuantos) e ir jugando con él segun mis actualizaciones del pc o ir quitando poco a poco cosas que no necesito poniendolas como MODULO siempre que sea posible hacerlo asi no ocupan sitio en la imagen y solo se cargan si son necesarias.
siempre he guardado varias versiones de .config para ir jugando con ellas a partir de una .config digamos raiz done todo se que va funcionar, lo demás de tanto mirar el .config te se quedan las cosas esenciales jajaja.
cargando anteriores .config con make oldconfig es lo que utilizo siempre. Antes de compilar nuevo kernel utilizo make mrproper aunque ultimaente make distclean, antes de ahcer eso hay que acordarse de guardar el .config actual si es que te interesa hacerlo sino desaparece y cagada.
ahora estoy usando gentoo-sources pq me lo pide ati-drivers, antes usaba kernels vainilla y tampoco había problemas.
sino se tiene un punto de referencia la mejor opcion es la que ha dicho Stolz , sin perder el .config que tengas actulamente por si algo no tira.
saludos, ad1 _________________ "~amd64" --cpu 7700 non-x --DDR5 2x16GB 6000MHz --gpu RX 470
Last edited by papu on Mon Jan 21, 2013 3:47 pm; edited 1 time in total |
|
Back to top |
|
|
gringo Advocate
Joined: 27 Apr 2003 Posts: 3793
|
Posted: Mon Jan 21, 2013 3:44 pm Post subject: |
|
|
Quote: | Vale la pena pulir tanto la configuración del kernel ??? |
a ver, no tiene sentido tener habilitado drivers u otras funcionalidades que no se van a usar pero si alguien se espera que por tener un kernel con lo justo va a ser mas rápido o comer menos ram, me temo que la diferencia ( si es que la hay) no va a ser cuantificable. Si lo que se busca es un binario pequeño ( del kernel me refiero) entonces si se puede uno poner a investigar pero al final acabarás tirando de initrd.
Solo comentar que hay tb. un make defconfig , que viene siendo una configuración por defecto para la arquitectura seleccionada pero ya he leído en varios sitios que para entornos de "escritorio doméstico" no se debe usar porque está obsoleto.
saluetes |
|
Back to top |
|
|
Stolz Moderator
Joined: 19 Oct 2003 Posts: 3028 Location: Hong Kong
|
Posted: Mon Jan 21, 2013 3:56 pm Post subject: |
|
|
A mi en mi casó si me valió la pena cuando lo usé en su día porque por aquel entonces compilar un kernel con opciones típicas podía tardar más de media hora. Desde entonces vengo compilando mis kernels con make oldconfig y cada año que pasa poco a poco se van marcando cosas nuevas y desmarcando cosas antiguas. Como ya dije antes, ahora que compilar y reiniciar es cuestión de minutos creo que es mejor partir de un kernel que te funcione e ir quitando opciones hasta que deje de arrancar o funcionar algo. |
|
Back to top |
|
|
Yczo Apprentice
Joined: 09 Jul 2011 Posts: 225
|
Posted: Mon Jan 21, 2013 7:27 pm Post subject: |
|
|
Hola, para los que son novatos como yo y algun día nos gustaría saber lo que hacemos aqui aporto la que para mi es la guía semi definitiva (No he encontrado nada mejor en la web)
http://kernel-seeds.org/settings-00.html
Un cordial saludo |
|
Back to top |
|
|
Theasker l33t
Joined: 18 Nov 2006 Posts: 656 Location: Zaragoza (Spain)
|
Posted: Wed Jan 30, 2013 9:04 am Post subject: |
|
|
gracias a todos, en cuanto consiga hacer funcionar el montaje de dispositivos y el poder apagar/reiniciar con mi usuario (supongo que problemas con consolekit) me pongo al tema con el kernel.
Me habéis ayudado bastante.
Un saludo a todos _________________ "Oigo y olvido. Veo y recuerdo. Hago y comprendo" |
|
Back to top |
|
|
deovex n00b
Joined: 27 Jun 2007 Posts: 74 Location: Buenos Aires, Argentina.
|
Posted: Wed Jan 30, 2013 2:58 pm Post subject: |
|
|
Hace poco tuve que limpiar el kernel quitando opciones hasta que deje de funcionar.
¿Cuales son los pasos para compilar el kernel de manera correcta?
Lo que hago es simplemente copiar .config al nuevo kernel y luego hago make menuconfig y lo compilo. Nada mas. Debería hacer make oldconfig, make mrproper, etc?.
Saludos! |
|
Back to top |
|
|
papu l33t
Joined: 25 Jan 2008 Posts: 709 Location: Sota algun pi o alzina...
|
Posted: Wed Jan 30, 2013 5:23 pm Post subject: |
|
|
deovex wrote: | Hace poco tuve que limpiar el kernel quitando opciones hasta que deje de funcionar.
¿Cuales son los pasos para compilar el kernel de manera correcta?
Lo que hago es simplemente copiar .config al nuevo kernel y luego hago make menuconfig y lo compilo. Nada mas. Debería hacer make oldconfig, make mrproper, etc?.
Saludos! |
yo lo hago así:
kernel vanilla (o gentoo-sources):
1--------- cd /usr/src/ y bajar nuevo_kernel wget nuevo_kernel .
2--------- decomprimir: tar -xvJf nuevo_kernel. Si usas kernel gentoo-sources los pasos 1) 2) son automáticos y con el USE="symlink" incluye también enlazar al nuevo_kernel del paso 5)
3--------- copia de seguridad del .config si es que no se tiene ya cp linux/.config .config-anterior
4--------- limpieza de un kernel ya compilado (opcional y realizable cuando se quiera): cd /usr/src/linux (este directorio ha de apuntar siempre al kernel en cuestión que se quiera limpiar) y make clean o make mrproper o make distclean , de menor a mayor limpieza; yo uso distclean. Este paso es opcional si se quieren mantener varios kernels activos.
5--------- cd /usr/src/ y enlazar nuevo_kernel a linux: ln -sfn nuevo_kernel linux y cd /usr/src/linux
6--------- make oldconfig carga las opciones de un .config anterior y pregunta por las nuevas, interactivamente, si existen.
7--------- make nconfig para entrar en la configuración manual y grabar cuando sea necesario.
8-------- compilar el nuevo_kernel make -j && make modules_install && make install, make install copia el bzImage y .config de la compilación recién efectuada a /boot
9-------- actualizar la configuración del grub para poder escoger el nuevo_kernel
10-------- suele ser necesario ( con actualizaciones mayores de versión del kernel ej: 3.9.4 a 3.9.5, 3.9.5 a 3.1.0) o recomendable si algo falla o simplemente para asegurar el óptimo funcionamiento, re-compilar drivers, módulos, algún servicio... (ej: los xf86, alsa, vhba, udev...), con el el nuevo_kernel compilado.
Yo suelo hacer esto y posterior reinicio: Code: | emerge -av `eix xf86 --or alsa -I --only-names` udev dbus vhba ati-drivers -j4
|
Si se tienen varios kernels para cambiar el enlace simbolico(todo se compila teniendo en cuenta el kernel enlazado) de uno a otro se puede usar eselect, lo que sería equivalente a ln -sfn nuevo_kernel linux :
Code: | ~ $ eselect kernel list
Available kernel symlink targets:
[1] linux-3.8.0-gentoo
[2] linux-3.8.1-gentoo *
~ $ eselect kernel
Usage: eselect kernel <action> <options>
Standard actions:
help Display help text
usage Display usage information
version Display version information
Extra actions:
list List available kernel symlink targets
set <target> Set a new kernel symlink target
target Target name or number (from 'list' action)
show Show the current kernel symlink |
saludos, adéu _________________ "~amd64" --cpu 7700 non-x --DDR5 2x16GB 6000MHz --gpu RX 470
Last edited by papu on Wed Jun 19, 2013 8:15 am; edited 85 times in total |
|
Back to top |
|
|
esteban_conde Veteran
Joined: 04 Jun 2003 Posts: 1670
|
Posted: Wed Jan 30, 2013 6:26 pm Post subject: |
|
|
Si se ha iniciado sesion con un kernel que marcha y solo se quiere actualizar a una version más nueva una vez descargado el nuevo_kernel lo enlazamos a /usr/src/linux como root se puede hacer zcat /proc/config.gz >/usr/src/linux/.config
y luego make oldconfig. _________________ Saludos a tod@s, Esteban. |
|
Back to top |
|
|
Theasker l33t
Joined: 18 Nov 2006 Posts: 656 Location: Zaragoza (Spain)
|
Posted: Tue Jun 18, 2013 2:44 pm Post subject: |
|
|
Reabro este post porque hasta ahora no he tenido tiempo de conseguir arreglar el problema del teclado y ratón por lo que sigo con el kernel 3.4.9 y estoy intentando compilar el 3.8.13 y arranca perfectamente pero no funciona ni teclado ni ratón.
No he cambiado ninguna configuración ni de ratón ni de teclado y he comparado con las opciones (de teclado) que tenía el el kernel viejo y no ha cambiado nada, no se muy bien porque no funciona.
Y problema de las X no puede ser, ya que no arranco en modo gráfico. _________________ "Oigo y olvido. Veo y recuerdo. Hago y comprendo" |
|
Back to top |
|
|
quilosaq Veteran
Joined: 22 Dec 2009 Posts: 1522
|
Posted: Tue Jun 18, 2013 3:13 pm Post subject: |
|
|
Publica el archivo de configuración (.config) del kernel con el que tienes problemas y la salida de:
Code: | file /boot/archivodelkernelquenova |
|
|
Back to top |
|
|
Theasker l33t
Joined: 18 Nov 2006 Posts: 656 Location: Zaragoza (Spain)
|
Posted: Tue Jun 18, 2013 3:23 pm Post subject: |
|
|
el .config
http://bpaste.net/show/108135/
y la salida
Code: | # file /boot/gentoo-3.8.13
/boot/gentoo-3.8.13: Linux kernel x86 boot executable bzImage, version 3.8.13-gentoo (root@Theasker64) #1 SMP Tue Jun 11 22:16:06 CEST, RO-rootFS, swap_dev 0x4, Normal VGA
|
_________________ "Oigo y olvido. Veo y recuerdo. Hago y comprendo" |
|
Back to top |
|
|
quilosaq Veteran
Joined: 22 Dec 2009 Posts: 1522
|
Posted: Tue Jun 18, 2013 4:41 pm Post subject: |
|
|
Creo que te falta HID_GENERIC. Lo tienes en:
Code: | Device Drivers --->
HID support --->
<*> Generic HID driver |
|
|
Back to top |
|
|
Theasker l33t
Joined: 18 Nov 2006 Posts: 656 Location: Zaragoza (Spain)
|
Posted: Wed Jun 19, 2013 7:57 pm Post subject: |
|
|
Pues .... con eso está solucionado.
Por lo que se me plantea una duda, he comprado esa opción en el antiguo kernel y en el nuevo, porqué si en el antiguo está activada esa opción y compilé el nuevo copiando el .config de este y luego make oldconfig, esa opción desaparece. Se supone que mantiene las configuraciones que ya tenía.
Además no es problema de este último kernel, no lo había actualizado antes, porque a lo largo de todas las actulizaciones del kernel que ha habido desde la 3.4.9 me ha pasado lo mismo, es decir, con lo que se ahora, se había desconectado esa opción todas las veces que había hecho el make oldconfig en todos los kernels intermedios.
¿Cómo debería compilar a partir de ahora los kernels?, lo que pensaba que hacía bien se ha convertido en algo poco fiable. Cómo debería actuar a partir de ahora para actualizar los nuevos kernels.
Gracias por la ayuda. _________________ "Oigo y olvido. Veo y recuerdo. Hago y comprendo" |
|
Back to top |
|
|
papu l33t
Joined: 25 Jan 2008 Posts: 709 Location: Sota algun pi o alzina...
|
Posted: Wed Jun 19, 2013 8:03 pm Post subject: |
|
|
¿dices que tu anterior .config tiene esa opción puesta y al hacer make oldconfig te desaparece en el nuevo .config ?
pues usa a partir de ahora el .config nuevo con esa opción y no el anterior, pero es muy raro eso, cuando dices algo teiens que dar datos los demá no sabemos cual era tu anterior kernel ...quizás tu anterior kernel era "muy diferente" es decir antiguo respecto a este, pero vamos eso que tu dices a mi no me ha pasado nunca y mira que llevo años con el oldconfig jejeje.
has de hablar de .config-3.x.x o de .config-2.x.x .... o publicar los .config dentro ya pone la version del kernel de que procede.
ves mirando a ver ahora ya sabes lo que ocurre.
saludos, ad1 _________________ "~amd64" --cpu 7700 non-x --DDR5 2x16GB 6000MHz --gpu RX 470
Last edited by papu on Wed Jun 19, 2013 8:09 pm; edited 1 time in total |
|
Back to top |
|
|
Theasker l33t
Joined: 18 Nov 2006 Posts: 656 Location: Zaragoza (Spain)
|
Posted: Wed Jun 19, 2013 8:09 pm Post subject: |
|
|
mi anterior kernel como digo arriba era el 3.4.9 y he copiado el .config de este a todos los kernels hasta el estable actual, es decir, 3.5.7, ..., 3.8.13, y todas las veces arrancaba y no me funcionaba ni teclado ni ratón, por lo que sabiendo lo que ahora se gracias a quilosaq, la opción Generic HID driver se desactivaba y no se porqué. _________________ "Oigo y olvido. Veo y recuerdo. Hago y comprendo" |
|
Back to top |
|
|
papu l33t
Joined: 25 Jan 2008 Posts: 709 Location: Sota algun pi o alzina...
|
Posted: Wed Jun 19, 2013 8:10 pm Post subject: |
|
|
pues usa el actual .config de ahora en adelante a ver, a mi es que eso no me ha pasado por ahora. _________________ "~amd64" --cpu 7700 non-x --DDR5 2x16GB 6000MHz --gpu RX 470 |
|
Back to top |
|
|
|