ปัญหาในการรวบรวมเคอร์เนล linux จากแหล่งที่มา


1

ฉันพยายามรวบรวมเคอร์เนลจากแผนผังต้นไม้ที่พบที่https://github.com/fio-prf/emและฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันเรียกใช้make:

make[1]: Nothing to be done for `all'.
make[1]: Nothing to be done for `relocs'.
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
make[3]: `arch/x86/realmode/rm/realmode.bin' is up to date.
  CC [M]  drivers/md/persistent-data/dm-btree.o
In file included from drivers/md/persistent-data/dm-btree.c:7:
drivers/md/persistent-data/dm-btree-internal.h:39: error: redefinition of ‘struct node’
make[3]: *** [drivers/md/persistent-data/dm-btree.o] Error 1
make[2]: *** [drivers/md/persistent-data] Error 2
make[1]: *** [drivers/md] Error 2
make: *** [drivers] Error 2

ฉันดาวน์โหลดต้นกำเนิดไปยัง/usr/src/บนเครื่องของฉัน (กำลังทำงานCentOS 6.4) ฉันไม่เคยทำแบบนี้มาก่อนและไม่ค่อยคุ้นเคยกับ C ฉันไม่แน่ใจว่าปัญหาคืออะไร

  • ข้อผิดพลาดขณะทำงาน make bzImage

    make[2]: Nothing to be done for `all'.
    make[2]: Nothing to be done for `relocs'.
      HOSTCC  scripts/unifdef
      INSTALL include/asm-generic (35 files)
      INSTALL include/drm (15 files)
      INSTALL include/linux/byteorder (2 files)
      INSTALL include/linux/caif (2 files)
      INSTALL include/linux/can (5 files)
      INSTALL include/linux/dvb (8 files)
      INSTALL include/linux/hdlc (1 file)
      INSTALL include/linux/hsi (1 file)
      INSTALL include/linux/isdn (1 file)
      INSTALL include/linux/mmc (1 file)
      INSTALL include/linux/netfilter/ipset (4 files)
    make[4]: *** No rule to make target `/usr/src/linux-3.6.0-swap/include/linux/netfilter/xt_CONNMARK.h', needed by `/usr/src/linux-3.6.0-swap/usr/include/linux/netfilter/.install'.  Stop.
    make[3]: *** [netfilter] Error 2
    make[2]: *** [linux] Error 2
    make[1]: *** [headers_install] Error 2
    make: *** [vmlinux] Error 2
    

ทำไมเคอร์เนลจึงไม่ถูกดาวน์โหลดจาก kernel.org
ไซเบอร์นาร์ด

มันเป็นงานสร้างที่กำหนดเองสำหรับงานของฉัน
cHam

ทำตามขั้นตอนด้านล่างและรายงานข้อผิดพลาด ฉันคิดว่าคุณมีการติดตั้งการอ้างอิง?
ไซเบอร์นาร์ด

ฉันมี ncurses-devel นั่นเป็นสิ่งเดียวที่ถูกระบุว่าหายไป แต่เดิม ฉันจะเรียกใช้และโพสต์ผลลัพธ์ในไม่ช้า
cHam

คำตอบ:


0
Generally here are the steps.
Download from kernel.org
https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.7.tar.xz
Extract the kernel
cd /usr/src/linux-3.10.7 (or whatever)
make localmodconfig
if you need to change the default settings "make menuconfig"
make bzImage && make modules && make modules_install && make install

ขั้นตอนควรเหมือนกัน / คล้ายกับเคอร์เนลของคุณ
ไซเบอร์นาร์ด

ในขณะที่ทำงานทำให้ bzImage ฉันได้รับข้อผิดพลาดฉันเพิ่งเพิ่มที่ด้านล่างของโพสต์ของฉัน
cHam

ตกลง. คุณต้องใช้ "make menuconfig" มีโมดูลที่เรียกว่า CONNMARK ที่คุณต้องเปิด ค้นหา "การสนับสนุนการติดตามการเชื่อมต่อ Netfilter" หากปิดอยู่ กด spacebar จนกว่าคุณจะได้รับตำแหน่ง <M>: -> การสนับสนุนเครือข่าย (NET [= y]) ││ -> ตัวเลือกเครือข่าย││ -> กรอบการกรองแพ็กเก็ตเครือข่าย (Netfilter) (NETFILTER) (NETFILTER [= ││ -> Core Netfilter การกำหนดค่า││ (1) -> การสนับสนุนการติดตามการเชื่อมต่อ Netfilter (NF_CONNTRACK [= m]
cybernard

ฉันเห็น: "<M> การสนับสนุนการติดตามการเชื่อมต่อ Netfilter" และ "<M>" conntrack "การสนับสนุนการจับคู่การติดตามการเชื่อมต่อ"
cHam

แต่ไม่ "(NF_CONNTRACK [= m]"
cHam
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.