igb-то не иска да се компилира по подразбиране, защото в Makefile се опитва да намери версията на kernel-а и явно не успява. Това пък значи, че ще се спъне на първата проверка и ще изплюе нещо, че версията ви е прекалено стара (например 2.4.нещо си).
За да не се морите да ровите просто намирате къде пише:
KVER_CODE := $(shell $(CC) $(EXTRA_CFLAGS) -E -dM $(VSP) 2>/dev/null |
grep -m 1 LINUX_VERSION_CODE | awk '{ print $ }' | sed 's/"//g')
и след него заковавате версията си на:
KVER_CODE := 198400
Ако се чудите, както значи това, то сметката е нещо като:
3.7.0 -> 3*6556 7*256 0 = 198400
Следва make install и ще се спънете за втори път със съобщение, че една структура вече е променена:
igb-4.0.17/src/igb_main.c:7836:22: error: 'struct pci_dev' has no member named 'pcie_type'
За радост и тук решението е сравнително лесно. Отваряте igb_main.c и на ред 7836 заменяте bdev->pcie_type с pci_pcie_type(bdev):
while (bdev && (pci_pcie_type(bdev) != PCI_EXP_TYPE_ROOT_PORT))
make install и сте вие ... наздраве!
напиши нов коментар