Os patches são aplicados 1 com o comando patch
. O diretório drivers/
que você está procurando está no nível superior da árvore de origem do kernel; você aplicaria algo assim:
$ cd ~/linux
$ ls
arch firmware lib README usr
block fs MAINTAINERS REPORTING-BUGS virt
COPYING include Makefile samples vmlinux
CREDITS init mm scripts vmlinux-gdb.py
crypto ipc modules.builtin security vmlinux.o
debian Kbuild modules.order sound
Documentation Kconfig Module.symvers System.map
drivers kernel net tools
$ patch -p1 < ~/path/patch-file.diff
Esse ls
é apenas para mostrar a você como deve ser o diretório correto. Alguns desses arquivos estão lá apenas após a criação (por exemplo, vmlinux), portanto, não se preocupe se eles estiverem ausentes. O -p1
significa ignorar a/
e b/
na frente dos nomes de caminho no patch ( -p0
não ignoraria nada, -p2
ignoraria a/drivers
, etc.)
Isso irá responder a sua pergunta, mas a menos que você tenha realmente construído seu kernel sem módulos carregáveis (o que você não tem, se você está fazendo make modules
), é pouco provável que conserte o erro que você está vendo .
Notas de rodapé
1 Você também pode usar git
para aplicá-las se estiver usando para controle de versão, mas eu estou supondo que você não são.