방금 새 컴퓨터에 Backtrack 5 r3(Gnome, 64비트)을 설치했는데 문제가 발생했습니다.
32비트 지원을 위해 ATI 드라이버, gparted 및 libc를 설치하려고 시도했지만 항상 일반적인 오류 줄이 나타나는 것 같습니다.
W: r8169 모듈에 펌웨어/lib/firmware/rtl_nic/rtl8168f-2.fw가 누락되었을 수 있습니다. W
: r8169 모듈에 펌웨어/lib/firmware/rtl_nic/rtl8168f-1.fw가 누락되었을 수 있습니다.
문제는 무엇이며 어떻게 해결합니까?
더 알고 싶으시면 댓글 남겨주세요
편집:
설치하려고 할 때 오류 메시지가 나타납니다.
리눅스 펌웨어
실수! 커널의 모듈 빌드에 대한 오류 반환 상태: 3.2.6(x86_64) 자세한 내용은
빌드 디렉터리 /var/lib/dkms/fglrx/8.723.1/build/의 make.log를 참조하세요 .
dpkg:
fglrx 처리 오류(--configure): 하위 프로세스 설치를 위한 사후 설치 스크립트에서
오류 종료 상태 10이 반환되었습니다. dpkg:
종속성 문제로 인해 fglrx-amdcccle이 구성되지 않습니다.
fglrx-amdcccle은 fglrx에 종속됩니다. 그러나 fglrx 패키지는 아직 설정되지 않았습니다.
아직 구성되지 않았습니다. dpkg: fglrx-amdcccle 처리 중 오류 발생(--configure):
종속성 문제 - 구성되지 않음
오류 메시지에 이전 실패에 대한 후속 오류라고 표시되어 승인 보고서가 작성되지 않았습니다
.
python-gmenu에 대한 트리거 처리...
/usr/share/applications/desktop.en_US.utf8.cache 재구축...
initramfs-tools에 대한 트리거 처리... update-initramfs:
/boot/initrd.img 생성- 3.2. 6 python-support의 처리 트리거
... 처리하는 동안 오류가 발생했습니다: fglrx
fglrx-amdcccle E: 하위 프로세스 /usr/bin/dpkg가 오류 코드를 반환했습니다(1)
EDIT2:
/var/lib/dkms/fglrx/8.723.1/build/에 있는 make.log 파일의 내용
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.GCC* .??* *.symvers
make -C /lib/modules/3.2.6/build SUBDIRS=/var/lib/dkms/fglrx/8.723.1/build/2.6.x modules
make[1]: Entering directory `/usr/src/linux-source-3.2.6'
WARNING: Symbol version dump /usr/src/linux-source-3.2.6/Module.symvers
is missing; modules will have no dependencies and modversions.
CC [M] /var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.o
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:113:28: error: linux/smp_lock.h: No such file or directory
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:402: error: unknown field ‘ioctl’ specified in initializer
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:402: warning: initialization from incompatible pointer type
In file included from /var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:443:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/drm_proc.h: In function ‘FGLDRM__vma_info’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/drm_proc.h:497: warning: format ‘%08lx’ expects type ‘long unsigned int’, but argument 5 has type ‘phys_addr_t’
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘fglrx_pci_suspend’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:833: error: implicit declaration of function ‘acquire_console_sem’
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:855: error: implicit declaration of function ‘release_console_sem’
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘firegl_init_module’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1028: error: ‘SPIN_LOCK_UNLOCKED’ undeclared (first use in this function)
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1028: error: (Each undeclared identifier is reported only once
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1028: error: for each function it appears in.)
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘KCL_SetPageCache_Array’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1316: warning: passing argument 1 of ‘KCL_ConvertPageToKernelAddress’ makes pointer from integer without a cast
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.h:325: note: expected ‘void *’ but argument is of type ‘long unsigned int’
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘__ke__cmpxchg’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1473: error: variable or field ‘__ret’ declared void
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1473: error: variable or field ‘__old’ declared void
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1473: error: variable or field ‘__new’ declared void
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘KCL_GlobalKernelLock’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1866: error: implicit declaration of function ‘lock_kernel’
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘KCL_GlobalKernelUnlock’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1872: error: implicit declaration of function ‘unlock_kernel’
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘KAS_Mutex_Initialize’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:5051: error: implicit declaration of function ‘init_MUTEX’
make[2]: *** [/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.o] Error 1
make[1]: *** [_module_/var/lib/dkms/fglrx/8.723.1/build/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-source-3.2.6'
make: *** [kmod_build] Error 2
build failed with return value 2
답변1
이 오류에는 두 가지 가능한 원인이 있습니다.
PC에 하드웨어(Realtek NIC)가 없고 다른 패키지에 누락된 펌웨어 파일에 대한 잘못된 종속성이 있습니다. 이 경우 오류를 무시해도 됩니다.
PC에 하드웨어가 있으므로 펌웨어를 설치하거나 업데이트해야 합니다. 대부분의 Linux 배포판에는 이러한 펌웨어 파일이 포함된 무료가 아닌 패키지 저장소가 있습니다. 에 저장소를 추가해야 합니다
/etc/apt/sources.list
.
Realtek NIC 및 해당 모듈이 있는지 확인하려면 다음을 수행하십시오.
sudo lshw | grep 8169
답변2
기술적으로 이것은 단지 경고(W)일 뿐입니다. 하드웨어의 해당 부분을 실제로 사용하지 않고 누락된 기능을 발견하지 못했다면 이는 실제로 문제가 되지 않습니다.
그래픽 드라이버에는 실제로 이러한 펌웨어 파일이 필요하지 않습니다. 단지 데비안의 커널 모듈 패키지가 문제를 찾기 위해 정기적인 검사를 실행한다는 것뿐입니다. 이는 이러한 그래픽 드라이버에만 국한된 것이 아닙니다. 이는 단지 커널 모듈이 처리하는 방식의 부작용일 뿐입니다.
dartonw가 말했듯이 이 문제는 일반적으로 펌웨어 패키지 중 하나를 설치하여 해결할 수 있습니다. Debian에서는 rtl8168f-1.fw
에서 제공 firmware-realtek
하지만 BackTrack 및 Ubuntu에서는 에서 제공합니다.linux-firmware
. 배포판에 따라 패키지 중 하나를 설치해 보십시오. 문제가 해결되기를 바랍니다.
답변3
rtl8168f 경고
rtl8168f 경고의 경우, 이더넷 카드가 제대로 작동한다면 이 메시지를 무시해도 됩니다. 일부 기능(예: TCP 오프로딩)이 누락되었을 수 있습니다. Brian Marshall의 답변에 따라 펌웨어 패키지를 설치할 수도 있습니다.
fglxr 오류의 경우:
커널 헤더가 설치되지 않은 것 같습니다. 커널 모듈을 빌드하려면(dkms 또는 기타 수단을 사용하여) 필요합니다.
유사한 이름의 패키지에 있어야 합니다(그러나 모르는 경우 linux-headers-3.2.0-4-amd64
커널 버전과 아키텍처를 대체하십시오. 설치 후 dkms는 모듈을 성공적으로 빌드해야 합니다.uname -r
답변4
누락된 펌웨어 파일이 포함된 패키지를 찾으려면 해당 파일이 포함된 패키지의 리포지토리를 검색할 수 있습니다. 따라서 이는 데비안 기반 배포판에서 어떤 패키지가 어떤 파일을 소유하는지 검색하는 일반적인 방법입니다.
따라서 펌웨어는 등에 위치하므로 로드한 일부 저장소의 일부 패키지에 존재하는 경우 /lib/firmware/rtl_nic/rtl8168f-1.fw
검색 문자열을 사용하여 찾을 수 있습니다.rtl_nic/rtl8168
이 작업을 수행하려면 또는 파일 nonfree
에 무료가 아닌 펌웨어가 패키지된 다른 저장소가 필요할 수 있습니다 . 데비안 이외의 배포판에서는 다른 이름을 가질 수 있습니다./etc/apt/source.list
/etc/apt/source.list.d/*.list
apt-file search rtl_nic/rtl8168
또는
dpkg-query -S rtl_nic/rtl8168
찾아보세요. 결과는 다음과 같습니다.
linux-firmware: /lib/firmware/rtl_nic/rtl8168d-1.fw
linux-firmware: /lib/firmware/rtl_nic/rtl8168d-2.fw
linux-firmware: /lib/firmware/rtl_nic/rtl8168e-1.fw
...
즐거운 해킹.