Modulos necesarios dentro del kernel para evitar initrd
Hola a todos,
Pues eso, ¿Que drivers tengo que incluir en el kernel <*> para que me arranque éste sin necesidad del initrd?
Por lo que se y he leído necesito, tanto el controlador del sistema de fichero que en mi caso es ext3 y el del disco duro... (no se si tengo que marcar algo más... sistema de ficheros swap o algo similar)
Estoy con el kernel 2.6.32 y el driver del sistema de ficheros creo que lo tengo claro cual es el que tengo que marcar en el kernel (algo así como <*> Ext3 journalling file system support), mi problema viene con el driver del disco... creo cuando compile el 2.6.30 en Gentoo sólo necesité poner la siguiente opción: <*> AHCI SATA Support, pero creo que no la he encontrado en el 2.6.32 y no estoy muy seguro si es la más adecuada...
Mi Pc es un Pc clónico con un Atholon Amd64 de doble núcleo (o eso creo) y root está en una partición de un disco duro conectado como scsi no IDE (o eso creo)... el caso es que los kernel genéricos me lo montan como sda1... también tengo otros discos duros... alguno IDE, pero con el cambio del kernel genérico 2.6.26 -> 2.6.32 estos discos han pasado de ser hda-> sde...
Me imagino que muchos de los que compiláis el kernel tendréis una configuración muy parecida os agradecería si me indicáis que opción es la más recomendable marcar... me vale con el driver genérico para un amplio número de controladoras estandars...
Un saludo y gracias
PD: No estoy en casa, pero si es necesario os pongo las salidas de lspci, ls...etc fdisk -l... o lo que necesitéis
- Inicie sesión o regístrese para enviar comentarios
- 702 lecturas


Hola,
Os pongo las salidas de fdisk -l y algunas otras cosas más al final,
un saludo y muchas gracias
root@deb64 /dev # fdisk -lDisco /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000082e3
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 1912 15358108+ 83 Linux
/dev/sda2 1913 3187 10241437+ 83 Linux
/dev/sda3 3188 3442 2048287+ 82 Linux swap / Solaris
/dev/sda4 3443 9729 50500327+ 5 Extendida
/dev/sda5 3443 5354 15358108+ 83 Linux
/dev/sda6 5355 6629 10241406 83 Linux
/dev/sda7 6630 7904 10241406 83 Linux
/dev/sda8 7905 9729 14659281 7 HPFS/NTFS
Disco /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000a96a1
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 1 5099 40957686 83 Linux
/dev/sdb2 5100 10198 40957717+ 83 Linux
/dev/sdb3 10199 15297 40957717+ 83 Linux
/dev/sdb4 15298 19457 33415200 b W95 FAT32
Disco /dev/sdc: 20.0 GB, 20020396032 bytes
255 heads, 63 sectors/track, 2434 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x9e449e44
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdc1 * 1 2434 19551073+ 83 Linux
Disco /dev/hde: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x89988b03
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/hde1 1 6374 51199123+ 7 HPFS/NTFS
/dev/hde2 6375 7506 9092790 c W95 FAT32 (LBA)
/dev/hde3 8925 14593 45536242+ 7 HPFS/NTFS
/dev/hde4 7507 8924 11390085 83 Linux
Las entradas de la tabla de particiones no están en el orden del disco
root@deb64 /dev #
root@deb64 /dev # lspci00: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)
root@deb64 /dev # lsmodModule Size Used by
isofs 27480 0
udf 66292 0
crc_itu_t 1307 1 udf
ppdev 5030 0
lp 7462 0
powernow_k8 10882 1
cpufreq_powersave 902 0
cpufreq_stats 2659 0
cpufreq_conservative 5162 0
cpufreq_userspace 1960 0
nfsd 252966 13
exportfs 3138 1 nfsd
nfs 239738 0
lockd 57411 2 nfsd,nfs
fscache 29562 1 nfs
nfs_acl 2031 2 nfsd,nfs
auth_rpcgss 33396 2 nfsd,nfs
sunrpc 160727 11 nfsd,nfs,lockd,nfs_acl,auth_rpcgss
nls_utf8 1208 1
nls_cp437 5817 1
vfat 7836 1
fat 39910 1 vfat
loop 11735 0
snd_hda_codec_realtek 235442 1
parport_pc 18855 1
parport 27938 3 ppdev,lp,parport_pc
asus_atk0110 7686 0
snd_hda_intel 19747 0
snd_hda_codec 54212 2 snd_hda_codec_realtek,snd_hda_intel
snd_hwdep 5364 1 snd_hda_codec
snd_pcm 60439 2 snd_hda_intel,snd_hda_codec
snd_seq 42657 0
snd_timer 15470 2 snd_pcm,snd_seq
snd_seq_device 4477 1 snd_seq
snd 46318 8 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_seq,snd_timer,snd_seq_device
serio_raw 3752 0
pcspkr 1699 0
psmouse 49489 0
evdev 7336 3
edac_core 29245 0
edac_mce_amd 6337 0
k8temp 3139 0
soundcore 4598 1 snd
snd_page_alloc 6137 2 snd_hda_intel,snd_pcm
button 4634 0
processor 30119 1 powernow_k8
i2c_piix4 8328 0
i2c_core 15552 1 i2c_piix4
ext3 106070 5
jbd 36813 1 ext3
mbcache 4970 1 ext3
sg 18696 0
sr_mod 12602 0
ide_cd_mod 24712 0
cdrom 29399 2 sr_mod,ide_cd_mod
ide_gd_mod 20353 0
usbhid 33100 0
sd_mod 29609 9
hid 62697 1 usbhid
crc_t10dif 1276 1 sd_mod
pata_atiixp 3457 0
hpt366 10371 0
ata_generic 2983 0
ehci_hcd 30546 0
ahci 32118 7
floppy 49087 0
ide_core 71418 3 ide_cd_mod,ide_gd_mod,hpt366
ohci_hcd 19068 0
libata 131879 3 pata_atiixp,ata_generic,ahci
scsi_mod 121653 4 sg,sr_mod,sd_mod,libata
atl1 25922 0
mii 3210 1 atl1
usbcore 121575 4 usbhid,ehci_hcd,ohci_hcd
nls_base 6377 7 isofs,udf,nls_utf8,nls_cp437,vfat,fat,usbcore
thermal 11674 0
fan 3346 0
thermal_sys 11878 3 processor,thermal,fan
root@deb64 /dev #
initrd?
que problema hay con que se inicie ?
saludos...
Hola a todos,
initrd?
que problema hay con que se inicie ?
saludos...
Pues lo de quitar el initrd es una manía que tengo, ya que cuando intento compilar un kernel adaptado a mi Pc suelo quitarle todo lo que le sobra (siempre dejo muchas cosas que no se si sobran o no pero ante la duda las dejo como módulo) e intento no ponerle el initrd... antes porque no sabía ponerlo (se que con la compilación del kernel a lo debian es muy sencillo), y ahora... por inercia... y quizás porque como mi anterior distribución era Gentoo ahí muy pocos usaban el initrd... de todas formas ¿no debería ser lo suyo?
Yo tenía entendido que lo de usar el initrd es porque se usa en Kernels estandar que sirven para muchos Pc y de ahí que no se puedan compilar dentro del kernel los sistemas de fichero y los dispositivos del disco duro (ya que estos kernels tienen que funcionar en todo tipo de Pc), pero una vez que personalizas tu kernel lo suyo es compilar dentro del kernel gran parte de estos módulos, y en particular los del sistema de ficheros y los de la controladora del disco...
Me tocará ir probando hasta que de con el dichoso módulo... lo malo es que cada prueba supone 1 hora de compilación...
Un saludo
A partir del kernel 2.6.32 , se tiene disponible nuevos target para Make, envestiga por
make localmodconfig
make localyesconfig
El primero hace una purga de los módulos que no se usan y el segundo sirve para fijarlos en el core del núcleo
El truco radica en que antes debes activar ciertos módulos, por ejemplo introducir un cd en la compactera, conectar un pendrive, reproducir un sonido, etc, etc, si no haces esto, no van a quedar registros de que se hayan usado estos moduloso, por lo que la recompilación no los tomará en cuenta.
Mil gracias, precisamente esto era lo que estaba buscando... me imagino que al ser tan nuevo dará algún que otro faillito que corregirán con el tiempo...
De momento tengo compilado el kernel base que viene con lenny-backport pero estableciendo mi procesador y con el initrd, que me funciona bien, y tengo compilado uno sin initrd pero que tengo que probar cuando tenga tiempo, creo que el siguiente paso va a ser probar esta utilidad a ver que tal funciona.
Muchas gracias y un saludo