Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Kernel] Trucos para compilar el Kernel (Abierto)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
will198
Apprentice
Apprentice


Joined: 18 Aug 2009
Posts: 218

PostPosted: Wed Aug 26, 2009 12:10 pm    Post subject: [Kernel] Trucos para compilar el Kernel (Abierto) Reply with quote

Hola a todos,

Ahora que todo funciona (razonablemente) quería probar a recompilarme el kernel.
De momento me he compilado uno con una configuración base de Ubuntu 8.04 (que no se porqué carga menos opciones modulos etc que el que viene por defecto de Gentoo) y le he quitado alguna cosa que sabía seguro que no necesitaba (Bluetooth, nosequé histora para la radio y pocas cosas más) y decirle que el micro es el k8/optheron o algo así no he tocado mucho más.

He notado que en el arranque me carga muchísimos módulos, pero creo que la mitad no los necesito (a modo de ejemplo me carga los módulos de la e1000 que creo que es una tarjeta de red cuando yo uso el atl1 que tengo que cargar manual, si lo quito con rmmod la red sigue funcionado)

Me he leido varios tutriales y el manual de Gentoo en lo relativo recompilarme el kernel, se que es recomendable hacer un lspci para ver los dispositibos que tengo pero luego esto no se como se traduce en opciones del kernel (al menos con el 2.6 estoy más perdido, con el 2.4 me apañaba mejor)

Por cierto por más que pongo integrado en el kernel al driver de HD, el sistema de archivos ext3, nunca me arranca si no lo configuro con el genkernel para que me genere el initramfs ¿Que otros módulos me pueden faltar?

¿Alguna sugerencia?

Gracias por contestar

Tengo un AMD64 k8, una tarjeta nvidia (uso los propios drivers de nvidia), tarjeta de red, sonido, usb, etc... os pongo la salida del lspci

lspci:
00:00.0 Host bridge: ATI Technologies Inc RS690 Host Bridge
00:02.0 PCI bridge: ATI Technologies Inc RS690 PCI to PCI Bridge (PCI Express Graphics Port 0)
00:06.0 PCI bridge: ATI Technologies Inc RS690 PCI to PCI Bridge (PCI Express Port 2)
00:07.0 PCI bridge: ATI Technologies Inc RS690 PCI to PCI Bridge (PCI Express Port 3)
00:12.0 SATA controller: ATI Technologies Inc SB600 Non-Raid-5 SATA
00:13.0 USB Controller: ATI Technologies Inc SB600 USB (OHCI0)
00:13.1 USB Controller: ATI Technologies Inc SB600 USB (OHCI1)
00:13.2 USB Controller: ATI Technologies Inc SB600 USB (OHCI2)
00:13.3 USB Controller: ATI Technologies Inc SB600 USB (OHCI3)
00:13.4 USB Controller: ATI Technologies Inc SB600 USB (OHCI4)
00:13.5 USB Controller: ATI Technologies Inc SB600 USB Controller (EHCI)
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 13)
00:14.1 IDE interface: ATI Technologies Inc SB600 IDE
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
00:14.3 ISA bridge: ATI Technologies Inc SB600 PCI to LPC Bridge
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:00.0 VGA compatible controller: nVidia Corporation GeForce 8600 GT (rev a1)
03:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
04:0a.0 RAID bus controller: HighPoint Technologies, Inc. HPT302/302N (rev 02)

y os pongo la lista de módulos que se cargan cuando inicio el sistema (sin el e1000 que lo he quitado ahora :))
Module Size Used by
ipv6 217652 18
snd_pcm_oss 31584 0
snd_mixer_oss 13556 1 snd_pcm_oss
snd_seq_oss 23840 0
snd_seq_midi_event 6388 1 snd_seq_oss
snd_seq 42416 4 snd_seq_oss,snd_seq_midi_event
snd_seq_device 6336 2 snd_seq_oss,snd_seq
snd_hda_codec_realtek 185432 1
snd_hda_intel 22952 0
nvidia 9572484 26
snd_hda_codec 58420 2 snd_hda_codec_realtek,snd_hda_intel
ppdev 6456 0
rtc_cmos 9388 0
parport_pc 33732 0
rtc_core 15984 1 rtc_cmos
rtc_lib 2612 1 rtc_core
atl1 26876 0
processor 35144 0
button 5252 0
parport 31564 2 ppdev,parport_pc
thermal 13232 0
i2c_piix4 9348 0
mii 4692 1 atl1
i2c_core 21128 2 nvidia,i2c_piix4
serio_raw 4792 0
ati_agp 6272 0
k8temp 4020 0
agpgart 31380 2 nvidia,ati_agp
pcspkr 2164 0
floppy 46724 0
snd_pcm 59672 3 snd_pcm_oss,snd_hda_intel,snd_hda_codec
snd_timer 17980 2 snd_seq,snd_pcm
snd 49700 10 snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,snd_seq_device,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_pcm,snd_timer
snd_page_alloc 8220 2 snd_hda_intel,snd_pcm
thermal_sys 12476 2 processor,thermal
tg3 95960 0
libphy 19956 1 tg3
fuse 48240 0
xfs 442944 0
exportfs 3764 1 xfs
nfs 223816 0
auth_rpcgss 33312 1 nfs
nfs_acl 2644 1 nfs
lockd 59468 1 nfs
sunrpc 167648 4 nfs,auth_rpcgss,nfs_acl,lockd
jfs 153092 0
raid10 18932 0
dm_bbr 9440 0
dm_snapshot 21148 0
dm_mirror 12728 0
dm_region_hash 10420 1 dm_mirror
dm_log 8568 2 dm_mirror,dm_region_hash
dm_mod 49412 4 dm_bbr,dm_snapshot,dm_mirror,dm_log
scsi_wait_scan 1044 0
sbp2 19616 0
ohci1394 26532 0
ieee1394 76156 2 sbp2,ohci1394
sl811_hcd 9396 0
usbhid 31200 0
ohci_hcd 21508 0
ssb 38876 1 ohci_hcd
uhci_hcd 19012 0
usb_storage 48512 0
ehci_hcd 29760 0
usbcore 123440 7 sl811_hcd,usbhid,ohci_hcd,uhci_hcd,usb_storage,ehci_hcd
lpfc 246468 0
qla2xxx 184324 0
megaraid_sas 29136 0
megaraid_mbox 27460 0
megaraid_mm 8400 1 megaraid_mbox
megaraid 37032 0
aacraid 61724 0
sx8 13408 0
DAC960 60552 0
cciss 80836 0
3w_9xxx 28452 0
3w_xxxx 22016 0
mptsas 31708 0
scsi_transport_sas 25140 1 mptsas
mptfc 14776 0
scsi_transport_fc 36408 3 lpfc,qla2xxx,mptfc
scsi_tgt 11272 1 scsi_transport_fc
mptspi 15516 0
mptscsih 29268 3 mptsas,mptfc,mptspi
mptbase 72644 4 mptsas,mptfc,mptspi,mptscsih
atp870u 25152 0
dc395x 28544 0
qla1280 20076 0
dmx3191d 9588 0
sym53c8xx 64300 0
qlogicfas408 6260 0
gdth 75720 0
advansys 54112 0
initio 15044 0
BusLogic 20724 0
arcmsr 19808 0
aic7xxx 103768 0
aic79xx 109816 0
scsi_transport_spi 19540 5 mptspi,dmx3191d,sym53c8xx,aic7xxx,aic79xx
sg 25576 0
videobuf_core 16056 0
pdc_adma 6200 0
sata_inic162x 8216 0
sata_mv 25160 0
ata_piix 22360 0
ahci 30660 6
sata_qstor 6328 0
sata_vsc 5144 0
sata_uli 3864 0
sata_sis 4952 0
sata_sx4 9176 0
sata_nv 20252 0
sata_via 8600 0
sata_svw 4952 0
sata_sil24 11832 0
sata_sil 8412 0
sata_promise 10040 0
pata_pcmcia 10836 0
pcmcia 31404 2 ssb,pata_pcmcia
pcmcia_core 32200 2 ssb,pcmcia

Son muchos ¿no?
Back to top
View user's profile Send private message
gringo
Advocate
Advocate


Joined: 27 Apr 2003
Posts: 3793

PostPosted: Wed Aug 26, 2009 1:36 pm    Post subject: Reply with quote

Quote:
e notado que en el arranque me carga muchísimos módulos


esto creo que es normal si usas genkernel, aunque no puedo decírtelo seguro porque nunca he usado genkernel.

Quote:
Por cierto por más que pongo integrado en el kernel al driver de HD, el sistema de archivos ext3, nunca me arranca si no lo configuro con el genkernel para que me genere el initramfs ¿Que otros módulos me pueden faltar?


igual simplemente no has puesto la controladora adecuada, que error te dá cuando intentas cargarlo ?

lo de configurar el kernel es como todo, vete leyendo el menú poco a poco, lo que creas que necesitas lo habilitas, en una configuración por defecto ya se suelen habilitar bastantes opciones que seguramente necesites.

Y si tienes alguna duda concreta, ponla aqui e intentaremos ayudarte.

saluetes
_________________
Error: Failing not supported by current locale
Back to top
View user's profile Send private message
Inodoro_Pereyra
Advocate
Advocate


Joined: 03 Nov 2006
Posts: 2631
Location: En la otra punta del cable

PostPosted: Wed Aug 26, 2009 5:27 pm    Post subject: Reply with quote

Ante la duda usa la tecla H para llamar a la ayuda del configurador ncurses del kernel (el que se invoca con menuconfig), que no sé si es el que estás usando...

Y si que son muchos módulos. Para que compares:

Code:
# lsmod
Module                  Size  Used by
nvidia               4695224  22
snd_via82xx            19420  0
snd_ac97_codec         89988  1 snd_via82xx
ac97_bus                1308  1 snd_ac97_codec
snd_mpu401_uart         5432  1 snd_via82xx
snd_rawmidi            16844  1 snd_mpu401_uart


La red, los sensores de hardware, el soporte para sistemas de archivos y demás que en tu caso se cargan como módulos los tengo marcados estáticos en el kernel, únicamente los que se que uso, y el resto sin marcar. Con esto consigo un kernel bastante livianito:

Code:
du -h arch/x86/boot/bzImage
2.6M   arch/x86/boot/bzImage


Trucos, no se me ocurre ninguno :D

Salud!
_________________
Mi Blog.

Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL.
Back to top
View user's profile Send private message
edgar_uriel84
Guru
Guru


Joined: 21 Dec 2008
Posts: 475
Location: Tultitlan, México

PostPosted: Thu Aug 27, 2009 12:12 am    Post subject: Reply with quote

Yo creo que el "problema" no es genkernel, más bien es que agarraste el .config de un Ubuntu, el cual compila casi todo pues es un "kernel genérico", creo que debes empezar por dejar ese .config o bien, dejar de compilar los módulos que se cargan al inicio pero que sabes que no necesita tu computadora, así iras haciendo más ligero el kernel (así lo hice yo).

Ahora, si quieres un kernel a la medida, es más fácil iniciar desde cero, es decir sin copiar otro .config

Saludos.
_________________
Algún día habrá una persona mejor que yo, pero esa persona no eres tú ni ese momento es ahora.
Back to top
View user's profile Send private message
will198
Apprentice
Apprentice


Joined: 18 Aug 2009
Posts: 218

PostPosted: Thu Aug 27, 2009 3:43 pm    Post subject: Reply with quote

Hola a todos,

He probado lo que me decian por ahi de coger mejor una configuración en blanco e ir añadiendo cosas...

Con el primer intento kernel panic porque no podía montar el root (que mania con querer montar el root.. ¿es tan necesario? :))
En fin que he preferido hacerlo al reves, con la config que me funciona voy a ir quitando cosas que se que sobran... de momento me he centrado en la red, me he quitado todos los módulos de dispositivos que se que no tengo y he dejado solo el mio "atl1" y un tal "mii" que se arranca al iniciar el mio (servira para algo digo yo) el resto fuera... y si antes tenía la version V4 estable y funcionando ahora tengo la V7 estable y funcionando... pero con menos módulos de red (ahora el lsmod en lugar de mostrarme 122 me muestra 118... vamos progresando)... si el ánimo no me abandona calculo que para la versión V999 tendré un kernel decente casi con un tamaño como el de Inodoro_Pereyra y sólo 6 módulos :).

De todas formas me han surgido un par de dudas:

1.- Driver de nvidia: al compilar el nuevo kernel ya el driver de nvidia no carga. En la V4 lo que hice fue instalarme el driver de nvidia oficial no el de Gentoo (que no funcionaba muy bien la verdad)... ¿Tengo que instalarme el driver de nvidia cada vez que pruebe con un nuevo kernel? ¿o hay alguna manera de traérmelo de un kernel a otro? he probado directamente copiando el nvidia.ko de uno a otro y cuando hago modprobe nvidia me dice que leches...

2.- ¿Cual es la diferencia entre cargarlo como módulo o construirlo dentro del kernel? se que para los sistemas de archivos y esas historias es necesario construirlo dentro para evitar los kernel panic... pero ¿para las tarjetas de red, tarjetas de sonido y esas historias que es mejo? por ejemplo se seguro que sin el módulo atl1 mi tarjeta de red no funciona... y no creo que la cambie porque va integrada en la placa... ¿debería construirla dentro del kernel porque gano velocidad... eficiencia o algo por el estilo o da igual?

Por último, me gustaría dejar de usar el initramfs... por favor del lsmod que he posteado arriba me podríais indicar cual de los módulos tendría que estar construido dentro del kernel? o al menos cuales son los candidatos... he probado con el ext3 (que es mi sistema de ficheros) y con lo que creo que es el módulo de la controladora scsi de mi disco duro pero no hay manera... kernel panic... y como con el initramsf funciona me imagino que hay algun módulo que aparece en el lsmod que debería estar dentro del kernel...

Muchas gracias por contestar
Back to top
View user's profile Send private message
esteban_conde
Veteran
Veteran


Joined: 04 Jun 2003
Posts: 1670

PostPosted: Thu Aug 27, 2009 3:53 pm    Post subject: Reply with quote

Quote:
Driver de nvidia

cada vez que cambies de kernel tienes que repetir el proceso de instalación del driver.
_________________
Saludos a tod@s, Esteban.
Back to top
View user's profile Send private message
Inodoro_Pereyra
Advocate
Advocate


Joined: 03 Nov 2006
Posts: 2631
Location: En la otra punta del cable

PostPosted: Fri Aug 28, 2009 2:56 am    Post subject: Reply with quote

will198 wrote:

2.- ¿Cual es la diferencia entre cargarlo como módulo o construirlo dentro del kernel? se que para los sistemas de archivos y esas historias es necesario construirlo dentro para evitar los kernel panic... pero ¿para las tarjetas de red, tarjetas de sonido y esas historias que es mejo? por ejemplo se seguro que sin el módulo atl1 mi tarjeta de red no funciona... y no creo que la cambie porque va integrada en la placa... ¿debería construirla dentro del kernel porque gano velocidad... eficiencia o algo por el estilo o da igual?


Cargar drivers como módulos implica que el driver en cuestión no es vital para el funcionamiento de tal o cual componente y puede ser cargado y descargado al vuelo en función de si se necesita o no... Esto por lo general automatizado por alguna aplicación, (udev, por ejemplo).

Algunos drivers no pueden ser cargados como módulos por que son necesarios durante el arranque mucho tiempo antes de que algún programa detecte si son necesarios o no, por ejemplo, el driver de tu controladora de discos rígidos o el del sistema de archivos, obviamente...
Si el kernel no puede leer tu sistema de archivos o detectar tu disco rígido por falta de modulos por cargar entonces no puede montar tu partició raiz.

Lo único que se pierde compilando la mayor cantidad posible de drivers como módulos es tiempo, por el contrario, un kernel como muchos drivers sin uso compilados de forma estática desperdicia algunos poquitos Mb de ram, que en una pc actual ni llegan a ser apreciables y supongo que algo de tiempo de CPU también.

will198 wrote:
Por último, me gustaría dejar de usar el initramfs... por favor del lsmod que he posteado arriba me podríais indicar cual de los módulos tendría que estar construido dentro del kernel? o al menos cuales son los candidatos... he probado con el ext3 (que es mi sistema de ficheros) y con lo que creo que es el módulo de la controladora scsi de mi disco duro pero no hay manera... kernel panic... y como con el initramsf funciona me imagino que hay algun módulo que aparece en el lsmod que debería estar dentro del kernel...

Muchas gracias por contestar


Para dejar de usar initramfs simplemente compilar de forma estática el soporte para tu controladora de discos y el/los sistemas de archivos en uso, con eso debería bastar pero no he usado un initrd jamás en mi vida y hablo en el aire, a ver si viene alguien que sepa mas que yo del asunto a aclarar mejor las cosas :D

Salud!
_________________
Mi Blog.

Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL.
Back to top
View user's profile Send private message
the incredible hurd
Guru
Guru


Joined: 01 Jan 2007
Posts: 381

PostPosted: Fri Aug 28, 2009 8:54 am    Post subject: Reply with quote

will198 wrote:
1.- Driver de nvidia: al compilar el nuevo kernel ya el driver de nvidia no carga. En la V4 lo que hice fue instalarme el driver de nvidia oficial no el de Gentoo (que no funcionaba muy bien la verdad)... ¿Tengo que instalarme el driver de nvidia cada vez que pruebe con un nuevo kernel? ¿o hay alguna manera de traérmelo de un kernel a otro? he probado directamente copiando el nvidia.ko de uno a otro y cuando hago modprobe nvidia me dice que leches...

2.- ¿Cual es la diferencia entre cargarlo como módulo o construirlo dentro del kernel? se que para los sistemas de archivos y esas historias es necesario construirlo dentro para evitar los kernel panic... pero ¿para las tarjetas de red, tarjetas de sonido y esas historias que es mejo? por ejemplo se seguro que sin el módulo atl1 mi tarjeta de red no funciona... y no creo que la cambie porque va integrada en la placa... ¿debería construirla dentro del kernel porque gano velocidad... eficiencia o algo por el estilo o da igual?

Por último, me gustaría dejar de usar el initramfs... por favor del lsmod que he posteado arriba me podríais indicar cual de los módulos tendría que estar construido dentro del kernel? o al menos cuales son los candidatos... he probado con el ext3 (que es mi sistema de ficheros) y con lo que creo que es el módulo de la controladora scsi de mi disco duro pero no hay manera... kernel panic... y como con el initramsf funciona me imagino que hay algun módulo que aparece en el lsmod que debería estar dentro del kernel...

1.- Usa sys-kernel/module-rebuild; y por supuesto usa los drivers propietarios de nvidia con y mediante portage x11-drivers/nvidia-drivers
2.- Da exactamente igual, yo todo lo que tengo integrado en la placa y tarjetas lo meto dentro del kernel y todo lo que se pueda enchufar en caliente (sobre todo la infinita serie de periféricos USB) lo tengo como módulo. Los sistemas de archivos sólo tengo en el kernel ext3 y ext2, todos los demás como módulos (una vez me dejaron un disco externo con NTFS y eso explica tanto módulo ¡ah y el ntfs3g!).
3.- Yo no uso initrd o initramfs desde hace años y todo perfecto.

Create un alias en el .bashrc de root
Code:
alias genkernel='genkernel --mountboot --menuconfig --makeopts=-j2 --kernel-config=/etc/kernels/el_que_corresponda_a_la_versión_anterior kernel && module-rebuild rebuild nvidia-drivers'

Lo de kernel-config es opcional y habrás de modificar el alias cada vez que actualices de versión, puedes añadir muchas otras opciones a genkernel que te facilitarán el automatizar la tarea y hacer todo en un solo paso. El makeopts debes adecuarlo al número de cores que tengas. ¡Ah! y nota que que el parámetro kernel al final de genkernel no construirá ningún initrd o initramfs, por lo que podrás borrar todos los anteriores de /boot/. Sigue mi regla: todo el hardware de la placa y tarjetas dentro del kernel y no tendrás ningún problema.
_________________
Nunca preguntes el camino a alguien que ya lo conoce. Podrías no perderte. (Nahman de Braslaw)
Back to top
View user's profile Send private message
will198
Apprentice
Apprentice


Joined: 18 Aug 2009
Posts: 218

PostPosted: Fri Aug 28, 2009 2:51 pm    Post subject: Reply with quote

1.- Usa sys-kernel/module-rebuild; y por supuesto usa los drivers propietarios de nvidia con y mediante portage x11-drivers/nvidia-drivers

Los drives que se me isntalan con emerge de envidia no van bien (el openarena me corre a saltos) así que instalé los descargados de la página de nvidia que van muy bien...

¿Como se usa el module-rebuild? no hay página del man... y la help que da el fichero no es muy abundante...

lo del genkernel lo tengo dominado, de momento me creo dentro de /usr/src/linux/ un fichero que se llama .config + el número de versión por el que voy (actualmente .config12) ejecuto el genkernel --menuconfig all, cuando aparece el menuconfig le doy a cargar la .config12 (ultima usada) y cuando termino de probar la grabo como .config13 y como .config... salgo y el genkernel hace todo lo demás, sólo tengo que modificar el /boot/grub/menu.list y yastá nuevo kernel para probar.

La estrategia que estoy siguiendo es ir por cada uno de los /device driveres/ e ir quitando cosas que creo que no necesito... luego arranco el kernel y veo si todo sigue funcionando como debiera :)

En relacción con poner el modulo de la controladora de HD y el del sistema de archivos integrado en el kernel... esto que suena tan sencillo ¿como se hace?

porque no tengo npi de que controladora tengo... se lo que sale de un lspci (ver más arriba) y qute tengo 2 discos SATA seagate un DVD y un CDrom que creo que son ATA y un par más de discos duros ATA seagate... con esto cual es mi controladora? que entro en las opciones de:

│ [*] Misc devices ---> │ │
│ │ <*> ATA/ATAPI/MFM/RLL support ---> │ │
│ │ SCSI device support ---> │ │
│ │ <*> Serial ATA (prod) and Parallel ATA (experimental) drivers ---> │ │
│ │ [*] Multiple devices driver support (RAID and LVM) ---> │ │
│ │ [*] Fusion MPT device support ---> │ │
│ │ IEEE 1394 (FireWire) support ---> │ │
│ │ <M> I2O device support --->

dentro de que opción tengo que entrar? hay algun archivo tipo /proc/ o algo así que me de más información?

Por cierto se me ha ocurrido lo siguiente... si con lo que va en el kernel no arranca sin el initramsf es por que hay algo vital que carga como módulo... y si con el rmmod voy quitando módulos, puedo probar si el disco duro sigue funcionando... (alquitar algún otro dejó de funcionar por ejemplo el raton usb), así averiguaré como se llama el módulo que necesito?... esto es así? o la puedo liar parda y cargarme un disco duro?

Un saludo y gracias por contestar.
Back to top
View user's profile Send private message
the incredible hurd
Guru
Guru


Joined: 01 Jan 2007
Posts: 381

PostPosted: Fri Aug 28, 2009 4:16 pm    Post subject: Reply with quote

will198 wrote:
1.- Usa sys-kernel/module-rebuild; y por supuesto usa los drivers propietarios de nvidia con y mediante portage x11-drivers/nvidia-drivers

Los drives que se me isntalan con emerge de envidia no van bien (el openarena me corre a saltos) así que instalé los descargados de la página de nvidia que van muy bien...

¿Como se usa el module-rebuild? no hay página del man... y la help que da el fichero no es muy abundante...

Code:
module-rebuild add nvidia-drivers

y todos los controladores propietarios que uses

como ya dije, para reconstruirlo es muy sencillo:
Code:
module-rebuild rebuild nvidia-drivers

Sin el alias te encontrarás con las X que no arrancan hasta que recuerdes recompilarlo por tu cuenta siempre.
will198 wrote:

lo del genkernel lo tengo dominado, de momento me creo dentro de /usr/src/linux/ un fichero que se llama .config + el número de versión por el que voy (actualmente .config12) ejecuto el genkernel --menuconfig all, cuando aparece el menuconfig le doy a cargar la .config12 (ultima usada) y cuando termino de probar la grabo como .config13 y como .config... salgo y el genkernel hace todo lo demás, sólo tengo que modificar el /boot/grub/menu.list y yastá nuevo kernel para probar.

La estrategia que estoy siguiendo es ir por cada uno de los /device driveres/ e ir quitando cosas que creo que no necesito... luego arranco el kernel y veo si todo sigue funcionando como debiera :)

genkernel tiene muchas otras opciones interesantes para perezosos como yo :) Prueba a cambiar el all por kernel y suerte.

will198 wrote:

En relacción con poner el modulo de la controladora de HD y el del sistema de archivos integrado en el kernel... esto que suena tan sencillo ¿como se hace?

porque no tengo npi de que controladora tengo... se lo que sale de un lspci (ver más arriba) y qute tengo 2 discos SATA seagate un DVD y un CDrom que creo que son ATA y un par más de discos duros ATA seagate... con esto cual es mi controladora? que entro en las opciones de:

│ │ <*> Serial ATA (prod) and Parallel ATA (experimental) drivers ---> │ │


dentro de que opción tengo que entrar? hay algun archivo tipo /proc/ o algo así que me de más información?

Por cierto se me ha ocurrido lo siguiente... si con lo que va en el kernel no arranca sin el initramsf es por que hay algo vital que carga como módulo... y si con el rmmod voy quitando módulos, puedo probar si el disco duro sigue funcionando... (alquitar algún otro dejó de funcionar por ejemplo el raton usb), así averiguaré como se llama el módulo que necesito?... esto es así? o la puedo liar parda y cargarme un disco duro?

En la única que he dejado [Serial ATA (prod) and Parallel ATA (experimental) drivers] pulsas intro y pon con asterisco:
<*> AHCI SATA Support

Si tienes un panic (lo cual sólo es probable si tu controladora SATA es bastante antigua), entonces deberás quitar AHCI y poner
[*] ATA SFF support
y seleccionar
<*> ATI PATA support

will198 wrote:
Los drives que se me isntalan con emerge de envidia no van bien (el openarena me corre a saltos) así que instalé los descargados de la página de nvidia que van muy bien...

En portage seguro que tienes la misma versión que la que estás usando, si es la 185.18.31
Code:
echo "=x11-drivers/nvidia-drivers-185.18.31" >> /etc/portage/package.keywords

y podrás usarlos, La 190.18 todavía está hard masked y no es recomendable.

Paciencia con el kernel.
_________________
Nunca preguntes el camino a alguien que ya lo conoce. Podrías no perderte. (Nahman de Braslaw)
Back to top
View user's profile Send private message
will198
Apprentice
Apprentice


Joined: 18 Aug 2009
Posts: 218

PostPosted: Fri Aug 28, 2009 9:56 pm    Post subject: Reply with quote

Mil gracias increible HURD, ya arranco el kernel sin el initramsf...

Solo tenía que compilar dentro del kernel el <*> AHCI SATA Support... y asunto resuelto, por cierto que esto me ha aportiado unas ventajas considerables... no se si es el initramsf o el genkernel pero con la misma config el kernel compilado con genkernel y que usa initramsf se dedica ha escaner dispositivos / módulos y me cargarme 100 modulos de los cuales se que varios no los uso, mientras que el mismo kernel (use la misma config sin tocarla) compilado a pelos (make menuconfig && make %% make modules_install) me genera un kernel que no se dedica a escanear dispositovos / módulos, como resultado de momento sólo tengo 40 modulos (se que son muchos conparados con los 6 de Inodoro_Pereyra, pero no me negarán que es un avance de 100 --> 40).

Por cierto lo de compilar las cosas como módulo o dentro del kernel, yo voy a optar por módulo, más que nada porque me ayuda cuando doy un lsmod se que cosas estoy usando y me pueden ser útiles (tengo memoria de pez y aunque se grabe en la config del kernel, perfiero tenerlo más a mano)

Con respecto a los drivers de nvidia, no se si es por alguna flag o que pero el de gentoo no me va bien, perfiero reinstalar los drivers de nvidia... total es sencillisimo (sh NVIDIA-el-driver-que-se.run y ya está).

Una duda, repasando los módulos me acorde del frame buffer (estuve un tiempo pegándome con el en mi viejo portatil) y decidí ponerlo en el nuevo kernel... pues vereis, en el portatil en todo momento veo lo que pasa en la consola, al principio en 640x360 y después cambia al fb. En el fijo hay unos segundos que no veo nada hasta que entra el fb... ¿esto se puede cambiar?

En el portatil uso un kernel 2.6.20 y en el grub no le digo nada, el solo usa el fb
En el fijo uso un kernel 2.6.30 y el el grub le tengo que poner vga=791 para que use el fb.

Otra cosita... se que es una tonteria, pero en el portatil no se muy bien porqué pero cada vez que sale una línea en la consola al lado aparece un numerito (que creo que es el segundo en el que sale la linea)... y en el fijo no. ¿Que hay que hacer para que salga esto?

Muchuas gracias por cotestar y mil gracias por la ayuda.
Back to top
View user's profile Send private message
will198
Apprentice
Apprentice


Joined: 18 Aug 2009
Posts: 218

PostPosted: Fri Aug 28, 2009 10:00 pm    Post subject: Reply with quote

una duda que me he dejado...

No se si es necesario pero el Genkernel me copiaba el System.ma-lo-que-sea en boot y en algunos tutoriales decían de copiar este system.map en el boot.

El tutorial de gentoo no dice nada sobre este system.map.

Yo lo he copiado en /boot con el nombre System.map y el apellido del kernel, pero ¿es necesario?
¿Para que sirve?

Un saludo
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum