Score:0

การสร้างเคอร์เนล 18.04.5 ล้มเหลว

ธง us

สวัสดีทุกคน!

ไม่แน่ใจว่าจะเริ่มต้นจากที่ไหน

รวบรวมแหล่งที่มา 5.4.125 จาก kernel.org และฉันได้รับสิ่งนี้

  CC [M] เคอร์เนล/kheaders.o
เดเบียน/กฎ:6: สูตรสำหรับเป้าหมาย 'สร้าง' ล้มเหลว
ทำ [2]: *** [สร้าง] ข้อผิดพลาด 2
dpkg-buildpackage: ข้อผิดพลาด: เดเบียน/กฎบิลด์กระบวนการย่อยส่งคืนสถานะการออก 2
scripts/Makefile.package:73: สูตรสำหรับเป้าหมาย 'deb-pkg' ล้มเหลว
ทำ [1]: *** [deb-pkg] ข้อผิดพลาด 2
Makefile:1469: สูตร fpr เป้าหมาย 'deb-pkg' ล้มเหลว
ทำ: *** [deb-pkg] ข้อผิดพลาด 2 

นี่คือคำสั่งที่ฉันใช้ (สังเกตแหล่งที่มาที่แตกต่างกันสองแหล่งซึ่งภายหลังล้มเหลว):

sudo apt build-dep linux linux-image-$(uname -r)
sudo apt ติดตั้ง libncurses-dev fakeroot

# เคอร์เนลเวอร์ชันปัจจุบันใช้งานได้ ...
apt source linux-image-unsigned-$(uname -r)

# 5.4.123 ล่าสุดมีปัญหา ...
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.123.tar.gz
tar -xf ลินุกซ์-5.4.123.tar.gz

ทำการกำหนดค่าแบบเก่า

# เพียงเพื่อตรวจสอบการตั้งค่า ... ไม่มีการเปลี่ยนแปลง
ทำการกำหนดค่าเมนู

ทำ -j`nproc` deb-pkg
Score:0
ธง es

ในกรณีที่ไม่มีข้อมูลที่เป็นประโยชน์ใดๆ (คุณเรียกใช้คำสั่งอะไร ขั้นตอนใดที่คุณทำมาก่อน) เราสามารถเดาได้ว่าคุณทำตามคำแนะนำเหล่านั้น:

https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel

ซึ่งแน่นอนว่าใช้งานได้เฉพาะในการสร้างเคอร์เนลจากแพ็คเกจซอร์ส Debian หรือจาก อูบุนตู ที่เก็บคอมไพล์

หากคุณได้รับแหล่งที่มาจาก kernel.org ตามที่คุณเขียนไว้ แหล่งที่มาเหล่านั้นอาจจะไม่ได้มาพร้อมกับส่วนบรรจุภัณฑ์ของ Debian ดังนั้นคุณต้องปฏิบัติตาม มาตรฐาน คำแนะนำในการสร้างเคอร์เนล เช่น ที่นี่:

https://www.linux.com/topic/desktop/how-compile-linux-kernel-0/

แต่นั่นหมายถึงการติดตั้งไฟล์ ไม่ได้บรรจุ เคอร์เนลไปยังระบบของคุณโดยตรง และตัวจัดการแพ็คเกจ (dpkg, apt) ไม่รู้อะไรเลยเกี่ยวกับมัน และอาจเขียนทับหรือลบมันอย่างมีความสุขด้วยหนึ่งในการอัปเดตปกติครั้งต่อไป และเคอร์เนลที่คุณกำหนดเองอาจหายไป

แล้วคุณละ สามารถ ป้องกันสิ่งนี้ด้วยยุทธวิธีบางอย่าง ถือ apt-mark คำสั่ง แต่คุณจะไม่ได้รับการอัพเดทความปลอดภัยอีกเลย หรือคุณสามารถทำได้ด้วยวิธีปกติของ Ubuntu และรับแหล่งที่มาจาก kernel.ubuntu.org และสร้างแพ็คเกจ .deb สำหรับเคอร์เนลนั้นและติดตั้ง


ขอให้สังเกตว่าการพยายามใช้เคอร์เนล 5.x บน Ubuntu 18.04 ที่มาพร้อมกับเคอร์เนล 4.x (ตอนนี้ 4.5.0-144) อาจระเบิดต่อหน้าคุณเมื่อแพ็คเกจระดับต่ำอื่น ๆ ทุกชนิดเข้ากันไม่ได้ เคอร์เนลที่ใหม่กว่ามาก สิ่งนี้อาจใช้หรือไม่ได้ผล หากไม่มี คุณอาจไม่ต้องการสร้างส่วนที่ดีของการกระจายใหม่ซึ่งอาจกลายเป็นสิ่งที่จำเป็น


แก้ไข: หากลำดับความสำคัญของคุณคือคุณต้องการเคอร์เนล 5.4 ล่าสุด ให้ไปที่ Ubuntu รุ่นล่าสุด หากคุณต้องการรุ่น LTS 20.04 LTS เป็นจุดเริ่มต้นที่ดีกว่ามากและ 21.04 (แม้ว่าจะไม่ใช่รุ่น LTS) ก็ยังดีกว่า

ทุกครั้งในขณะที่แพ็คเกจระบบระดับต่ำจำเป็นต้องปรับให้ทำงานได้ดีกับเคอร์เนลที่ใหม่กว่า UDEV นึกถึง UDEV เพียงชื่อเดียวเท่านั้นหากคุณใช้เคอร์เนลที่ใหม่กว่า แต่ยังคงใช้ UDEV ที่เก่ากว่า (หรือระบบย่อยระดับต่ำอื่นๆ ที่คล้ายกัน) เหตุการณ์ของระบบบางอย่างอาจถูกส่งในสถานการณ์ที่แตกต่างกันเล็กน้อยเหมือนเมื่อก่อน และเครื่องมือบางอย่างอาจเสียหายเล็กน้อย มันไม่ได้ ความต้องการ ถึงจะเป็นแบบนั้นแต่ก็มีความเป็นไปได้อยู่

มีเหตุผลว่าทำไมการแจกจ่ายจึงถูกเผยแพร่โดยรวมในบางช่วงเวลา สิ่งที่สำคัญที่สุดที่ผู้จัดจำหน่าย Linux ทำคือการรวมระบบย่อยที่แตกต่างกันทั้งหมดเพื่อให้ทำงานร่วมกันได้ดี ลีนุกซ์ดิสทริบิวชั่นไม่ได้เป็นเพียงชิ้นส่วนหลายชิ้นที่จะถูกโยนรวมกันแบบสุ่ม และทุกอย่างจะออกมาดี มีความเชี่ยวชาญและงานที่เกี่ยวข้องมากมาย

คุณสามารถเพิ่มโอกาสให้สิ่งต่าง ๆ ทำงานได้ดีหากอายุของส่วนประกอบใกล้เคียงกัน แต่เคอร์เนลล่าสุดตั้งแต่กลางปี ​​2021 และส่วนที่เหลือทั้งหมดตั้งแต่ต้นปี 2018 (เช่น 3 ปีก่อนหน้านี้!) กำลังประสบปัญหา

แน่นอนคุณอาจได้รับโชค แต่นี่อาจเป็นการผลักดันโชคของคุณ

keith bradley avatar
us flag
... ฉันแก้ไขเพื่อเพิ่มสูตรที่ฉันใช้ดัดแปลงเล็กน้อยจากบทความที่คุณเชื่อมโยง ... รายละเอียดของคุณตอบคำถามของฉัน ... แต่ฉันสงสัยว่าฉันจะผ่านสิ่งนี้ได้อย่างไร ... ฉันต้องใช้เคอร์เนลในตระกูล 5.4 ที่มี เวอร์ชันแพตช์ PREEMPT-RT ที่สอดคล้องกัน ... ฉันไม่สามารถจับคู่แพตช์กับแหล่งอูบุนตูใดๆ ได้ ... ฉันล็อกตายหรือไม่
keith bradley avatar
us flag
นอกจากนี้ ... นี่เป็นแพลตฟอร์มทดสอบ ดังนั้นฉันจึงไม่กังวลเกี่ยวกับการรับความเสี่ยง ... ฉันสามารถละเว้นการอัปเดตระหว่างการทดสอบได้
keith bradley avatar
us flag
นอกจากนี้ ... ฉันใช้ 18.04.5 ... การเปลี่ยนจาก 5.4.0 เป็น 5.4.123 ดูเหมือนจะไม่มากเกินไปตั้งแต่เมื่อฉันได้รับเคอร์เนล ubuntu มันก็อัปเดตไปจนถึง 5.4.114 อยู่ดี
HuHa avatar
es flag
แก้ไขคำตอบของฉัน 18.04.05 ของฉันมีเคอร์เนล 4.15.0-144 หากคุณมี 5.4.0 นั่นไม่ใช่เวอร์ชันปกติที่มาพร้อมกับ distro นั้น
keith bradley avatar
us flag
ขอบคุณ HuHa สำหรับความช่วยเหลือจากผู้เชี่ยวชาญทั้งหมดของคุณ ... สิ่งเดียวที่ฉันต้องการแจ้งให้คุณทราบคือฉันสร้างเครื่องทดสอบของฉันหลายครั้งและได้ทำการอัปเดต / อัปเกรด apt และ 5.4.0 เป็นเคอร์เนลที่ฉันลงเอยด้วยก่อนที่จะทำอย่างอื่น .. ดูเหมือนว่าจะเป็นแพตช์ล่าสุดด้วย ... บน kernel.ubuntu.com ลงวันที่เมื่อไม่กี่วันก่อน ... ฉันจะทำตามคำแนะนำของคุณและทดสอบด้วย 21.04 เนื่องจากแพตช์ PREEMPT-RT จะดีกว่าอยู่ดี .. ขอบคุณอีกครั้ง.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา