FreeBSD: одна из причин: kldload: can't load ...: File exists


masterx - Posted on 14 Июнь 2010

На данный момент работаю с веткой -CURRENT. Обновил через perforce весь src/, Зашел в src/sys/modules/em. Сделал: make clean; make. Далее при попытке загрузить модуль:

sudo kldload ./if_em.ko

в терминал вылетело сообшение: "kldload: can't load if_em.ko: File exists". Одной из причин данного сообшения может являться тот факт, что модуль, который мы пытаемся подгрузить, статически слинкован с ядром. Проверить этот вариант можно следующим образом:

 cd /boot/kernel/
 readelf -s kernel.symbols| grep FILE | grep if_em

Поиски if_em в ядре не увенчались успехом. Погуглил и нашел подсказку здесь:
http://www.mail-archive.com/freebsd-hackers@freebsd.org/msg70080.html:

% grep __FreeBSD_version /usr/src/sys/param.h
...
#define __FreeBSD_version 900013        /* Master, propagated to newvers */
% sysctl kern.osreldate
kern.osreldate: 900014

В результате несоответствия версий исходников и загруженного ядра, система отказывается загружать модули и кроме всего прочего может выдавать такую ошибку:
kldload: can't load if_em.ko: File exists

Будем знать. Работаем дальше.

Отправить комментарий

Google Friend Connect (leave a quick comment)
loading...
Содержание этого поля является приватным и не предназначено к показу.