Aplique el parche del kernel para admitir el modo PIC

Aplique el parche del kernel para admitir el modo PIC

Recibo un error cuando intento compilar controladores para un TP Link AC 600, en Kali Linux amd64 4.7.0 gcc 5.4.1 Debian 5.4.1-3.

El error es "el código de error del núcleo del modelo no admite el modo PIC"

Después de un poco de tranquilidad, encontré a alguien que tenía problemas similares y alguien había publicado un parche.

¿Cómo aplico el parche y dónde lo aplico?

Aquí está el otro enlace:No se puede compilar el kernel: error, el kernel no admite el modo PIC

Respuesta1

En lo que respecta a los controladores de Ubuntu e Intel, Intel solo probó sus controladores para las versiones LTS de Ubuntu (ver respuesta de Todd Fujinaka). Entonces necesitas degradar Ubuntu de 16.10 a 16.04.1 LTS (reinstale manteniendo/home).

Para todas las demás distribuciones basadas en Debian como Kali, ocurre lo mismo: es necesario degradar (es decir, reinstalar) a una versión que sea explícitamente compatible con el proveedor del controlador. Una versión anterior al material PIC de gcc.

Puede que no sea una respuesta agradable, pero es técnicamente correcta y si usted no es un desarrollador del kernel, entonces todo lo que puede hacer es consultar una lista de correo del kernel y preguntar muy cortésmente si un desarrollador puede trabajar en el código del controlador. . A veces eso funciona, pero tenga paciencia.

Respuesta2

El proceso para aplicar un parche es muy sencillo. Suponiendo que tiene el directorio del kernel y el archivo de parche como este:

- /usr/src/kernels (or where you have the kernel directory)
---- /user/src/kernels/kernel_directory
---- /user/src/kernels/patch_file

Dependiendo del formato en el que tengas el parche (normalmente .gz, .bz2 o .xz), necesitarás usar un comando diferente para extraerlo. Debes ingresar kernel_directoryy ejecutar el siguiente comando:

gzip -cd ../patch_file | patch -p1- Esto para un parche gzip

bzip2 -cd ../patch_file | patch -p1- Esto para un parche bzip.

xz -cd ../patch_file | patch -p1- Esto para un parche xz

Aplicará el archivo de parche /usr/src/kernels/patch_fileen el kernel /usr/src/kernels/kernel_directory. Primero debe navegar hasta /usr/src/kernels/kernel_directoryy ejecutar el comando desde allí.

Tenga en cuenta hacer una copia del directorio del kernel, así puede realizar el proceso con una copia del kernel en la copia de seguridad para revertirlo fácilmente.

NOTA: Este es sólo el proceso para aplicar el parche, suponiendo que esté utilizando el parche adecuado para su kernel, no debería dar ningún error. Necesitas tener el archivo de parche, como el oficial del kernel.

información relacionada