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

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 -l

Disco /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 # 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)
root@deb64 /dev # lsmod
Module                  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,

wasmosy escribió:

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