Score:1

update-grub ไม่เพิ่มเมล็ดทั้งหมดลงในเมนูด้วง

ธง au

อูบุนตู 21.10.

ฉันกำลังสร้างเมล็ดตามที่บันทึกไว้ที่ https://help.ubuntu.com/community/Kernel/Compile และ https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel.

DEB_BUILD_OPTIONS=ขนาน=$(getconf _NPROCESSORS_ONLN) AUTOBUILD=1 NOEXTRAS=1 \
    เดเบียนปลอม / กฎไบนารีอาร์ค

คำสั่งการรวบรวมนี้มีผลลัพธ์เหมือนกัน:

ทำ --jobs=$(getconf _NPROCESSORS_ONLN) bindeb-pkg \
    LOCALVERSION=-custom-$(git อธิบาย | tr '[:บน:]' '[:ล่าง:]')

สิ่งนี้สร้างบางส่วน .deb แพ็คเกจ:

$ ls -hal ../*.deb
-rw-r--r-- 1 amedee amedee 8,2M ก.พ. 26 02:17 ../linux-headers-5.13.19-ubuntu-5.13.0-22.22_5.13.19-ubuntu-5.13.0-22.22- 6_amd64.deb
-rw-r--r-- 1 amedee amedee 70M 26 กุมภาพันธ์ 02:18 ../linux-image-5.13.19-ubuntu-5.13.0-22.22_5.13.19-ubuntu-5.13.0-22.22-6_amd64 หนี้
-rw-r--r-- 1 amedee amedee 1,2M 26 กุมภาพันธ์ 02:17 ../linux-libc-dev_5.13.19-ubuntu-5.13.0-22.22-6_amd64.deb

ฉันติดตั้งดังนี้:

sudo dpkg --ติดตั้ง \
    ../linux-headers-5.13.19-ubuntu-5.13.0-22.22_5.13.19-ubuntu-5.13.0-22.22-6_amd64.deb \
    ../linux-image-5.13.19-ubuntu-5.13.0-22.22_5.13.19-ubuntu-5.13.0-22.22-6_amd64.deb

นี่คือเนื้อหาของ /บูต:

$ ls -hal /boot/*5.13*
-rw-r--r-- 1 รูทรูท 252K 5 พฤศจิกายน 10:21 /boot/config-5.13.0-22-generic
-rw-r--r-- 1 รูทรูท 251K 26 ก.พ. 02:15 /boot/config-5.13.19-ubuntu-5.13.0-22.22
-rw-r--r-- 1 รูทรูท 40M 22 ก.พ. 16:21 /boot/initrd.img-5.13.0-22-generic
-rw-r--r-- 1 รูทรูท 37M ก.พ. 26 02:20 /boot/initrd.img-5.13.19-ubuntu-5.13.0-22.22
-rw------- 1 รูทรูท 5,7M 5 พ.ย. 10:21 /boot/System.map-5.13.0-22-generic
-rw-r--r-- 1 รูทรูท 5,6M ก.พ. 26 02:15 /boot/System.map-5.13.19-ubuntu-5.13.0-22.22
-rw------- 1 รูทรูท 9,8M 5 พ.ย. 13:51 /boot/vmlinuz-5.13.0-22-generic
-rw-r--r-- 1 รูทรูท 8,5M ก.พ. 26 02:15 /boot/vmlinuz-5.13.19-ubuntu-5.13.0-22.22

อัปเดต initramfs (ซึ่งพูดอย่างเคร่งครัดไม่จำเป็นเพราะได้ทำไปแล้ว แต่สำหรับมาตรการที่ดี):

$ sudo update-initramfs -u -k ทั้งหมด
อัปเดต initramfs: กำลังสร้าง /boot/initrd.img-5.13.19-ubuntu-5.13.0-22.22
update-initramfs: กำลังสร้าง /boot/initrd.img-5.13.0-22-generic

จากนั้นฉันก็วิ่ง ปรับปรุงด้วง:

amedee@kerbol:~/repos/ubuntu-impish$ sudo update-grub
การจัดหาไฟล์ `/etc/default/grub'
การจัดหาไฟล์ `/etc/default/grub.d/init-select.cfg'
กำลังสร้างไฟล์การกำหนดค่าด้วง ...
พบอิมเมจ linux: /boot/vmlinuz-5.13.0-22-generic
พบภาพ initrd: /boot/initrd.img-5.13.0-22-generic
พบอิมเมจ linux: /boot/vmlinuz-5.13.0-22-generic
พบภาพ initrd: /boot/initrd.img-5.13.0-22-generic
การเพิ่มรายการเมนูบู๊ตสำหรับการตั้งค่าเฟิร์มแวร์ UEFI
เสร็จแล้ว

เคอร์เนลที่รวบรวมของฉัน 5.13.19-อูบุนตู-5.13.0-22.22 ไม่ถูกเพิ่มในเมนู Grub โดย ปรับปรุงด้วง. ฉันรู้ว่าฉันสามารถเพิ่มด้วยตนเองได้ แต่นั่นก็มีความเสี่ยงที่จะพิมพ์ผิด ฉันต้องรวบรวมเมล็ดจำนวนมากด้วยเพราะฉันพยายามค้นหาจุดบกพร่องที่เป็นไปได้โดยใช้ คอมไพล์แบ่งครึ่ง. ปัญหาเคอร์เนลที่ฉันกำลังแก้ไขไม่ได้เกิดขึ้นในเคอร์เนล mainline ล่าสุด เฉพาะในเคอร์เนล Ubuntu 21.10 (บางส่วน แต่ไม่ใช่ทั้งหมด) ดังนั้นฉันจึงทำเช่นนี้เพื่อเรียนรู้บางสิ่งและเพื่อตอบสนองความอยากรู้อยากเห็นของฉันเท่านั้น

ฉันต้องทำอะไรเพื่อที่ ปรับปรุงด้วง เพิ่มเคอร์เนลที่คอมไพล์แล้วของฉันจากไฟล์ /บูต ไดเร็กทอรีไปยังเมนู Grub?

Amedee Van Gasse avatar
au flag
ไวยากรณ์ที่ถูกต้องคือ `update-initramfs -u -k all` และไม่ช่วยอะไร ฉันจะเพิ่มลงในคำถาม
Doug Smythies avatar
gn flag
พิจารณาเปลี่ยนไปใช้เคอร์เนล mainline สำหรับการแบ่งเคอร์เนล ฉันแบ่งเคอร์เนลหลายครั้งหลายครั้ง ฉันไม่เคยประสบความสำเร็จในการพยายามรวบรวมเคอร์เนลโดยใช้วิธีการของ Ubuntu เมื่อใช้ mainline คุณสามารถตรวจสอบผู้สมัคร RC ล่าสุดเพื่อดูว่าปัญหาของคุณได้รับการแก้ไขแล้วหรือไม่ คุณจะต้องสร้างจุดเริ่มต้น `git bisect good' และ 'git bisect bad' ของคุณใหม่ การใช้ mainline ยังดีกว่าสำหรับการยกระดับต้นน้ำ ดูวิธีการคอมไพล์เคอร์เนล mainline [ที่นี่](https://askubuntu.com/questions/718381/how-to-compile-and-install-custom-mainline-kernel/718662#718662)
Doug Smythies avatar
gn flag
ฉันไม่เคยมีปัญหากับ update-grub กับคอมไพล์ที่กำหนดเองของฉันและไม่รู้ว่ามีอะไรผิดปกติ
Amedee Van Gasse avatar
au flag
สวัสดี @DougSmythies ฉันทราบแล้วว่าปัญหาเฉพาะไม่ได้เกิดขึ้นในเคอร์เนล mainline ล่าสุด หรือเคอร์เนล mainline อื่น ๆ ที่ฉันได้ทำการทดสอบไปแล้ว ฉันได้ลองแล้ว มันเกิดขึ้นกับเมล็ดจากที่เก็บ Ubuntu เท่านั้น แรงจูงใจหลักของฉันคือการเรียนรู้ ถ้าฉันจะเปลี่ยนไปใช้เคอร์เนลล่าสุด มันก็เหมือนกับการยอมแพ้และฉันจะไม่ได้เรียนรู้อะไรเลย
Amedee Van Gasse avatar
au flag
@DougSmythies ฉันได้อ่านวิธีการรวบรวมของคุณและเห็นว่าคุณใช้ `bindeb-pkg` ท้ายที่สุดแล้ว ไม่สำคัญ - ทั้งสองวิธีสร้างแพ็คเกจ `.deb` และทั้งสองวิธี ไฟล์เคอร์เนลจะถูกคัดลอกไปที่ `/boot` เรามาถึงจุดเดียวกันด้วยวิธีการที่แตกต่างกัน ฉันจะลองกับ repo เคอร์เนลแบบ mainline อย่างแน่นอน เพื่อให้คุณตลก และฉันคาดว่าจะได้ผลลัพธ์แบบเดียวกัน ฉันไม่คิดว่ามันเป็นสิ่งที่เมล็ด แต่ด้วยวิธีที่ `update-grub` ตรวจจับไฟล์ใน `/boot`
Amedee Van Gasse avatar
au flag
ก่อนที่ฉันจะใช้วิธีการรวบรวมเคอร์เนลของ Ubuntu ฉันใช้คำสั่งนี้: `time make --jobs=$(getconf _NPROCESSORS_ONLN) bindeb-pkg LOCALVERSION=-$(git Description | tr '[:upper:]' '[: ล่าง:]')`. ผลลัพธ์ก็เหมือนกัน
Doug Smythies avatar
gn flag
ตกลง. พอใช้ในส่วนที่ต้องการเรียนรู้ ฉันยอมรับว่าการอัปเดตด้วงควรใช้งานได้ ฉันใช้ 20.04 คุณใช้ 21.10 (ฉันคิดว่า)
Amedee Van Gasse avatar
au flag
ถูกต้องฉันจะเพิ่มคำถามนั้น
Doug Smythies avatar
gn flag
ฉันไม่รู้ว่าสิ่งนี้คืออะไร: `พบอิมเมจ GRUB Invaders: /boot/invaders.exec` ลองใช้ชื่อเคอร์เนลที่สั้นลง เช่นเดียวกับการทดสอบ
Amedee Van Gasse avatar
au flag
นั่นเป็นเพียงเกม Space Invaders ที่โด่งดังและเป็นตำนานซึ่งสร้างขึ้นเพื่อใช้งานใน GRUB ดังนั้นจึงไม่มีระบบปฏิบัติการ ดู https://github.com/stokito/grub-invaders และวิดีโอการเล่นเกม https://www.youtube.com/watch?v=ZfddXQlF1vA
Amedee Van Gasse avatar
au flag
ฉันได้ถอนการติดตั้ง grub-invaders ดังนั้นคุณจึงไม่ต้องกังวลอีกต่อไป ฉันจะอัปเดตคำถามตามนั้น
Amedee Van Gasse avatar
au flag
@karel ฉันพบคำตอบนั้น 23 ชั่วโมงก่อนที่คุณจะโพสต์ความคิดเห็น ดูคำตอบด้านล่าง
karel avatar
sa flag
ฮี่ ฮี่ ฮี่ ฮี่ เอามาจากไหนเนี่ย
Score:0
ธง au

คำสั่งสามคำสั่งต่อไปนี้ช่วยแก้ปัญหานี้ได้โดยการปิดบิตเรียกทำงาน 09_เวลาแฝงต่ำ และเปิดบิตสำหรับ 10_ลินุกซ์ตามข้อความใน /etc/grub.d/README.lowlatency.

# chmod -x /etc/grub.d/09_lowlatency
# chmod +x /etc/grub.d/10_linux
# ปรับปรุงด้วง

พบวิธีแก้ปัญหาได้ที่ https://askubuntu.com/a/1228269/149519.

เพื่อยืนยันว่าตอนนี้ทำงานตามที่คาดไว้:

$ ls -hal /boot ; เสียงก้อง ; sudo ปรับปรุงด้วง
รวม 107M
drwxr-xr-x 4 รูทรูท 4,0K ก.พ. 28 04:42
drwxr-xr-x 20 รูทรูท 4,0K 26 ก.พ. 01:13 ..
-rw-r--r-- 1 รูทรูท 252K 5 พฤศจิกายน 10:21 config-5.13.0-22-generic
-rw-r--r-- 1 รูทรูท 251K 26 ก.พ. 02:15 config-5.13.19-ubuntu-5.13.0-22.22
drwx------ 4 รูทรูท 4,0K 1 มกราคม 1970 efi
drwxr-xr-x 5 รูทรูท 4,0K ก.พ. 28 04:42 ด้วง
lrwxrwxrwx 1 รูทรูท 28 ก.พ. 28 04:26 initrd.img -> initrd.img-5.13.0-22-generic
-rw-r--r-- 1 รูทรูท 40M ก.พ. 26 13:55 initrd.img-5.13.0-22-generic
-rw-r--r-- 1 รูทรูท 37M ก.พ. 26 13:54 initrd.img-5.13.19-ubuntu-5.13.0-22.22
-rw------- 1 รูทรูท 5,7M 5 พ.ย. 10:21 System.map-5.13.0-22-generic
-rw-r--r-- 1 รูทรูท 5,6M ก.พ. 26 02:15 System.map-5.13.19-ubuntu-5.13.0-22.22
lrwxrwxrwx 1 รูทรูท 25 ก.พ. 28 04:27 vmlinuz -> vmlinuz-5.13.0-22-generic
-rw------- 1 รูทรูท 9,8M 5 พ.ย. 13:51 vmlinuz-5.13.0-22-generic
-rw-r--r-- 1 รูทรูท 8,5M ก.พ. 26 02:15 vmlinuz-5.13.19-ubuntu-5.13.0-22.22

การจัดหาไฟล์ `/etc/default/grub'
การจัดหาไฟล์ `/etc/default/grub.d/init-select.cfg'
กำลังสร้างไฟล์การกำหนดค่าด้วง ...
พบอิมเมจ linux: /boot/vmlinuz-5.13.19-ubuntu-5.13.0-22.22
พบภาพ initrd: /boot/initrd.img-5.13.19-ubuntu-5.13.0-22.22
พบอิมเมจ linux: /boot/vmlinuz-5.13.0-22-generic
พบภาพ initrd: /boot/initrd.img-5.13.0-22-generic
การเพิ่มรายการเมนูบู๊ตสำหรับการตั้งค่าเฟิร์มแวร์ UEFI
เสร็จแล้ว

โพสต์คำตอบ

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