Điểm:1

update-grub không thêm tất cả các hạt nhân vào menu grub

lá cờ au

Ubuntu 21.10.

Tôi đang xây dựng hạt nhân như tài liệu tại https://help.ubuntu.com/community/Kernel/Compilehttps://wiki.ubuntu.com/Kernel/BuildYourOwnKernel.

DEB_BUILD_OPTIONS=parallel=$(getconf _NPROCESSORS_ONLN) AUTOBUILD=1 NOEXTRAS=1 \
    fakeroot debian/quy tắc nhị phân-arch

Lệnh biên dịch này có cùng kết quả:

làm --jobs=$(getconf _NPROCESSORS_ONLN) bindeb-pkg \
    LOCALVERSION=-custom-$(git description | tr '[:upper:]' '[:lower:]')

Điều này tạo ra một số .deb gói:

$ ls -hal ../*.deb
-rw-r--r-- 1 amedee amedee 8,2M ngày 26 tháng 2 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 ngày 26 tháng 2 02:18 ../linux-image-5.13.19-ubuntu-5.13.0-22.22_5.13.19-ubuntu-5.13.0-22.22-6_amd64. cuộc tranh luận
-rw-r--r-- 1 amedee amedee 1,2M ngày 26 tháng 2 02:17 ../linux-libc-dev_5.13.19-ubuntu-5.13.0-22.22-6_amd64.deb

Tôi cài đặt chúng như thế này:

Sudo dpkg --install \
    ../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

Đây là nội dung của /khởi động:

$ ls -hal /boot/*5.13*
-rw-r--r-- 1 gốc gốc 252K ngày 5 tháng 11 10:21 /boot/config-5.13.0-22-generic
-rw-r--r-- 1 gốc gốc 251K ngày 26 tháng 2 02:15 /boot/config-5.13.19-ubuntu-5.13.0-22.22
-rw-r--r-- 1 gốc gốc 40M ngày 22 tháng 2 16:21 /boot/initrd.img-5.13.0-22-generic
-rw-r--r-- 1 root root 37M ngày 26 tháng 2 02:20 /boot/initrd.img-5.13.19-ubuntu-5.13.0-22.22
-rw------- 1 root root 5,7M ngày 5 tháng 11 10:21 /boot/System.map-5.13.0-22-generic
-rw-r--r-- 1 gốc gốc 5,6M ngày 26 tháng 2 02:15 /boot/System.map-5.13.19-ubuntu-5.13.0-22.22
-rw------- 1 root root 9,8M ngày 5 tháng 11 13:51 /boot/vmlinuz-5.13.0-22-generic
-rw-r--r-- 1 root gốc 8,5M ngày 26 tháng 2 02:15 /boot/vmlinuz-5.13.19-ubuntu-5.13.0-22.22

Cập nhật initramfs (nói đúng ra là không cần thiết vì điều đó đã được thực hiện, nhưng để có biện pháp tốt):

$ Sudo update-initramfs -u -k tất cả
update-initramfs: Đang tạo /boot/initrd.img-5.13.19-ubuntu-5.13.0-22.22
update-initramfs: Đang tạo /boot/initrd.img-5.13.0-22-generic

Sau đó tôi chạy cập nhật-grub:

amedee@kerbol:~/repos/ubuntu-impish$ sudo update-grub
Tệp nguồn `/etc/default/grub'
Tệp nguồn `/etc/default/grub.d/init-select.cfg'
Đang tạo tệp cấu hình grub ...
Đã tìm thấy hình ảnh linux: /boot/vmlinuz-5.13.0-22-generic
Đã tìm thấy hình ảnh initrd: /boot/initrd.img-5.13.0-22-generic
Đã tìm thấy hình ảnh linux: /boot/vmlinuz-5.13.0-22-generic
Đã tìm thấy hình ảnh initrd: /boot/initrd.img-5.13.0-22-generic
Thêm mục menu khởi động cho Cài đặt chương trình cơ sở UEFI
xong

kernel đã biên dịch của tôi 5.13.19-ubuntu-5.13.0-22.22 không được thêm vào menu Grub bởi cập nhật-grub. Tôi biết tôi có thể thêm nó theo cách thủ công, nhưng điều đó có nguy cơ mắc lỗi chính tả. Tôi cũng cần biên dịch nhiều hạt nhân vì tôi đang cố gắng xác định lỗi có thể xảy ra bằng cách sử dụng chia đôi git. Sự cố nhân mà tôi đang khắc phục sự cố không xảy ra trong các nhân chính gần đây hơn, chỉ xảy ra trong (một số, nhưng không phải tất cả) nhân Ubuntu 21.10, vì vậy tôi chỉ làm điều này để tìm hiểu điều gì đó và để thỏa mãn trí tò mò của mình.

Tôi cần phải làm gì để cập nhật-grub thêm kernel đã biên dịch của tôi từ /khởi động thư mục vào menu Grub?

Amedee Van Gasse avatar
lá cờ au
Cú pháp đúng là `update-initramfs -u -k all` và không, điều đó không giúp được gì, tôi sẽ thêm nó vào câu hỏi.
Doug Smythies avatar
lá cờ gn
Cân nhắc chuyển sang kernel chính để chia đôi kernel. Tôi đã chia đôi hạt nhân nhiều lần. Tôi chưa bao giờ thành công khi cố gắng biên dịch kernel bằng các phương thức Ubuntu. Với dòng chính, bạn có thể kiểm tra ứng cử viên RC mới nhất để xác định xem sự cố của bạn đã được khắc phục chưa. Tuy nhiên, bạn sẽ phải thiết lập lại điểm bắt đầu `git bisect good` và `git bisect bad` của mình. Sử dụng đường chính cũng tốt hơn cho việc leo thang ngược dòng. Xem phương pháp biên dịch kernel chính của tôi [tại đây](https://askubuntu.com/questions/718381/how-to-compile-and-install-custom-mainline-kernel/718662#718662).
Doug Smythies avatar
lá cờ gn
Tôi chưa bao giờ gặp sự cố với update-grub với các trình biên dịch tùy chỉnh của mình và không biết có gì sai ở đó.
Amedee Van Gasse avatar
lá cờ au
Xin chào @DougSmythies, tôi đã biết rằng sự cố cụ thể không xảy ra trong nhân dòng chính gần đây nhất hoặc bất kỳ nhân dòng chính nào khác mà tôi đã thử nghiệm cho đến nay. Tôi đã thử điều đó rồi. Nó chỉ xảy ra với các hạt nhân từ kho Ubuntu. Động lực chính của tôi là để học hỏi. Nếu tôi chỉ chuyển sang kernel mới nhất, thì nó giống như bỏ cuộc và tôi sẽ không học được gì.
Amedee Van Gasse avatar
lá cờ au
@DougSmythies Tôi đã đọc phương pháp biên dịch của bạn và tôi thấy rằng bạn sử dụng `bindeb-pkg`. Cuối cùng, điều đó không thành vấn đề - cả hai phương pháp đều tạo các gói `.deb` và với cả hai phương pháp, các tệp kernel được sao chép vào `/boot`. Cả hai chúng tôi đều đến cùng một điểm thông qua các phương pháp khác nhau. Tôi hoàn toàn sẽ thử với repo hạt nhân chính, chỉ để làm hài lòng bạn và tôi hy vọng sẽ nhận được kết quả tương tự. Tôi không nghĩ đó là vấn đề với các nhân, mà là do cách `update-grub` phát hiện các tệp trong `/boot`.
Amedee Van Gasse avatar
lá cờ au
Trước khi tôi sử dụng cách biên dịch kernel của Ubuntu, tôi đã sử dụng lệnh này: `time make --jobs=$(getconf _NPROCESSORS_ONLN) bindeb-pkg LOCALVERSION=-$(git description | tr '[:upper:]' '[: thấp hơn:]')`. Kết quả là như nhau.
Doug Smythies avatar
lá cờ gn
VÂNG. đủ công bằng về phần muốn học. Tôi đồng ý grub-update sẽ hoạt động. Tôi đang sử dụng 20.04, bạn đang sử dụng 21.10 (tôi nghĩ vậy).
Amedee Van Gasse avatar
lá cờ au
Đó là chính xác, tôi sẽ thêm nó vào câu hỏi.
Doug Smythies avatar
lá cờ gn
Tôi không biết đây là gì: `Đã tìm thấy hình ảnh GRUB Invaders: /boot/invaders.exec`. Hãy thử tên hạt nhân ngắn hơn, giống như một thử nghiệm.
Amedee Van Gasse avatar
lá cờ au
Đó chỉ là trò chơi Space Invaders rất nổi tiếng và huyền thoại, được tạo ra để chạy bên trong GRUB, do đó không có hệ điều hành. Xem https://github.com/stokito/grub-invaders và video về cách chơi https://www.youtube.com/watch?v=ZfddXQlF1vA
Amedee Van Gasse avatar
lá cờ au
Tôi đã gỡ cài đặt grub-invaders nên bạn không còn phải lo lắng về điều đó nữa. Tôi sẽ cập nhật câu hỏi cho phù hợp.
Amedee Van Gasse avatar
lá cờ au
@karel Tôi đã tìm thấy câu trả lời đó 23 giờ trước khi bạn đăng nhận xét của mình, hãy xem câu trả lời bên dưới.
karel avatar
lá cờ sa
He he, đó là nơi tôi đã lấy nó từ đó.
Điểm:0
lá cờ au

Ba lệnh sau giải quyết vấn đề này, bằng cách tắt bit thực thi trên 09_độ trễ thấp và bật bit cho 10_linux, phù hợp với văn bản trong /etc/grub.d/README.lowlatency.

# chmod -x /etc/grub.d/09_lowlatency
# chmod +x /etc/grub.d/10_linux
# cập nhật-grub

Giải pháp tìm thấy tại https://askubuntu.com/a/1228269/149519.

Để xác nhận rằng nó hiện đang hoạt động như mong đợi:

$ ls -hal /boot ; tiếng vang ; cập nhật sudo-grub
tổng cộng 107M
drwxr-xr-x 4 gốc root 4,0K ngày 28 tháng 2 04:42 .
drwxr-xr-x 20 gốc gốc 4,0K ngày 26 tháng 2 01:13 ..
-rw-r--r-- 1 gốc root 252K ngày 5 tháng 11 10:21 config-5.13.0-22-generic
-rw-r--r-- 1 root root 251K 26 tháng 2 02:15 config-5.13.19-ubuntu-5.13.0-22.22
drwx ------ 4 gốc gốc 4,0K ngày 1 tháng 1 năm 1970 efi
drwxr-xr-x 5 gốc root 4,0K ngày 28 tháng 2 04:42 grub
lrwxrwxrwx 1 root root 28 tháng 2 28 04:26 initrd.img -> initrd.img-5.13.0-22-generic
-rw-r--r-- 1 gốc gốc 40M ngày 26 tháng 2 13:55 initrd.img-5.13.0-22-generic
-rw-r--r-- 1 root root 37M ngày 26 tháng 2 13:54 initrd.img-5.13.19-ubuntu-5.13.0-22.22
-rw------- 1 root root 5,7M 5 tháng 11 10:21 System.map-5.13.0-22-generic
-rw-r--r-- 1 root root 5,6M 26 tháng 2 02:15 System.map-5.13.19-ubuntu-5.13.0-22.22
lrwxrwxrwx 1 root root 25 tháng 2 28 04:27 vmlinuz -> vmlinuz-5.13.0-22-generic
-rw------- 1 root root 9,8M ngày 5 tháng 11 13:51 vmlinuz-5.13.0-22-generic
-rw-r--r-- 1 gốc gốc 8,5M ngày 26 tháng 2 02:15 vmlinuz-5.13.19-ubuntu-5.13.0-22.22

Tệp nguồn `/etc/default/grub'
Tệp nguồn `/etc/default/grub.d/init-select.cfg'
Đang tạo tệp cấu hình grub ...
Đã tìm thấy hình ảnh linux: /boot/vmlinuz-5.13.19-ubuntu-5.13.0-22.22
Đã tìm thấy hình ảnh initrd: /boot/initrd.img-5.13.19-ubuntu-5.13.0-22.22
Đã tìm thấy hình ảnh linux: /boot/vmlinuz-5.13.0-22-generic
Đã tìm thấy hình ảnh initrd: /boot/initrd.img-5.13.0-22-generic
Thêm mục menu khởi động cho Cài đặt chương trình cơ sở UEFI
xong

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.