# [SOLVED]Jak nałożyć takie patche?

## Pryka

Jak nałożyć te patche na sterowniki nvidia?

Może i głupie pytanie, ale nie bardzo wiem jak się za to zabrać.

https://grsecurity.net/~paxguy1/nvidia-drivers-285.05.09-pax-const.patch

https://grsecurity.net/~paxguy1/nvidia-drivers-285.05.09-pax-const.patch

To samo z virtualboxem:

https://grsecurity.net/~paxguy1/virtualbox-modules-4.1.4-pax-const.patch

Z góry dzięki, może jestem ślepy ale nie mogę nic wygooglować.Last edited by Pryka on Mon Oct 24, 2011 3:58 pm; edited 1 time in total

----------

## SlashBeast

Mozesz albo zedytowac ebuild i dopisac epatch'e, ale potem bedziesz musial sobie go podbijac, albo uzyc localpatcha ktorego napisalem do takich celow.

1. Zaopatrz sie w foobashrc, mozesz pobrac go z overlaya foo-overlay, emerge foobashrc lub

```
wget 'https://raw.github.com/slashbeast/foobashrc/master/bashrc' -O '/etc/portage/bashrc'
```

2. Dodaj do make.conf

```
foobashrc_modules="localpatch"
```

3. Utworz katalog '/etc/portage/localpatches/x11-drivers/nvidia-drivers' i wrzuc tam patche.

4. Przy budowie nvidia-drivers patche zostana dodane zaraz po rozpakowaniu zrodel.

Mozesz rowniez do konkretnej wersji dodac te patche, dopisujac numer wersji (z lub bez -r) do nazwy katalogu.

----------

## Jacekalex

Robisz tak:

```
ebuild /usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-285.05.09.ebuild unpack compile
```

Przy kompilacji wywali błąd, tak ma być.

Potem przechodzisz do folderu 

```
cd /var/tmp/portage/x11-drivers/nvidia-drivers*/work/kernel
```

nakładasz patche:

```
patch -p1 </gdzie/jest/łatka/nvidia-drivers-285.05.09-pax-const.patch

patch -p1 </gdzie/jest/łatka/nvidia-drivers-285.05.09-pax-usercopy.patch
```

potem jedziesz:

```
ebuild /usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-285.05.09.ebuild  compile install qmerge clean
```

Przed godziną sprawdzone na nvidii 285.05.09

Folder kernel ze źródłami modułu kernela  pojawia się dopiero przy kompilacji sterownika,

dlatego łatki wcześniej nie wchodzą.

Działa

 :Very Happy: 

----------

## Pryka

Obydwa sposoby działają, dziękuję panowie  :Smile: 

----------

## Jacekalex

 *Pryka wrote:*   

> Obydwa sposoby działają, dziękuję panowie 

 

A gdzie SOLVED?

Poza tym, jaką techniką wsadziłeś patcha na Virtualboxa?

Pytam,  bo u mnie plików do patchowania znaleźć nie umie, kiedy próbuję z palca.

Pozdro

 :Cool: 

----------

## Pryka

Sorry zapomniałem o SOLVED

Co do virtualboxa to patrzyłem tylko z palca. Też nie mogło znaleźć plików więc sam je znalazłem, są tutaj:

```
/var/tmp/portage/app-emulation/virtualbox-modules-4.1.4/work
```

W tych 3 folderach: vboxdrv, vboxnetflt, vboxpci

Wrzuciłem patch do vboxdrv i go odpaliłem, spatchowało ale oczywiście zaczęło się drzeć, że nie widzi vboxnetflt, vboxpcii, więc powtórzyłem operację w nich.

Na koniec i tak się wszystko wywaliło, skompilowało się ładnie ale przy instalacji mi się kładzie.

Skryptu Slasha jeszcze nie sprawdzałem na virtualu.

----------

## SlashBeast

Localpatch daje rade z vboksem, wlasnie przetestowalem.

```
>>> Emerging (1 of 1) app-emulation/virtualbox-modules-4.1.4

 * vbox-kernel-module-src-4.1.4.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                            [ ok ]

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found kernel object directory:

 *     /lib/modules/3.0.4/build

 * Found sources for kernel version:

 *     3.0.4

>>> Unpacking source...

>>> Unpacking vbox-kernel-module-src-4.1.4.tar.bz2 to /var/portage/tmp/portage/app-emulation/virtualbox-modules-4.1.4/work

>>> Source unpacked in /var/portage/tmp/portage/app-emulation/virtualbox-modules-4.1.4/work

>>> Applying local patches ...

 * Applying virtualbox-modules-4.1.4-pax-const.patch [localpatch] ...                                                                                              [ ok ]

>>> Preparing source in /var/portage/tmp/portage/app-emulation/virtualbox-modules-4.1.4/work ...

```

----------

## Jacekalex

 *SlashBeast wrote:*   

> Localpatch daje rade z vboksem, wlasnie przetestowalem.
> 
> .......

 

Potwierdzam:

```
ls -lR /etc/portage/local*/*/*/*

-rw-r--r-- 1 root root 2335 09-06 16:00 /etc/portage/localpatches/app-emulation/virtualbox-modules-4.1.4/virtualbox-modules-4.1.4-pax-const.patch
```

```
~ # modinfo vboxdrv

filename:       /lib/modules/3.0.7-g1/misc/vboxdrv.ko

version:        4.1.4 (0x00190000)

license:        GPL

description:    Oracle VM VirtualBox Support Driver

author:         Oracle Corporation

srcversion:     E7C37DFC0514F0863254AD7

depends:        

vermagic:       3.0.7-g1 SMP preempt mod_unload modversions CORE2 REFCOUNT CONSTIFY_PLUGIN GRSEC 

parm:           force_async_tsc:force the asynchronous TSC mode (int)
```

Dziękuję

 :Smile: 

----------

## Pryka

Również potwierdzam, sposób Slasha działa wyśmienicie  :Smile: 

Genialny skrypt!!!

----------

