# Kernel 2.6.22 config e avvio con doppio controller SATA/PATA

## UVI

Ciao amici

ho un grosso problema con la compilazione del mio primo kernel in gentoo  :Crying or Very sad: 

all'avvio dello stesso, ho il seguente errore:

```

fsck.ext3: no such file or directory while trying to open /dev/hdf1: the superblock could not be read or does not describe a correct ext2 filesystem. if the device is valid and it really contains an ext2 filesystem.(and not swap or usf or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock: e2fsck -b 8193 <device> 

```

la cosa strana è che l'errore parla di /dev/hdf1 mentre se lancio il comando:

```
fdisk -l
```

come risultato ho 

```
/dev/sdc1
```

vi posto inoltre inoltre la mia configurazione di grub:

```

default 0

timeout 30

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux

root (hd0,0)

kernel /boot/kernel-genkernel-x86-2.6.19-gentoo-r5 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hdf1

initrd /boot/initramfs-genkernel-x86-2.6.19-gentoo-r5

title=Gentoo Linux 2.6.22-r8

root (hd0,0)

```

avete qualche idea di possa risolvere?  :Shocked: Last edited by UVI on Wed Oct 17, 2007 1:18 pm; edited 2 times in total

----------

## crisandbea

in grub hai questa riga  *Quote:*   

> real_root=/dev/hdf1

  che dovrebbe essere da quello che dice fdisk cosi  *Quote:*   

> real_root=/dev/sdc1

 

ciao

----------

## UVI

scusa ho sbagliato

```

hdfdefault 0

timeout 30

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux

root (hd0,0)

kernel /boot/kernel-genkernel-x86-2.6.19-gentoo-r5 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hdf1

initrd /boot/initramfs-genkernel-x86-2.6.19-gentoo-r5

title=Gentoo Linux 2.6.22-r8

root (hd0,0)

kernel /boot/kernel-2.6.22-gentoo-r8 root=/dev/sdc1 real_root=/dev/hdf1

```

----------

## Tigerwalk

 *UVI wrote:*   

> scusa ho sbagliato
> 
> ```
> 
> hdfdefault 0
> ...

 

devi mettere

```
real_root=/dev/sdc1
```

al posto di 

```
real_root=/dev/hdf1
```

----------

## UVI

in quale dei 2 kernel?

----------

## Tigerwalk

 *UVI wrote:*   

> in quale dei 2 kernel?

 

In tutti e due prova così!  hdf1 è strano, al limite posta fdisk -l

----------

## UVI

 *Tigerwalk wrote:*   

>  *UVI wrote:*   in quale dei 2 kernel? 
> 
> In tutti e due prova così!  hdf1 è strano, al limite posta fdisk -l

 

Innanzitutto ho provato ad aggiungere il real_root=/dev/sdc1  sul kernel ma l'errore è lo stesso.  :Confused: 

Al boot dello stesso ho notato anche un errore tipo:

```
Filesystem couldn't be fixed
```

  :Shocked: 

Ho molta paura, spero di non dovere reinstallare di nuovo tutto da capo.

Cmq la cosa strana è che il genkernel funziona, quindi il filesystem non sarà danneggiato credo  :Rolling Eyes:  .

Ecco l'output di fdisk -l

```
Disk /dev/sda: 200.0 GB, 200049647616 bytes

255 heads, 63 sectors/track, 24321 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1               1       24321   195358401    7  HPFS/NTFS

Disk /dev/sdb: 203.9 GB, 203928109056 bytes

255 heads, 63 sectors/track, 24792 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1       12749   102406311    7  HPFS/NTFS

/dev/sdb2           12750       24792    96735397+   f  W95 Ext'd (LBA)

/dev/sdb5           12750       24792    96735366    b  W95 FAT32

Disk /dev/sdc: 81.9 GB, 81964302336 bytes

255 heads, 63 sectors/track, 9964 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1        9561    76798701   83  Linux

/dev/sdc2            9562        9964     3237097+  82  Linux swap / Solaris
```

Notiamo le ultime 2 righe, sembrerebbero giuste.

Se invece riavvio e lancio il kernel funzionante (il genkernel) e lancio ancora un fdisk -l l'output è diverso  :Evil or Very Mad: 

```

Disk /dev/hdf: 81.9 GB, 81964302336 bytes

255 heads, 63 sectors/track, 9964 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/hdf1               1        9561    76798701   83  Linux

/dev/hdf2            9562        9964     3237097+  82  Linux swap / Solaris

Disk /dev/sda: 200.0 GB, 200049647616 bytes

255 heads, 63 sectors/track, 24321 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1               1       24321   195358401    7  HPFS/NTFS

Disk /dev/sdb: 203.9 GB, 203928109056 bytes

255 heads, 63 sectors/track, 24792 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1       12749   102406311    7  HPFS/NTFS

/dev/sdb2           12750       24792    96735397+   f  W95 Ext'd (LBA)

/dev/sdb5           12750       24792    96735366    b  W95 FAT32

```

Non so più che fare   :Crying or Very sad:   :Crying or Very sad:   :Crying or Very sad:   :Crying or Very sad: 

----------

## MeMyselfAndI

Beh non mi sembra niente di anormale, nel primo hai compilato solo le libata (tutti gli hard disk sono sd*) mentre genkernel compilando tutti i moduli ha compilato anche il vecchio supporto Pata (per questo alcuni harddisk sono hd* e quelli *esterni presumo* sono sd*).

Chiarito questo dubbio dovresti essere in grado di procedere da solo no? in pratica ti consiglio di lanciare genkernel con l-opzione --menuconfig e configurare una soltanto delle due opzioni suddette e poi modificare di conseguenza /etc/fstab.

Ciao

----------

## UVI

 *MeMyselfAndI wrote:*   

> Beh non mi sembra niente di anormale, nel primo hai compilato solo le libata (tutti gli hard disk sono sd*) mentre genkernel compilando tutti i moduli ha compilato anche il vecchio supporto Pata (per questo alcuni harddisk sono hd* e quelli *esterni presumo* sono sd*).

 

No, gli hard disk sono tutti interni e la scheda madre supporta entrambi, nel kernel ho abilitato entrambi i moduli.

 *MeMyselfAndI wrote:*   

> 
> 
> Chiarito questo dubbio dovresti essere in grado di procedere da solo no? in pratica ti consiglio di lanciare genkernel con l-opzione --menuconfig e configurare una soltanto delle due opzioni suddette e poi modificare di conseguenza /etc/fstab.
> 
> Ciao

 

Sinceramente qui non ho capito, il genkernel mi funziona, ma è quello normale che non va, io voglio far andare quello normale, cioè quello di cui ho i gentoo-sources. e non capisco quello che devo fare  :Rolling Eyes: 

Grazie x la pazienza   :Wink: 

P.S. Attualmente la parte "dischi" del mio kernel è così configurata, non escludo che ci siano errori qui   :Rolling Eyes: 

```
Device Drivers-->

   <*> ATA/ATAPI/MFM/RLL support  ---> 

        <*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support

        <*>     Include IDE/ATAPI CDROM support

        <*>     SCSI emulation support

        [*]     legacy /proc/ide/ support

        <*>     Generic PCI IDE Chipset Support

        [*]     Generic PCI bus-master DMA support 

               <*>       Intel PIIXn chipsets support  

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

       <*>   Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support 

       <*>   JMicron PATA support 
```

La motherboard è una ASUS P5B-premium che supporta sia SATA che PATA

L'output di lspci:

```
00:00.0 Host bridge: Intel Corporation Memory Controller Hub (rev 02)

00:01.0 PCI bridge: Intel Corporation PCI Express Root Port (rev 02)

00:1b.0 Audio device: Intel Corporation HD Audio Controller (rev 02)

00:1c.0 PCI bridge: Intel Corporation PCI Express Port 1 (rev 02)

00:1c.4 PCI bridge: Intel Corporation PCI Express Port 5 (rev 02)

00:1c.5 PCI bridge: Intel Corporation PCI Express Port 6 (rev 02)

00:1d.0 USB Controller: Intel Corporation USB UHCI Controller #1 (rev 02)

00:1d.1 USB Controller: Intel Corporation USB UHCI Controller #2 (rev 02)

00:1d.2 USB Controller: Intel Corporation USB UHCI Controller #3 (rev 02)

00:1d.3 USB Controller: Intel Corporation Unknown device 2833 (rev 02)

00:1d.7 USB Controller: Intel Corporation USB2 EHCI Controller #1 (rev 02)

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2)

00:1f.0 ISA bridge: Intel Corporation LPC Interface Controller (rev 02)

00:1f.2 IDE interface: Intel Corporation SATA Controller 1 IDE (rev 02)

00:1f.3 SMBus: Intel Corporation SMBus Controller (rev 02)

00:1f.5 IDE interface: Intel Corporation SATA Controller 2 IDE (rev 02)

01:00.0 VGA compatible controller: nVidia Corporation Unknown device 0191 (rev a2)

02:00.0 Ethernet controller: Marvell Technology Group Ltd. Unknown device 4364 (rev 12)

03:00.0 IDE interface: JMicron Technologies, Inc. JMicron 20360/20363 AHCI Controller (rev 02)

03:00.1 IDE interface: JMicron Technologies, Inc. JMicron 20360/20363 AHCI Controller (rev 02)

05:02.0 Multimedia controller: Philips Semiconductors SAA7133/SAA7135 Video Broadcast Decoder (rev d0)

```

Gentoo è installato nel disco PATA.Last edited by UVI on Mon Oct 15, 2007 5:30 pm; edited 1 time in total

----------

## Tigerwalk

potresti copiare il kernel generato da genkernel nella cartella dei  nuovi sorgenti

poi

```
1) cd /usr/src
```

rimuovere il vecchio symlink con

```
2) rm linux
```

creare il symlink linux ai nuovi sorgenti:

```
 3) ln -s linux-2.6.xx-gentoo-sources linux
```

poi, andare in

```
4) cd /usr/src/linux
```

e dare:

```
5) make oldconfig
```

a questo punto dai i comandi classici per aggiungere/rimuovere i moduli che vuoi e per compilare ed installare il nuovo kernel con i sorgenti

----------

## UVI

Devo copiare l'immagine del genkernel in /usr/src?

o in /usr/src/linux?

in questo momento linux punta già al kernel 2.6.22 dei gentoo-sources.  :Confused:   :Sad: 

----------

## Tigerwalk

 *UVI wrote:*   

> Devo copiare l'immagine del genkernel in /usr/src?
> 
> o in /usr/src/linux?
> 
> in questo momento linux punta già al kernel 2.6.22 dei gentoo-sources.  

 

devi copiare il .config  che hai adesso in /usr/src/linux/

nella cartella dei sorgenti.

dopo, rimuovi /usr/src/linux

e rifai il symlink con 

ln -s cartella_dei_sorgenti linux

così avrai di nuovo

/usr/src/linux/

dove però nella cartella /linux ci sono i sorgenti che hai scaricato contenenti il file .config del vecchio kernel (funzionante)

----------

## UVI

Sì ma del genkernel i sorgenti non esistono, è quello installato di default all'installazione del sistema.

 :Rolling Eyes: 

c'è solo l'immagine del genkernel  in boot, nient'altro.

In /usr/src/linux ho i sorgenti del 2.6.22 e basta. Il link linux che punta a quei sorgenti.

----------

## Tigerwalk

 *UVI wrote:*   

> Sì ma del genkernel i sorgenti non esistono, è quello installato di default all'installazione del sistema.
> 
> c'è solo l'immagine del genkernel  in boot, nient'altro.
> 
> In /usr/src/linux ho i sorgenti del 2.6.22 e basta. Il link linux che punta a quei sorgenti.

 

posozionati in /linux col comando

cd /usr/src/linux/

dai 

ls -a

non vedi un file .config???

----------

## UVI

 *Tigerwalk wrote:*   

>  *UVI wrote:*   Sì ma del genkernel i sorgenti non esistono, è quello installato di default all'installazione del sistema.
> 
> c'è solo l'immagine del genkernel  in boot, nient'altro.
> 
> In /usr/src/linux ho i sorgenti del 2.6.22 e basta. Il link linux che punta a quei sorgenti. 
> ...

 

certo, è quello che mi sono costruito io   :Very Happy:  . Non è quello del genkernel

Comunque, non è la prima volta nella mia vita che compilo un kernel, sono in grado di farlo, è la configurazione dello stesso il problema, oppure il problema è di grub.  :Evil or Very Mad:   :Evil or Very Mad: 

----------

## Tigerwalk

il config di genkernel comunque dovresti averlo in 

/etc/kernels/

se non lo hai rimosso

----------

## UVI

Allora, in questo momento parte e non mi dà più errori. Ho risolto mettendo nel file /etc/fstab i riferimenti al disco su cui è installata Gentoo per uuid.

Ora però ho un altro problema, i 2 HD SATA non vengono rilevati nemmeno con un fdisk -l, è come se non esistessero insomma.

Il mio kernel è così configurato:

```
Device Drivers  ---> 

   <*> ATA/ATAPI/MFM/RLL support -->

          <*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support

          <*>     Include IDE/ATAPI CDROM support

          <*>     Include IDE/ATAPI FLOPPY support

          [*]     legacy /proc/ide/ support  

          [*]     PCI IDE chipset support

              [*]       Sharing PCI IDE interrupts support  

          <*>     Generic PCI IDE Chipset Support 

    

    SCSI device support  --->

          <*> SCSI disk support 

               <*> SCSI CDROM support 

                    [*]   Enable vendor-specific extensions (for SCSI CDROM) 

        

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

           <*>   Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support

           <*>   Generic ATA support

           <*>   JMicron PATA support 

      
```

Ho una scheda madre Asus P5B Premium con il doppio controller ATA (Jmicron) e SATA (Intel ICH8)

----------

## Tigerwalk

Ti posto la mia config., ho omesso i PATA perchè a me sono tutti disattivati, credo cha al momento a te interessino i SATA...

```
cat /usr/src/linux/.config | grep ATA

CONFIG_X86_MCE_NONFATAL=y

# CONFIG_RELOCATABLE is not set

# CONFIG_ATALK is not set

# CONFIG_ATA_OVER_ETH is not set

# CONFIG_BLK_DEV_IDE_SATA is not set

CONFIG_SCSI_EATA=m

CONFIG_SCSI_EATA_TAGGED_QUEUE=y

CONFIG_SCSI_EATA_LINKED_COMMANDS=y

CONFIG_SCSI_EATA_MAX_TAGS=16

CONFIG_ATA=m

# CONFIG_ATA_NONSTANDARD is not set

CONFIG_ATA_ACPI=y

CONFIG_SATA_AHCI=m

CONFIG_SATA_SVW=m

CONFIG_ATA_PIIX=m

CONFIG_SATA_MV=m

CONFIG_SATA_NV=m

CONFIG_SATA_QSTOR=m

CONFIG_SATA_PROMISE=m

CONFIG_SATA_SX4=m

CONFIG_SATA_SIL=m

CONFIG_SATA_SIL24=m

CONFIG_SATA_SIS=m

CONFIG_SATA_ULI=m

CONFIG_SATA_VIA=m

CONFIG_SATA_VITESSE=m

# CONFIG_SATA_INIC162X is not set

..................

...................

CONFIG_USB_STORAGE_DATAFAB=y

# CONFIG_ATARI_PARTITION is not set

# CONFIG_DEBUG_RODATA is not set
```

----------

