Отсутствует пакет kernel-headers
. Они нужны вам для компиляции модулей ядра.
yum install kernel-headers
Предположим, , откуда вы загрузили драйверы . Когда я распаковал их на CentOS 6.4 я получил следующую ошибку:
$ cd jmebp-1.0.8.5
$ ls
CHANGELOG jme.c jme.h Makefile scripts
$ make
make: *** /lib/modules/2.6.32-279.14.1.el6.x86_64/build: No such file or directory. Stop.
make: *** [modules] Error 2
После установки пакета kernel-headers
я выполнил make
второй раз:
$ make
make: *** /lib/modules/2.6.32-279.14.1.el6.x86_64/build: No such file or directory. Stop.
make: *** [modules] Error 2
По-прежнему проблема? Отлаживая его дальше, я выяснил другую свою проблему, с которой вы тоже можете столкнуться, поэтому на всякий случай я документирую ее ниже.
Ссылка в каталоге ядра оказалась неработающей.
$ pwd
/lib/modules/2.6.32-279.14.1.el6.x86_64
$ ls -l | grep build
lrwxrwxrwx 1 root root 51 Dec 15 14:49 build -> ../../../usr/src/kernels/2.6.32-279.14.1.el6.x86_64
lrwxrwxrwx 1 root root 5 Dec 15 14:50 source -> build
$ ls -l build/
ls: cannot access build/: No such file or directory
Ой, неправильная версия заголовков ядра
и kernel-devel
для нашей версии ядра. В настоящее время мы работаем с этой версией ядра:
$ uname -r
2.6.32-279.14.1.el6.x86_64
Но мы только что установили пакеты kernel-headers
и kernel-devel
для этой версии:
2.6.32-358.6.1.el6.x86_64
Итак, давайте установим это версию ядра и перезагрузитесь, чтобы мы могли использовать более новое ядро:
$ yum update kernel
После нашей перезагрузки все выглядит намного лучше:
$ ls
CHANGELOG jme.c jme.h Makefile scripts
$ make
make[1]: Entering directory `/usr/src/kernels/2.6.32-358.6.1.el6.x86_64'
CC [M] /home/sam/jmebp/jmebp-1.0.8.5/jme.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/sam/jmebp/jmebp-1.0.8.5/jme.mod.o
LD [M] /home/sam/jmebp/jmebp-1.0.8.5/jme.ko.unsigned
NO SIGN [M] /home/sam/jmebp/jmebp-1.0.8.5/jme.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.32-358.6.1.el6.x86_64'
$ ls
CHANGELOG jme.c jme.h jme.ko jme.ko.unsigned Makefile scripts
Теперь мы видим модуль ядра jme.ko. Чтобы установить его:
make install
Los terminales de Unix se llenan de contenido interpretando secuencias de control y texto entremezclados en un solo flujo. muchos caracteres pueden ser tanto texto como un código de control y depende del contexto lo que signifiquen.
[3;J
es una de esas secuencias. en el contexto incorrecto se imprime, en el contexto correcto es parte de restablecer la pantalla.
consulte las páginas del manual termcap
, console_codes
y tput
para obtener más detalles.
Su emulador de terminal no coincide con el valor de su variable de entorno TERM
. El error más común es pensar que algo que no es XTerm coincidirá con los registros termcap/terminfo denominados xterm
o xterm-new
o xterm-256color
.
Su registro terminfo especifica la capacidad relativamente nueva E3
(especificada actualmente para linux
, putty
, putty-256color
, xterm-basic
, xterm-new
, xterm
, xterm-256color
y algunos otros tipos de terminales )que le dicen a los programas que hay un búfer de desplazamiento hacia atrás para borrar y cómo borrarlo. Pero su emulador de terminal, de hecho, no admite esa secuencia de control y, en su lugar, imprime lo que ve en respuesta a ella. El caparazón de pescado está ejecutando el comando clear
, que ahora hace uso de este aumento terminfo.
El nombre dado en el valor de su variable de entorno TERM
debe coincidir con el nombre de un registro termcap/terminfo que describa correctamente la operación de su emulador de terminal.