# [SOLVED] błąd podczas update (nvidia)

## Xywa

Witam

Podczas updetu emerge -uDN world, wyskoczył mi problem podczas updetowania nvidi. 

Mam nastepująy bład:

```
 * Could not find a Makefile in the kernel source directory.

 * Please ensure that /usr/src/linux points to a complete set of Linux sources

```

```
 * The specific snippet of code:

 *      get_version || die "Unable to calculate Linux Kernel version"

 *  The die message:

 *   Unable to calculate Linux Kernel version

```

Mój system:

```
lrwxrwxrwx  1 root root   22 Jul 23 09:14 linux -> linux-2.6.25-gentoo-r7

drwxr-xr-x 19 root root 4096 Aug  1 10:13 linux-2.6.25-gentoo-r6

drwxr-xr-x 19 root root 4096 Nov 24 17:04 linux-2.6.25-gentoo-r7

drwxr-xr-x 21 root root 4096 Nov 24 16:50 linux-2.6.26-gentoo-r3

drwxr-xr-x 22 root root 4096 Jan  5 11:18 linux-2.6.27-gentoo-r7

```

```
# eselect kernel list

Available kernel symlink targets:

  [1]   linux-2.6.25-gentoo-r6

  [2]   linux-2.6.25-gentoo-r7 *

  [3]   linux-2.6.26-gentoo-r3

  [4]   linux-2.6.27-gentoo-r7

```

Last edited by Xywa on Mon Jan 26, 2009 4:34 pm; edited 1 time in total

----------

## mziab

```
cd /usr/src/linux && make modules_prepare
```

----------

## Xywa

```
linux # cd /usr/src/linux && make modules_prepare

make: *** No rule to make target `modules_prepare'.  Stop.
```

----------

## mziab

A jest tam chociaż Makefile?

```
ls -l /usr/src/linux/
```

----------

## SlashBeast

make prepare

----------

## Xywa

```
linux # make prepare

make: *** No rule to make target `prepare'.  Stop.

```

```
muu linux # ls -l

total 17912

-rw-r--r--  1 root root   217939 Jul 23 09:34 Module.symvers

-rw-r--r--  1 root root  1265709 Jul 23 09:33 System.map

drwxr-xr-x  4 root root     4096 Nov 24 17:04 arch

drwxr-xr-x  2 root root     4096 Nov 24 17:04 block

drwxr-xr-x  2 root root     4096 Nov 24 17:04 crypto

drwxr-xr-x 40 root root     4096 Nov 24 17:04 drivers

drwxr-xr-x 24 root root    12288 Nov 24 17:04 fs

drwxr-xr-x  5 root root     4096 Nov 24 17:04 include

drwxr-xr-x  2 root root     4096 Nov 24 17:03 init

drwxr-xr-x  2 root root     4096 Nov 24 17:03 ipc

-rw-r--r--  1 root root    45525 Jul 23 09:25 jajko

-rw-r--r--  1 root root    45525 Jul 23 09:23 jajko.old

drwxr-xr-x  5 root root    12288 Nov 24 17:03 kernel

drwxr-xr-x  3 root root    12288 Nov 24 17:04 lib

drwxr-xr-x  2 root root     4096 Nov 24 17:03 mm

-rw-r--r--  1 root root     1022 Jul 23 09:34 modules.order

drwxr-xr-x 14 root root     4096 Nov 24 17:04 net

drwxr-xr-x  5 root root     4096 Nov 24 17:04 scripts

drwxr-xr-x  2 root root     4096 Nov 24 17:04 security

drwxr-xr-x 19 root root     4096 Nov 24 17:04 sound

drwxr-xr-x  2 root root     4096 Nov 24 17:03 usr

-rwxr-xr-x  1 root root 11212164 Jul 23 09:33 vmlinux

-rw-r--r--  1 root root  9596461 Jul 23 09:33 vmlinux.o

```

----------

## mziab

Masz wybrakowane źródła. Brakuje m.in. Makefile. Radzę przeinstalować odpowiedni pakiet. Ewentualnie spróbuj przekopiować Makefile z podobnej wersji kernela.

----------

## Xywa

 *mziab wrote:*   

> Masz wybrakowane źródła. Brakuje m.in. Makefile. Radzę przeinstalować odpowiedni pakiet. Ewentualnie spróbuj przekopiować Makefile z podobnej wersji kernela.

 

Ciekawi mnie dlaczego są wybrakowane? Wcześniej wszystko było OK, a ostatni raz kompilowałem jajko kilka miesięcy temu i po tym nic nie zmieniałem...

----------

## caruso

Witam

A czy, kernel pod którym emergujesz zgadza się z tym w /usr/src/linux?

----------

## Xywa

 *caruso wrote:*   

> Witam
> 
> A czy, kernel pod którym emergujesz zgadza się z tym w /usr/src/linux?

 

Co przez to rozumiesz?

Mam:

```
# emerge --info

Portage 2.1.6.4 (default/linux/amd64/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r7 x86_64)
```

----------

## mziab

Xywa: 

```
emerge -1 =gentoo-sources-2.6.25-r7
```

To zasugerowałem już parę dni temu  :Wink:  Nie wiem co orżnęło źródła kernela, ale wystarczy, że je przeinstalujesz i przerzucisz .config. Potem to już tylko kwestia make modules_prepare.

----------

## Xywa

 *mziab wrote:*   

> Nie wiem co orżnęło źródła kernela

 

...to mnie właśnie niepoki, dlaczego część plików zniknęła. Nie robiłem nic oprócz aktualizacji - a już na pewno nie grzebałem ręcznie w plikach kernela. Czy jest możliwe że ktoś "zajrzał" do mojego komputera?

----------

## mziab

Wydaje mi się, że depclean to zrobił. Od jakiegoś czasu wyrzuca starsze wersje kernela, jeśli nie są w world. No i w ten sposób zostały ci tylko odpadki po kompilacji tego kernela.

----------

## Xywa

 *mziab wrote:*   

> Wydaje mi się, że depclean to zrobił. Od jakiegoś czasu wyrzuca starsze wersje kernela, jeśli nie są w world. No i w ten sposób zostały ci tylko odpadki po kompilacji tego kernela.

 

No właśnie - właśnie przekompilowałem sobie nowego kernela, ale ponieważ był jakiś problem, chciałem go kilka minut później przekompilować na nowo i...

```
# make menucofig

make: *** No rule to make target `menucofig'.  Stop.
```

 :Twisted Evil:   :Twisted Evil:   :Twisted Evil:   :Twisted Evil:   :Twisted Evil: 

Czy muszę teraz po każdej kompilacji kernela reemergować kernel-source?

----------

## AcidWeb

 *Xywa wrote:*   

> Czy muszę teraz po każdej kompilacji kernela reemergować kernel-source?

 

Nie. Musisz się nauczyć pisać   :Cool: 

make menuconfig

----------

## Xywa

 *AcidWeb wrote:*   

> make menuconfig

 

Zadziałało! 

...ale to nie koniec problemów. Gdy odpalam nowego kernela dosta?em komunikat: 

 *Quote:*   

> VFS: cannot open root device "<NULL>" or unknown block(0,0)  
> 
> Please append a correct "root=" boot option; here are the available partitions 
> 
> 78150744 sda driver driver: sd 
> ...

 

Wyczytałem coś na angielskich forach, że w nowym kernelu nazewnictwo hdx przechodzi w sdx - dlatego też system chce  sda3 i nie widzi hda3, ale.. gdy podmienilem hda3 na sda3 dla nowego kernela w pliku /boot/grub/grub.conf (fragment poniżej)to system ładuję się dłużej niż poprzednio, ale i tak w pewnym momencie staje i mówi:

 *Quote:*   

> * Checking root filesystem
> 
> fsck.ext3: No such file or directory while trying to open /dev/hda3

 

Czy powinienem też podmienić wszystkie wpisy w /etc/fstab z /dev/hdax na /dev/sdax ?

Help!

fragment  /boot/grub/grub.conf

 *Quote:*   

> title Gentoo Linux 2.6.25-r7 
> 
> root (hd0,1) 
> 
> kernel /boot/kernel-2.6.25-gentoo-r7 root=/dev/hda3 
> ...

 

```
ls -l /boot/ 

total 9141 

lrwxrwxrwx 1 root root       1 Jul 15  2008 boot -> . 

-rw-r--r-- 1 root root 3450224 Jan 22 15:10 bzImage 

drwxr-xr-x 2 root root    1024 Jan 22 12:30 grub 

-rw-r--r-- 1 root root 2602424 Jul 23  2008 kernel-2.6.25-gentoo-r7 

-rw-r--r-- 1 root root 3251536 Jan 22 15:31 kernel-2.6.27-gentoo-r8 

drwx------ 2 root root   12288 Jul 15  2008 lost+found 

```

----------

## mziab

Tak, powinieneś podmienić wpisy w fstab.

----------

## Xywa

 *mziab wrote:*   

> Tak, powinieneś podmienić wpisy w fstab.

 

THX za info. Czy powinienem zmienić także wpisy w /etc/mtab ?

Poniższe info co prawda nic nie mówi /etc/mtab tylko o /etc/fstab, ale może w Gentoo jest inaczej niż w Slacku?

Poniższe info z:

http://forum.slackware.pl/viewtopic.php?t=13436

 *Quote:*   

> Jedną z najważniejszych zmian, które nie mogą przejść bez zauważenia, jest wprowadzenie do Jądra podsystemu PATA (z ang. Parallel ATA), który ma zastąpić stary podsystem IDE. PATA autorstwa Alana Coxa jest oparta o libATA, co w efekcie powoduje, że nasze napędy IDE będą teraz widoczne w systemie jako urządzenia SCSI. Nowy podsystem, wraz z wsparciem dla SATA (które zadomowiło się w Jądrze na dobre od wersji 2.6.10) wylądował w Device Drivers ---> Serial ATA (prod) and Parallel ATA (experimental) drivers, natomiast stary podsystem jest nadal dostępny w ATA/ATAPI/MFM/RLL support. Wprowadza to swego rodzaju zamieszanie, gdyż większość użytkowników w pierwszej próbie zazwyczaj pozostawia cześć opcji należących do starego podsystemu, zaznaczając w nowym tylko swój kontroler. Prowadzi to do sporych problemów, gdyż system domyślnie wystartuje korzystając ze starego podsystemu. Jeśli mieliśmy zaznaczone generic/default IDE chipset support, to mamy szczęście, bo system powinien wstać, bez tego dostaniemy komunikat Kernel Panic. Jeśli chcemy skorzystać z dobrodziejstw PATA należy całkowicie wykluczyć starą konfigurację. W PATA wybieramy tylko kontroler, na którym pracują nasze urządzenia, oraz odpowiednie elementy wsparcia dla SCSI, tj.: 
> 
> SCSI disk support; 
> 
> SCSI CDROM support - potrzebne, gdyż nasz CDROM również będzie teraz widoczny jako urządzenie SCSI; 
> ...

 

----------

## Exil

/etc/mtab? jest 'kopią' /proc/mounts i nie ma po co go edytować.

```

/etc/mtab

This file handles the mounted devices and is automatically updated by the mount command.

And it looks a bit similar to fstab but not the 100% same ( notice rw and ro for read/write and read only ) And it does only lists the mounted devices !

```

----------

