# [INSTALACION]Primera carga. Problema con disco SATA(solved)

## flaab_0n

Hola a todos

Vereis, estoy instalando gentoo en mi nuevo Pentium IV desde el Live cd 2004.3 y me da el siguiente error al iniciar el sistema despues de la instalacion:

```
/dev/sda7 it´s not a valid root directory. Please Type the correct device for root directory, or "shell" to obtain a shell prompt.
```

Mi directorio raiz ES /dev/sda7, de hecho al inicar el Live cd es lo que monto como directorio raiz, y contiene todo lo necesario extraido del stage3 para PIV, ademas de tener el sistema base instalado. El lilo.conf tiene:

install=/dev/sda

Y puesto que he usado genkernel, tengo:

root=/dev/ram0 y

real_root=/dev/sda7

Y no me carga el sistema cuadno el live CD me monta correctamente /dev/sda7 como directorio raiz.

¿Que puede ser? 

No tengo mucho conocimiento de discos duros. En mi otro ordenador, en vez de ser /dev/sda es /dev/hda. ¿Que diferencia hay?

Gracias de antemano.  :Very Happy: 

----------

## GipfeX

Puede que no te vaya principalmente porque /dev/sda es para dispositivos de almacenamiento tipo pendrive, camaras digitales etc... entonces como supongo q tu particion raiz no esta en un pendrive(aunque podria ser   :Cool: ) pues te sugiero que hagas un: 

```
cfdisk /dev/hda
```

con esto veras todas las partciones de tu HD.

Nota: fijate que yo he puesto /dev/hda , pero podria ser /dev/hdb, eso depende de en que HD hayas instalado la gentoo, si lo pusistes en tu primer HD pues sera hda si fue en el segundo pues hdb...  :Wink: 

----------

## flaab_0n

Voy a probar copn hdb que lo he visto en dev y he mirado otros post y es asi. Os dire que veo.

----------

## luisfeser

Todo depende de como hayas configurado el kernel  :Wink: 

Si has puesto el chip del SATA en la parte IDE del kernel, tendras HDE

Y si has puesto el chip en la parte del SCSI tendrás SDA

----------

## flaab_0n

Os cuento.

Si añado esta etiqueta al lilo.conf:

boot=/dev/hdb

Me dice que /dev/hdb => No medium found!

Respecto al kernel, he usado genkernel y tan solo he modificado algunas cosas referentes a mi placa de sonido y high memory support. Lo demas está exactamente igual que el Live CD.

El Live CD me carga perfectamente con mis particiones /dev/sda y tal xD

Si sirve de algo cfdisk /dev/sda me muestra mi tabla de particiones completa.

En mi ordenador no existe hda ni hdb. Solo sda. No se xq xD

No deberia funcionar? Pues al primer inicio despues de la instalacion sigue diciendome que /dev/sda7 no es el directorio raiz, cuando sé positivamente que lo es.

¿Que modificaciones crees q deberia hacer al Kernel?

----------

## flaab_0n

He observado cuidadosamente el Dmesg del live CD y he aqui lo que me ha llamado la atencion respecto a esto:

```
libata version 1.02 loader

ata_piix version 1.02

scsi0: ata_piix

     Vendor: ATA          Model: ST3160023AS

     Type: Direct Access

SCSI device sda: 3125811808

```

Salian mas cosas ademas de esa pero eran dedundancias. ¿Si he usado genkernel porque no me funciona al primer inicio del sistema?

En la parte de ATA/SCSI drivers (al hacer genkernel --menuconfig all) casi todos los drivers y controladores están activados.

He probado pasar la opcion doscsi  al lilo.conf, y me va un poco mas adelante pero luego se cuelga la carga del sistema sin devolver ningun error.  :Shocked: 

Gracias

----------

## flaab_0n

He observado cuidadosamente el Dmesg del live CD y he aqui lo que me ha llamado la atencion respecto a esto:

```
libata version 1.02 loader

ata_piix version 1.02

scsi0: ata_piix

     Vendor: ATA          Model: ST3160023AS

     Type: Direct Access

SCSI device sda: 3125811808

```

Salian mas cosas ademas de esa pero eran dedundancias. ¿Si he usado genkernel porque no me funciona al primer inicio del sistema?

En la parte de ATA/SCSI drivers (al hacer genkernel --menuconfig all) casi todos los drivers y controladores están activados.

He probado pasar la opcion doscsi  al lilo.conf, y me va un poco mas adelante pero luego se cuelga la carga del sistema sin devolver ningun error.  :Shocked: 

Gracias

----------

## esteban_conde

¿He visto algo referente a /etc/fstab?

en ese archivo tienes que poner la entrada con tu sistema de ficheros

/dev/sda7    /     Tu_sistema_de_fichros  defaults    0 0

Esa linea podria ser una entrada valida.

Tambien debes controlar que tengas soporte en el kernel para tu sistema de ficheros y creo recordar que aunque lo marca como obsoleto es necesario bajo algunas circunstancias el soporte devfs.

----------

## flaab_0n

Hola a todos

Por lo que he leido:

 - El Live Cd 2004.3 tiene un error reconocido, y es que no crea los devices correspondientes /dev/md<x> a /dev/sd<x>. Dice que se haga a mano con makedev y lo he hecho.

 - Resulta tambien que reconoce todos los dispositivos como sda, y entonces uno en la instalacion pone tanto el lilo.conf como el fstab con sda<x>. Pero luego reuslta que al cargar el sistema es distinto y busca hda, entonces no encuentra.

 - Entonces intente poner todo a hda! Y tampoco.

Me estoy volviendo mico llevo 3 horas leyendo y ahora estoy compilando el kernel manualmente sin usar genkernel xq dicen q genkernel hace mal eso.

Ya os dire. Si teneis mas ideas pliz decidme algo jejeje.

 :Sad: 

----------

## flaab_0n

Esteban_Conde, mi fstab esta perfectamente bien tan solo q marca a /dev/sda<x>. Descartado :s

----------

## Kefka

A mi me pasa algo parecido, tengo un disco duro SATA en mi ordenador y en el livecd es reconocido como SCSI y nombrado como sda y mi directorio raíz es sda7, la única diferencia es que yo uso grub y no lilo pero bueno.  El caso es que va todo bien, en la instalacion cuando hago genkernel menuconfig -all marco soporte para mi controladora (Sil3112) y algunas cosas más, después configuro e instalo el grub y tal y cuando arranco me saca estos errores:

```
VFS: Cannot open root device "sda7" or unknown-block(0,0)

Please apped a correct "root=" boot option

kernel panic - not syncing: VFS: Unable to mount root on unknow-block(0,0) 
```

En el grub.conf tengo root=/dev/sda7 que es el directorio raíz. Y he probado poniendo hdg (que es como me lo suelen detectar otras distribuciones) y más cosas pero nada, siempre da errores.

Por cierto, flaab_0n, qué es eso del doscsi? y cómo se usa con el grub?

----------

## esteban_conde

Si como supongo es un disco SATA (serial ata) debereis dar soporte en el kernel seccion device drivers -->scsi support -->low-lavel drivers -->SATA

ademas de generic SCSI.

----------

## esteban_conde

Por lo que leo en google hay que dar soporte a masstorage y EHCI, espero que tengais suerte, miraré a ver si hay que pasarle opciones a grub/lilo.

----------

## flaab_0n

Kefka:

doscsi es una orden que se le da a lilo para que el inicio del sistema cargue todos los drivers scsi que tengan hardware en tu maquina.

append="doscsi"

Con todo, no me soluciono nada. Me carga algunos drivers mas y se queda colgado el booteo. A una persona de los foros angloparlantes le pasaba lo mismo.

Me estoy volviendo mico. No comprendo xq si el Livecd me lo reconoce, xq el kernel de genkernel no.

Probare y os dire.

----------

## M0M0

 *Quote:*   

> 
> 
> Si como supongo es un disco SATA (serial ata) debereis dar soporte en el kernel seccion device drivers -->scsi support -->low-lavel drivers -->SATA
> 
> ademas de generic SCSI.
> ...

 

Y el soporte para tu controladora scsi DENTRO DEL NÚCLEO porque monta la partición root antes de cargar los módulos.

El live cd puede montar tu partición sin ningún problema porque da igual que carge los drivers de tu controladora ata_piix como módulos, porque no los carga desde el disco duro sino desde el sistema de archivos del CD.  Mira cuidadosamente la parte del núcleo del soporte serial ata en la parte de drivers scsi cuidadosamente para recompilar en núcleo

y ánimo, no desesperes, que yo tuve exactamente el mismo problema y haciendo esto se solucionó

 *Quote:*   

> 
> 
> Puede que no te vaya principalmente porque /dev/sda es para dispositivos de almacenamiento tipo pendrive, camaras digitales etc...
> 
> 

 

GipfeX, el gran vicio (y creo yo el gran defecto) del núcleo linux es que todo lo que es un poco raro lo monta en emulacion SCSI.  Discos usb, grabadoras, discos SATA... es una chapuza como una casa pero funciona.

Lo que no se es qué van a hacer cuando los discos duros IDE hayan pasado a la historia. ¿Vivir por defecto en modos de emulación?

----------

## psm1984

 *M0M0 wrote:*   

> GipfeX, el gran vicio (y creo yo el gran defecto) del núcleo linux es que todo lo que es un poco raro lo monta en emulacion SCSI.  Discos usb, grabadoras, discos SATA... es una chapuza como una casa pero funciona.

 

¿en que te basas para asegurar que es una chapuza?   :Rolling Eyes: 

----------

## Kefka

Ya conseguí arrancar bien con mi SATA! al final lo he solucionado con la solución dada por esteban_conde, cuando haces el genkernel dentro del menú de configuración los soportes a las distintas controladoras están cargados como módulos, lo que he hecho es poner integrado en el kernel el soporte a mi controladora (Sil 3112). Si no se sabe cual es la controladora está el siguiente comando que he leído por ahí:

```
#lspci -v | grep -i sata
```

Por cierto, en la BIOS donde estableces el orden de arranque entre dispositivos cuando marco la opción HDD-0  o algo así  en primer lugar (que en teoría representa el primer disco duro) al arrancar se bloquea sin dar error, lo que hay que hacer para arrancar es seleccionar SATA como el primer dispositivo. Quizás sea este tu problema o uno parecido flaab_0n.

Saludos  y muchas gracias a todos.

----------

## M0M0

 *Quote:*   

> 
> 
> ¿en que te basas para asegurar que es una chapuza?
> 
> 

 

Que conste que lo he dicho con las mejores intenciones.

Ya hubo una discusión bastante gorda con  joerg schilling, el desarrollador de cdrecord, que culpaba a los del kernel de linux de las incompatibilidades de con su programa.  Lo mandaron a tomar viento porque les decía que el nucleo de Solaris era mejor, pero en algunas cosas tenía cierta razón.

En esto se ve, por ejemplo, en el uso de grabadoras de cd.  Se usa la emulación SCSI porque ofrece una interfaz del kernel casi para todo, pero obliga a trabajar tras una capa de emulación.  No son dispositivos SCSI.  Es como tener un hardware allí, y en vez de hablarle directamente, le hablo a una capa de emulación que a la vez le habla a una controladora scsi inexistente que le habla al hardware.  No me refiero precisamente al caso de los discos SATA.

Evidentemente se puede discutir entre apostar por la sencillez o reescribir gran parte del código.  Era uno de los grandes problemas en el núcleo 2.4 y no se hasta qué punto se ha solucionado con el 2.6.  Reconozco que me falta bastante información técnica al respecto, sobretodo sobre el SATA

y repito, lo he dicho con la mejor de las intenciones

----------

## psm1984

Era por si habias leido algo de informacion acerca de la emulacion scsi, yo he buscado y no he econtrado mucho, a ver si con mas tiempo....

----------

## flaab_0n

 *Kefka wrote:*   

> Ya conseguí arrancar bien con mi SATA! al final lo he solucionado con la solución dada por esteban_conde, cuando haces el genkernel dentro del menú de configuración los soportes a las distintas controladoras están cargados como módulos, lo que he hecho es poner integrado en el kernel el soporte a mi controladora (Sil 3112). Si no se sabe cual es la controladora está el siguiente comando que he leído por ahí:
> 
> ```
> #lspci -v | grep -i sata
> ```
> ...

 

Oye tio, y como has puesto el lilo.conf y el fstab? Podías postearlos pliz?

Feliz año  :Very Happy: 

----------

## Kefka

Yo uso el grub y no el lilo, pero bueno, te pongo como tengo el grub.conf por si quieres cambiar o algo.

```
title=Gentoo

root (hd0,4)

kernel (hd0,4)/boot/nombreKernel root=/dev/sda7

initrd (hd0,4)/boot/nombreInitrd

title Windows 

rootnoverify (hd0,0)

chainloader +1
```

Y bueno, en el fstab no he realizado muchos cambios, sólo he introducido la particion de windows y cambiar BOOT, ROOT y tal por las particiones reales:

```

/dev/sda5                    /boot            ext3         no auto, noatime  1 1

/dev/sda7                    /                  ext3         noatime               0 0

/dev/sda6                    none             swap        sw                       0 0

/dev/sda1                    /mnt/xp         auto

/dev/cdroms/cdrom0    /mnt/cdrom    iso9660    noauto,ro

```

Suerte y feliz año  :Wink: 

----------

## ohzaru

Me encuentro en la misma situacion, P4 y todo instalado en un disco serial ata.

Con el livecd todo correcto en sda6 pero a la hora de arrancarlo desde grub el error de VFS con kernel panic   :Confused: 

He probado todo lo que habeis comentado pero nada.

Funcionaria el sistema de:

-instalo y configuro todo en hda (por ejemplo)

-cuando todo vaya bien incluyendo el montaje del disco serial ata, mover la particion de hda1 a sda6 retocando fstab y grub

Funcionaria???

----------

## flaab_0n

Pues yo ahora mismo estoy compilando el sistema. Despues descargaré el kernel y prestaré atención a todas esas cosas que hagan falta. A kafka le ha funcionado asi que a mi tambien me tiene q funcionar  :Very Happy: 

Yo os dire como me va.

xDD

----------

## flaab_0n

 *Kefka wrote:*   

> Ya conseguí arrancar bien con mi SATA! al final lo he solucionado con la solución dada por esteban_conde, cuando haces el genkernel dentro del menú de configuración los soportes a las distintas controladoras están cargados como módulos, lo que he hecho es poner integrado en el kernel el soporte a mi controladora (Sil 3112). Si no se sabe cual es la controladora está el siguiente comando que he leído por ahí:
> 
> ```
> #lspci -v | grep -i sata
> ```
> ...

 

Yo tambien lo he conseguido como me habeis dicho! Pero ahora me da un problema raro que solo me da ahora. 

* Bringing Net.eth0 Up via DHCP                        [!!]

"Netmount" was not startet.

:S. Q es eso de netmount? Antes no me pasaba?

Alguna idea?

Gracias  :Very Happy: 

----------

## flaab_0n

Nada nada ya lo he solucionado.

A todos ellos a los que le salga(que vi un post antes de alguien que le pasaba), resulta que la nueva version de hotplug no tiene init script y que en vez de eso hay que hacer:

```
emerge coldplug && rc-update add coldplug default
```

Coldplug si reconoce y carga los modulos que hagan faltan.

De todas formas yo añadi a mano el modulo de mi placa de red a /etc/modules.autoload.d/kernel-2.6

Salu2 y gracias ya estoy funcionando  :Very Happy: 

----------

