การรวบรวมเคอร์เนล Linux จำเป็นต้องใช้ขนาดเท่าไหร่?


13

ฉันได้ดาวน์โหลดเคอร์เนล Linux ที่เสถียรที่สุดล่าสุดคือ 2.6.33.2

ฉันคิดว่าฉันจะทดสอบสิ่งนี้โดยใช้ VirtualBox ดังนั้นฉันจึงสร้างฮาร์ดดิสก์ขนาดไดนามิกที่ 4 GB และติดตั้ง CentOS 5.3 ด้วยแพ็คเกจขั้นต่ำ

ฉันตั้งค่าmake menuconfigด้วยการตั้งค่าเริ่มต้น

หลังจากนั้นฉันmakeก็พบข้อผิดพลาดดังต่อไปนี้:

net/bluetooth/hci_sysfs.o: final close failed: No space left on device
make[2]: *** [net/bluetooth/hci_sysfs.o] Error 1
make[1]: *** [net/bluetooth] Error 2
make: *** [net] Error 2

จำนวนพื้นที่ที่เหลืออยู่คือ:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      3.3G  3.3G     0 100% /
/dev/hda1              99M   12M   82M  13% /boot
tmpfs                 125M     0  125M   0% /dev/shm

ขนาดเสมือนของฉันคือ 4 GB แต่ขนาดจริงคือ 3.5 GB

$ ls -hl
total 7.5G
-rw-------. 1 root root 3.5G 2010-04-13 14:08 LFS.vdi

ฉันควรให้ขนาดเท่าไรเมื่อรวบรวมและติดตั้งเคอร์เนล Linux? มีแนวทางใดบ้างที่ควรปฏิบัติเมื่อทำเช่นนี้? นี่เป็นครั้งแรกของฉันดังนั้นเพียงทดลองใช้สิ่งนี้

คำตอบ:


1

เคอร์เนลลินุกซ์เมษายน 2010 มีขนาดประมาณ 60 เมกะไบต์ bzip2 ไฟล์เก็บถาวรซึ่งหลังจากการคลายไฟล์และการคอมไพล์จะใช้เวลาประมาณ 400-500MB

คุณสามารถตรวจสอบขนาดไดเรกทอรีของคุณด้วยสิ่งที่du -hsชอบ:

/mnt/storage/linux-2.6.33$ du -hs                               
437M    .

1
สวัสดีถ้าเป็นเช่นนั้นเหตุใดพื้นที่ดิสก์ทั้งหมดของฉันจึงหมดลง ฉันได้จัดสรรฮาร์ดดิสก์ 4GB และติดตั้ง CentOS ด้วยเครื่องมือการพัฒนาและไลบรารีเท่านั้น ไม่ควรใช้พื้นที่ดิสก์มาก เมื่อฉันติดตั้ง CentSO ฉันเพิ่งตั้งค่าพาร์ติชัน 1 สำหรับรูทและไม่มีอะไรอื่น มีปัญหาอะไรไหม?
ant2009

คุณสามารถตรวจสอบสิ่งที่กินพื้นที่ของคุณด้วยการdu -h --max-depth=1เรียกใช้ในไดเรกทอรีรากของคุณ (/) ใช้ไดเรกทอรีที่ใหญ่ที่สุดไปที่มันทำซ้ำ ทำเช่นนี้จนกว่าคุณจะพบหมูของคุณ
Ivan Petrushev

1
ไปยังไฟล์รายการใน dir ปัจจุบันเรียงตามการใช้งานขนาดls -lhSและเพื่อดู 10 ls -lhS|head -10อันดับไฟล์ที่ใหญ่ที่สุดในการใช้
Ivan Petrushev

4
ปัญหาเกิดจากการใช้พื้นที่ในการคอมไพล์ไม่ใช่ทำการเปิดไฟล์
Nikana Reklawyks

การยืนยันพื้นที่ส่วนใหญ่จะใช้ในการรวบรวม
ตาย

4

ใน AMD64 build ล่าสุดของฉัน 4.4.0-57 บน Ubuntu 16.04 ฉันต้องการพื้นที่ว่างประมาณ 14.5 GB สำหรับการสร้างผลลัพธ์

ดูเหมือนว่าจะมีจำนวนมากและดูเหมือนว่าส่วนใหญ่เป็นไฟล์ที่ต้องการชั่วคราว (เช่น.oไฟล์ที่เกิดจากการรวบรวม.cไฟล์)


3

อ้างถึงลิงค์นี้ >> https://ubuntuforums.org/showthread.php?t=2266609

ฉันรวบรวม / สร้างเคอร์เนลลินุกซ์ 4.0.0-rc1 บน HP Stream 13 ของฉัน (2GB RAM, Intel Core Celeron N2840) ตามคำแนะนำที่ชัดเจนบนhttps://wiki.ubuntu.com/KernelTeam/GitKernelBuildและนี่คือของฉัน ประสบการณ์:

หลังจาก "git clone git: //git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git" ดิสก์ที่ใช้ในไดเรกทอรีเคอร์เนลแยกต่างหาก: 1691 MB

ในระหว่างการสร้าง / คอมไพล์พื้นที่ดิสก์ที่ใช้งานเพิ่มขึ้นถึง 15674 MB ดังนั้น: มากกว่า 15GB ...

เวลาในการรวบรวมทั้งหมด: 299 นาทีหรือ 5 ชั่วโมง ค่อนข้างนานอาจเกิดจาก CPU ช้าและดิสก์ช้า


Git นั้นเป็นสัตว์ร้ายที่ต่างกันโดยสิ้นเชิง คุณมักจะดาวน์โหลดสแน็ปช็อต git respository มีประวัติทั้งหมดของการพัฒนาเคอร์เนล การรวบรวมจะไม่ใช้เวลานานเมื่อยกเลิกการเลือกตัวเลือกที่ไม่เกี่ยวข้อง
Daniel B

2

จากคู่มือ

หมายเหตุ: หากคุณมีพื้นที่ดิสก์ไม่มากใน / usr / src คุณสามารถคลายแพ็กเกจเคอร์เนลซอร์สในพาร์ติชันใด ๆ ที่คุณมีพื้นที่ว่างบนดิสก์ (เช่น / home) เนื่องจากการรวบรวมเคอร์เนลต้องการพื้นที่ดิสก์จำนวนมากสำหรับไฟล์วัตถุเช่น * .o ด้วยเหตุผลนี้ / usr / src / linux จะต้องเป็นลิงก์แบบนุ่มที่ชี้ไปยังไดเรกทอรีต้นทางของคุณ


คำตอบนี้ยังขาดจำนวนเนื้อที่ว่างบนดิสก์ (เป็น GB) ที่จำเป็นในการรวบรวมเคอร์เนล: 1.7GB และ 5.4GB ไม่เพียงพอสำหรับการสร้างเคอร์เนล amd64-3.11.0 บน Ubuntu 13.10
สำรองข้อมูล Pro
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.