systemd-boot – lính bốc vác mới của sếp linux

Để dập dìu bên em
Hôn cài lên tóc xõa vai mềm
Để trải đường em đi
Đưa hồn em tới nẻo êm đềm

Lối Thu Xưa – Quốc Dũng

Tui kéo các tài liệu, bài viết kĩ thuật trên group facebook zìa đây cho bà con dễ coi

Tui sợ ổng òi, chia sẻ cho mọi ngừ mà ổng nói tui spam ổng 😭 cất hết bài của tui zô tủ lun 😭

→ mấy người khác quảng cáo trên fb quá trùi mà sao hông bị zì ta, có bí kíp gì hem chỉ tui zới


Boot loader thường dịch là bộ tải khởi động tui gọi là bốc vác, ngừ ta cũng gọi bốc vác là cửu vạn

Cửu vạn là gì? Là người làm nghề bốc vác thường hay gọi là cửu vạn hoặc khi làm công một việc gì đó mà nặng nhọc thấp bé nhất trong xã hội cũng gọi là đi làm cửu vạn

→ cũng đúng y bong như trên máy tính lun, để có hệ điều hành cho ngừ ta xài phải làm trước 1 đống việc 😂 từ cấp thấp tới cấp vừa vừa lun 😂

Có lần tui nói ông systemd bá đạo á mọi ngừ, giờ là 1 lần nữa

Ổng thay init quản lí mọi thứ từ a tới á lun

Sinh lão bệnh tử tưởng là quy luật thiên nhiên nhưng cũng là quy luật phần mềm

init ra đời lúc IT còn ở thời kì đồ đá – chạy trên Unix – roài tới thời kì đồ đồng Minix vẫn ổn – sang thời kì đồ nhựa Linux – 1 thời gian thì thôi xong – anh í đã hoàn thành sứ mệnh lịch sử của mềnh 😭😭😭

Thắp cho tình một hàng nến trong tôi

Cháy trong hồn từng sợi nhớ đơn côi

Ngày nào em đã đến…

Em đã xa tôi – Trần Quang Lộc

systemd-boot giờ muốn thay 🤪 grub2 boot loader 🤪 lun mới ghia chớ mà làm được lun mới hay chớ

Tui làm lab này vì cái tên gummi làm tui nhớ tới phim hoạt hình coi hồi nhỏ Những cuộc phiêu lưu của gấu Gummi – Adventures of the Gummi Bears 🤣🤣🤣

Sau khi uống nước tăng lực = nước trái dâu thì phải, gấu gummy khỏe lên đáng kể, bay nhảy cao vãi 😆😆😆

Trên wikipedia thì tên gummi do mấy ô dev người Đức viết và theo tiếng Đức có nghĩa là tàu thuyền nhỏ bơm hơi căng lên (inflatable boat) 🥰🥰🥰

Sau khi xem tui thấy systemd-boot khá đơn giản so với grub2 😊😊😊

Nên tui làm lab về systemd-boot → giúp các bác hiểu rõ khi khởi động linux có 3 thứ k thể thiếu:

  • vmlinuz
  • initramfs (initrd)
  • root partition /
  • Cơm thêm kernel parameter

Nhớ ngày xưa GRUB 0.9x trên CentOS 5 6, Ubuntu 9.10 khá đơn giản, dễ hiểu 😘😘😘

→ sau đó GRUB2 ra đời được ông Ubuntu chạy đầu tiên, lúc đó tui là 😊 fan cuồng 😊 của Ubuntu

→ GRUB2 có 1 đống chức năng mới nhưng khó hiểu, config phức tạp hơn, nhiều file, nhiều bước 😉

Red hat hiện tại chỉ support grub2 thoai, còn systemd-boot họ chưa ưng

→ nhưng tui thử config systemd-boot trên CentOS 8 thấy chạy ngon lành 🤣🤣🤣

Các biến thể hay dẫn xuất (derivatives) của Red Hat là

  • CentOS
  • AlmaLinux
  • Rocky Linux
  • Oracle Linux (xài kernel của Red Hat gọi là Red Hat Compatible Kernel – RHCK, xài kernel riêng với cái tên sặc mùi quảng cáo là Unbreakable Enterprise Kernel – UEK – kĩ thuật gì mà không thể bẻ vỡ được zậy 🤣🤣🤣)
  • VzLinux (ace làm linux thời xưa chắc k quên OpenVZ – 1 OS ở dạng container nổi tiếng của mấy ô Nga, hình như tới giờ người ta vẫn còn xài VPS của OpenVZ)

What’s missing from upstream kernel containers? – Kir Kolyshkin, Sergey Bronnikov

Thêm 1 xí: nhiều thứ OpenVZ làm ra 😂 không được đồng ý 😂 cho vào kernel mainstream | kernel mainline | kernel upstream nên họ phải rẽ nhánh (fork) ra 1 kernel riêng là vzkernel

→ cũng y chang gần như 100% nên về mặt kĩ thuật là k có gì khác

Thực tế có rất nhiều boot loader

https://en.wikipedia.org/wiki/Comparison_of_boot_loaders

Các bạn đang học IT có thể chọn cái này để làm đề tài cuối môn học hay đề tài tốt nghiệp đều được với điều kiện phải phân tích sâu và tìm ra 1 cái gì đó mới của bootloader đó

Cái này nằm ở phần kiến trúc máy tính cũng được vì nó làm việc trực tiếp với phần cứng hoặc mô phỏng phần cứng của vmware, virtualbox, xen….

Môn hệ điều hành cũng được vì OS không thể thiếu cái này 😆😆😆

Môn lập trình hệ thống cũng ok luôn, kiếm hàm hay API gì đó móc vào để xào nấu ra vài thứ có giá trị

Tui thấy các bạn bi giờ code app nhiều quá, lãng quên nhiều thứ mà hổng có nó thì hổng có cái cho mình làm anh hùng bàn phím, hay thánh click chuột đâu 🤣🤣🤣

Từ kernel 5.7 ngừ ta thống nhứt tránh xài từ nhạy cảm – xài từ khác zăn zẻ hơn – 😆 gentleman chánh hiệu là đây 😆

→ thay master – ông chủ / slave – đầy tớ | nô lệ thành primary – chính / secondary – thứ 2

→ thay whitelist – danh sách trắng / blacklist – danh sách đen thành denylist – danh sách từ chối / allowlist – danh sách cho phép

Linux kernel coding style — The Linux Kernel documentation

Ngày xưa (lại từ này) đọc sách tin học đại cương thấy ghi bộ nhớ thứ cấp → lại 1 lần nữa đầu óc tui ngáo ngơ

bộ nhớ thứ cấp là bộ nhớ thứ 2 (có thể là thứ 3 4 lun á) – secondary memory – là đĩa cứng
→ còn bộ nhớ chính – primary memory – là RAM, ROM → ối giời ơi thì ra là thía 😂😂😂


Slide các bác xem trên này

Níu đòi tiền mới xem được thì tui 😘 chuyển nhà zô đây 😘

https://github.com/itv2021-edu-vn/2022training

Món ăn chơi lập trình C hệ thống của systemd-boot – có bác nào thích nấu nướng cho bà con ăn hông nè 🤣🤣🤣

https://github.com/systemd/systemd/tree/main/src/boot