TIP: How to boot with an old kernel version in Ubuntu
I. Mở đầu
Cũng một thời gian khá lâu rồi tôi không còn viết blog nữa. Phần lớn vì tôi tập trung học các kiến thức mới. Tuy nhiên sau một thời gian nghiên cứu, tôi lại phát hiện ra viết blog là cách để tôi lưu giữ và hiểu kiến thức sâu hơn. Đồng thời, được sự khuyến khích từ mentor, tôi sẽ quay lại với thói quen viết blog này, chia sẻ, lưu trữ lại các kiến thức mình đã học!
Một trong những vấn đề hay gặp của các bạn nghiên cứu về Kernel Exploitation là phải boot lại các phiên bản kernel cũ hơn phiên bản đang có hiện tại. Lúc mới bắt đầu, tôi đã tốn rất nhiều thời gian cho phần cài đặt này. Bài viết này tôi sẽ chỉa sẻ kinh nghiệm của tôi trong việc xây dựng boot lại 1 phiên bản kernel cũ để phục vụ quá trình nghiên cứu.
II. Nội dung chính
Context
- Ngữ cảnh: Phiên bản hiện tại:
5.15.0-52-generic
- Mục tiêu: cài kernel version 5.11
Các bước thực hiện
- Tải các file có định dạng
1
2
3
4
5
6
|
linux-headers-xxxxxx-generic-xxxxxx_amd64.deb
linux-headers-xxxxxx_all.deb
linux-image-xxxxxx-generic-xxxxxx_amd64.deb
linux-modules-xxxxxx-generic-xxxxxx_amd64.deb
|
- Cài đặt tất cả các file tải về
- Khởi động lại máy. Trong trường hợp chưa được như phiên bản mong muốn, chúng ta làm tiếp các bước sau
- Chạy câu lệnh sau để liệt kê tất cả các phiên bản kernel hiện đang có
1
|
awk '/menuentry/ && /class/ {count++; print count-1"****"$0 }' /boot/grub/grub.cfg
|
- kiểm tra chỉ số index ở đầu dòng. Linux kernel 5.11 đang ở
index 5
. Sau đó, chúng ta thay đổi giá trị GRUB_DEFAULT
trong file /etc/default/grub
như sau:
4
là trước index 5
- sau khi khởi động lại, chúng ta kiểm tra, sẽ được phiên bản kernel như mong muốn
• Khá đơn giản cho những người đã biết :)) Chúc các bạn cài đặt thành công!