Etiket Arşivi linux-image-3.8.1

Ubuntu Linux Kernel 3.8.1 Nvidia 304.64

Birçok neden den dolayı Linux işletim sistemlerinde standart sunulan sürüm çekirdeği yerine dha üst bir versiona geçmek isteyebilirsiniz. Özellikle donanımlarınızı sık sık değiştiriyor ve güncel donanımları yeni teknolojiler kullanmayı seviyorsanız çekirdek güncellemek sıradan işlerden olabilir. Özellikle popüler dağıtımlardan Ubuntu da çekirdek güncellemek gerçekn çok kolay neden olsa hazır paketler halindeler ve basit anlamda iki üç komut ile kolayca sisteme entegre edilebiliyorlar. Tabi sürücüler ve diğer ek bileşenleri bazen bu çekirek için yamamak gerekebiliyor. Altta Linux çekirdek sürümü 3.8.1 in sisteminize nasıl yüklendiğini ve Nvidia sürücülerinin asıl yamalandığını bulabilirsiniz.

Bu adımdan sonra anlatılanlar bilgisayarınıza ciddi zararlar verebilir ve donanım yada yazılım kısmının çalışmamasına neden olabilir anlatılanlar, Ubuntu 12.10 Masa üstü işletim sisteminin 64 bit sürümü için geçerlidir.

basit anlamda alttaki komutları kopya past etmek yeterli.

mkdir ~/kernel

cd ~/kernel

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.8.1-raring/linux-headers-3.8.1-030801-generic_3.8.1-030801.201302280935_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.8.1-raring/linux-headers-3.8.1-030801_3.8.1-030801.201302280935_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.8.1-raring/linux-image-3.8.1-030801-generic_3.8.1-030801.201302280935_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.8.1-raring/linux-image-extra-3.8.1-030801-generic_3.8.1-030801.201302280935_amd64.deb

sudo dpkg -i *.deb

Bu adımdan sonra yapılması gereken sistemi yeniden başlatmak fakat nvidia sürücünüz başlamayacak ve 2d olarak yada düşük çözünürlük modunda çalışacaksınız, bu duruma istinaden altta anlatacağım yama işlemlerini yukarıdaki çekirdek güncelleme işlemlerinden önce yada yükleyip 2d modunda düşük çözünürlükte açtıktan sonra yapabilirsiniz.

sudo nano  /usr/src/nvidia-current-304.64/patches/buildfix_kernel_3.8.patch

Dosya içeriği altaki gibidir.

— conftest.sh.dist    2012-10-11 19:18:22.704848496 -0400
+++ conftest.sh    2012-10-12 20:35:55.707213868 -0400
@@ -20,6 +20,7 @@
ISYSTEM=`$CC -print-file-name=include 2> /dev/null`
SOURCES=$4
HEADERS=$SOURCES/include
+HEADERSA=$SOURCES/include/uapi
OUTPUT=$5
XEN_PRESENT=1

@@ -118,7 +119,7 @@
fi
fi

–    CFLAGS=”$CFLAGS $OUTPUT_CFLAGS -I$HEADERS $AUTOCONF_CFLAGS”
+    CFLAGS=”$CFLAGS $OUTPUT_CFLAGS -I$HEADERS -I$HEADERSA $AUTOCONF_CFLAGS”

test_xen

@@ -146,10 +147,10 @@
fi
fi

–    CFLAGS=”$BASE_CFLAGS $MACH_CFLAGS $OUTPUT_CFLAGS -I$HEADERS $AUTOCONF_CFLAGS”
+    CFLAGS=”$BASE_CFLAGS $MACH_CFLAGS $OUTPUT_CFLAGS -I$HEADERS -I$HEADERSA $AUTOCONF_CFLAGS”

if [ “$ARCH” = “i386” -o “$ARCH” = “x86_64″ ]; then
–        CFLAGS=”$CFLAGS -I$SOURCES/arch/x86/include -I$OUTPUT/arch/x86/include/generated”
+        CFLAGS=”$CFLAGS -I$SOURCES/arch/x86/include -I$SOURCES/arch/x86/include/uapi -I$OUTPUT/arch/x86/include/generated -I$OUTPUT/arch/x86/include/generated/uapi”
elif [ “$ARCH” = “arm” ]; then
CFLAGS=”$CFLAGS -I$SOURCES/arch/arm/include -I$OUTPUT/arch/arm/include/generated”
fi

Bu işlemden sonra gerekli yamayı, yamalayacağız,

cd /usr/src/nvidia-current-304.64/

sudo patch -p0 <patches/buildfix_kernel_3.8.patch

Bu işlemden sonraki yama işlemini manuel yapmak gerekiyor maalesef alttaki dosyayı açın

sudo nano /usr/src/nvidia-current-304.64/nv-mmap.c

ve

vma->vm_flags |= (VM_IO | VM_LOCKED | VM_RESERVED);

Satırını

vma->vm_flags |= (VM_IO | VM_LOCKED | (VM_DONTEXPAND | VM_DONTDUMP));

Satırı ile değiştirin.

Yama işlemlerini çekirdek yüklenmeden önce yaparsanız ek bir şey yapmaya gerek kalmayacaktır çekirdek yüklendikten sonra yamalarsanız alttaki komutu çalıştırıp sistemi yeniden başlatın.

sudo dpkg-reconfigure nvidia-current