Điểm:0

Việc thay đổi kernel cho 20.04 trong AWS dường như phá vỡ trình tự khởi động (có thể là sự cố cấu hình grub?)

lá cờ tr

Sử dụng Ubuntu 20.04 trên AWS (ec2), tôi muốn thay đổi kernel của mình từ AWS sang kernel chung. Khi tôi thử theo cách được đề xuất với việc thay đổi Cấu hình Grub, nó sẽ dừng máy.

Điều này là do Jibri (Jitsi Video Recorder) yêu cầu sử dụng ALSA và modprobe snd-aloop , nhưng bất kỳ thứ gì muốn có độ trễ thấp hoặc nhân khác sẽ có cùng nhu cầu - muốn sử dụng nhân khác với nhân AWS.

Những gì tôi đã thử:

Lấy hình ảnh:

sudo apt cài đặt linux-image-extra-virtual

Bạn sẽ thấy nó tham chiếu thứ gì đó giống như Linux 5.4.0-84-generic trong các gói cài đặt, nó sẽ giúp ích sau này. Bây giờ, hãy liệt kê các mục khởi động mà bạn có cho nhân chung mới đó

menu con grep -A200 /boot/grub/grub.cfg |grep -P '^(?=.*menuentry)(?=.*generic)'

Tôi hiểu rồi:

menuentry 'Ubuntu, với Linux 5.4.0-84-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-84-generic-advanced-e8070c31-bfee -4314-a151-d1332dc23486' { menuentry 'Ubuntu, với Linux 5.4.0-84-generic (chế độ khôi phục)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-84-generic-recovery -e8070c31-bfee-4314-a151-d1332dc23486' {

Ở dòng trên cùng có khả năng là dòng trên cùng chứ không phải dòng đề cập đến chế độ khôi phục, hãy sao chép mục menu của nó ở đầu dòng. Của tôi trông giống như Ubuntu, với Linux 5.4.0-84-generic, nhưng nó sẽ khác đối với mọi người.

Bây giờ, tôi sẽ chỉnh sửa /etc/default/grub ,

Nhận xét GRUB_DEFAULT=0 (tải mục đầu tiên trong danh sách khởi động grub của bạn) và thay đổi nó thành chuỗi mà chúng tôi đã tìm thấy trước đó. Đối với tôi, phần này của tệp bây giờ trông giống như:

#GRUB_DEFAULT=0
GRUB_DEFAULT="Ubuntu, với Linux 5.4.0-84-generic"

Đây chưa phải là một thiết lập phù hợp - chúng tôi đang sử dụng nó để cho phép grub kiểm tra và cho chúng tôi biết cách tốt nhất để thực hiện.

Tại thời điểm này, chúng ta có thể sudo update-grub, nó sẽ cho tôi một cảnh báo thân thiện như thế này (điều này tốt!)

Cảnh báo: Vui lòng không sử dụng tiêu đề cũ `Ubuntu, với Linux 5.4.0-84-generic' cho GRUB_DEFAULT, hãy sử dụng `Advanced options for Ubuntu>Ubuntu, with Linux 5.4.0-84-generic' (dành cho các phiên bản trước 2.00) hoặc `gnulinux-advanced-e8070c31-bfee-4314-a151-d1332dc23486>gnulinux-5.4.0-84-generic-advanced-e8070c31-bfee-4314-a151-d1332dc23486' (dành cho phiên bản 2.00 trở lên)

Một lần nữa, điều này là tốt! Chúng tôi biết rằng chúng tôi đã chỉ định điều gì đó mà nó nhận ra. Mọi người đang chạy grub mới hơn 2.00 ngày nay, vì vậy bây giờ chúng tôi chỉnh sửa lại /etc/default/grub và thay đổi nó thành giá trị cuối cùng của nó:

(giá trị của tôi sẽ khác với giá trị của bạn)

#GRUB_DEFAULT=0
#GRUB_DEFAULT="Ubuntu, với Linux 5.4.0-84-generic"
GRUB_DEFAULT="gnulinux-advanced-e8070c31-bfee-4314-a151-d1332dc23486>gnulinux-5.4.0-84-generic-advanced-e8070c31-bfee-4314-a151-d1332dc23486"

Sudo update-grub và tôi thấy cảnh báo đã biến mất.

Bây giờ tôi làm một Sudo khởi động lại ngay bây giờ

Tại thời điểm này, grub đã đưa cho tôi một cấu hình để thử và khởi động kernel chung, quay trở lại kernel bình thường.

Thay vào đó, nó bị mắc kẹt trong một vòng lặp khởi động.

Trong bảng điều khiển nối tiếp, tôi thấy điều này lặp đi lặp lại trong vòng lặp khởi động.

[ 0,000000] Linux phiên bản 5.4.0-84-generic (buildd@lgw01-amd64-050) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #94-Ubuntu SMP Thứ Năm ngày 26 tháng 8 20:27: 37 UTC 2021 
(Ubuntu 5.4.0-84.94-chung 5.4.133)
[ 0,000000] Dòng lệnh: BOOT_IMAGE=/boot/vmlinuz-5.4.0-84-generic root=PARTUUID=5198cbc0-01 ro console=tty1 console=ttyS0 nvme_core.io_timeout=4294967295 panic=-
1
[ 0,000000] CPU được hỗ trợ KERNEL:
[ 0,000000] Intel Chính hãngIntel
[ 0,000000] AMD xác thựcAMD
[ 0.000000] Hygon HygonChính hãng
[ 0,000000] Centaur CentaurHaul
[ 0.000000] zhaoxin Thượng Hải  
... rất nhiều cpu init khó sao chép ..
[ 10.366218] rtc_cmos 00:00: đặt đồng hồ hệ thống thành 2021-09-21T11:25:30 UTC (1632223530)
[ 10.373185] md: Chờ tất cả thiết bị khả dụng trước khi tự động phát hiện
[ 10.460173] md: Nếu bạn không sử dụng đột kích, hãy sử dụng đột kích=noautodetect
[ 10.464642] md: Tự động phát hiện mảng RAID.
[ 10.468024] md: autorun ...
[ 10.470867] md: ... tự động chạy XONG.
[ 10.473906] VFS: Không thể mở thiết bị gốc "PARTUUID=5198cbc0-01" hoặc khối không xác định (0,0): lỗi -6
[ 10.562806] Vui lòng thêm tùy chọn khởi động "root=" đúng; đây là các phân vùng có sẵn:
[ 10.569825] Kernel hoảng loạn - không đồng bộ hóa: VFS: Không thể gắn root fs trên khối không xác định (0,0)
[ 10.674637] CPU: 1 PID: 1 Comm: hoán đổi/0 Không bị nhiễm độc 5.4.0-84-generic #94-Ubuntu
[ 10.682527] Tên phần cứng: Amazon EC2 t3.small/, BIOS 1.0 16/10/2017
[ 10.686735] Theo dõi cuộc gọi:
[ 10.691100] dump_stack+0x6d/0x8b
[ 10.759061] hoảng loạn+0x101/0x2e3
[ 10.761974] mount_block_root+0x23f/0x2e8
[ 10.765568] mount_root+0x38/0x3a
[ 10.768584]prepare_namespace+0x13f/0x194
[ 10.771873] kernel_init_freeable+0x23f/0x263
[ 10.775368] ? rest_init+0xb0/0xb0
[ 10.859141] kernel_init+0xe/0x110
[ 10.862101] ret_from_fork+0x35/0x40
[ 10.865843] Độ lệch hạt nhân: 0x36a00000 từ 0xffffffff81000000 (phạm vi di chuyển: 0xffffffff80000000-0xffffffffbffffffff)

Nó nói với tôi rằng nó không thể tìm thấy thiết bị khởi động hoặc partuuid theo nó. Tại thời điểm này, tôi gần như phải chấm dứt phiên bản và thử lại, vì tôi không thể khôi phục nó dễ dàng.

Có cách nào tốt hơn để thay đổi kernel của tôi thành kernel chung không? Tôi rất vui khi được sử dụng hình ảnh chung theo bất kỳ cách nào có thể vào thời điểm này nếu nó khởi động.

lá cờ cn
Tôi nghi ngờ bạn được phép để nó như thế này. Phương pháp đúng là tạo một phiên bản MỚI và đính kèm đĩa cá nhân của bạn vào phiên bản mới. Hạt nhân, cpu và bộ nhớ đều được gắn với các cài đặt mà bạn tạo phiên bản.
lá cờ tr
Điều đó có vẻ hơi tròn phải không? bạn sẽ cần có khả năng tạo phiên bản từ AMI hiện có (nghĩa là bắt đầu với nhân của Ubuntu 20.04, sau đó có thể khởi động nhân đó) trước khi bạn có thể tạo AMI từ nó bằng cách thay đổi nhân để khởi động. .
lá cờ cn
Không. AWS cung cấp các phiên bản từ bảng điều khiển của họ với nhân tùy chỉnh. Tôi nghi ngờ bạn được phép và nghi ngờ việc có thể làm những gì bạn muốn. Phí hàng tháng bạn phải trả khi sử dụng AWS được gắn với phiên bản cpu, gpu, kernel và OS. Mặc dù vậy, tôi đang đưa ra một số giả định (nếu không thì tôi sẽ đưa ra câu trả lời ;-)); Tôi chủ yếu sử dụng GCE và chỉ có 3 AWS và 3 cái đó hơi lỗi thời.
lá cờ tr
Không phải vậy, trước đây có rất nhiều hướng dẫn đã thay đổi kernel, kể cả trên AWS. Để liên kết đến một ví dụ: https://github.com/jitsi/jibri/blob/master/README.md#alsa-and-loopback-device (được liên kết từ hướng dẫn cài đặt AWS, nó vẫn phù hợp với Ubuntu 18.04 và 20.04) . Điều kỳ lạ là tôi thậm chí đã thực hiện lại điều này vào tháng 2 (chạy kernel chung), nhưng dường như không thể thực hiện lại.Tôi bị bỏ lại với một trường hợp không khởi động được.
Điểm:0
lá cờ cn

Như đã nêu trong dấu vết nhật ký:

FS: Không thể mở thiết bị gốc "PARTUUID=5198cbc0-01" hoặc khối không xác định (0,0): lỗi -6
[ 10.562806] Vui lòng thêm tùy chọn khởi động "root=" đúng; đây là các phân vùng có sẵn:
[ 10.569825] Kernel hoảng loạn - không đồng bộ hóa: VFS: Không thể gắn root fs trên khối không xác định (0,0)

Vấn đề chủ yếu nằm ở việc bắt buộc PARTUUID được đặt trong /etc/default/grub.d/40-force-partuuid.cfg

Giải pháp là:

  1. Cài đặt cụ thể chung chung linux nhân (Sudo apt cài đặt linux-generic mới nhất). Bạn có thể kiểm tra những gì bạn có sẵn bằng lệnh danh sách phiên bản linux
  2. biến đổi GRUB_DEFAULT="1>2" hoặc phù hợp với của bạn grub.cfg danh sách thứ tự thực đơn.

("1>2") Giải thích: Số 1 dành cho "Tùy chọn Ubuntu nâng cao" (menu thứ hai bắt đầu từ 0) và số 2 là tùy chọn menu con thứ ba trong "Tùy chọn Ubuntu nâng cao" (bắt đầu từ 0) là hạt nhân chung nên được được sử dụng trong trường hợp của tôi.

  1. Nhận xét ra dòng GRUB_FORCE_PARTUUID Trong /etc/default/grub.d/40-force-partuuid.cfg
  2. sudo update-grub && sudo update-grub2
  3. khởi động lại

Đă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.