Biên dịch nhân Linux để làm gì?

Cơm lam ngũ sắc của đồng bào dân tộc vùng núi phía Bắc.

Biên dịch nhân Linux để bật chức năng nào đó của Linux kernel mà bản Linux bạn đang xài như Ubuntu, Debian, AlmaLinux, Rocky Linux… hổng có?

Nói cách khác

Bạn muốn xài 1 chức năng nào đó của Linux kernel mà không có?

Bạn phải nhảy vào nấu nướng Linux kernel để ăn thôi.

Học lập trình bash shell mà phải biên dịch Linux kernel là sao? có liên quan gì đến nhau hông?

Câu trả lời ngắn gọn là có

Bạn muốn xài extract-ikconfig nhưng rất tiếc hầu hết các hệ điều hành Linux đều hổng có biên dịch chức năng này trong Linux kernel nên extract-ikconfig từ 1 ngôi sao sáng (minh tinh) trên bầu trời điện ảnh thế giới trở thành kẻ hổng có đất diễn, thất nghiệp dài hạn.

extract-ikconfig hổng có đất sử dụng võ trên Ubuntu Server 22.04.3

cat /etc/os-release 
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

bash ./extract-ikconfig /boot/vmlinuz-`uname -r` > kernel-config-`uname -r`.txt
extract-ikconfig: Cannot find kernel config.

grep CONFIG_IKCONFIG /boot/config-`uname -r`
# CONFIG_IKCONFIG is not set

extract-ikconfig hổng có đất diễn xuất trên AlmaLinux 9 có nghĩa là trên RHEL, Fedora, CentOS, Rocky Linux, Oracle Linux RHCK, VzLinux cũng rứa.

cat /etc/os-release
NAME="AlmaLinux"
VERSION="9.2 (Turquoise Kodkod)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.2"
PLATFORM_ID="platform:el9"
PRETTY_NAME="AlmaLinux 9.2 (Turquoise Kodkod)"
ANSI_COLOR="0;34"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:almalinux:almalinux:9::baseos"
HOME_URL="https://almalinux.org/"
DOCUMENTATION_URL="https://wiki.almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"

ALMALINUX_MANTISBT_PROJECT="AlmaLinux-9"
ALMALINUX_MANTISBT_PROJECT_VERSION="9.2"
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.2"

bash ./extract-ikconfig /boot/vmlinuz-`uname -r` > kernel-config-`uname -r`.txt
extract-ikconfig: Cannot find kernel config.

grep CONFIG_IKCONFIG /boot/config-`uname -r`
# CONFIG_IKCONFIG is not set

extract-ikconfig lặn lội tìm đến miền đất hứa Debian 12 Bookworm nhưng mà hứa thật nhiều thất hứa cũng thật nhiều, thôi thì thôi nhé không cần nữa đâu :d

cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

bash ./extract-ikconfig /boot/vmlinuz-`uname -r` > kernel-config-`uname -r`.txt
extract-ikconfig: Cannot find kernel config.

grep CONFIG_IKCONFIG /boot/config-`uname -r`
# CONFIG_IKCONFIG is not set

Bước lang thang qua từng vỉa hè,
Biết đêm nay đi về nơi đâu
Người yêu ơi em đã sang ngang
Tình yêu ơi xin vấn khăn tang
Anh mất em, đời như cánh diều băng xa.

Đêm lang thang – Vinh sử

Bao nhiêu năm rồi còn mãi ra đi.
Đi đâu loanh quanh cho đời mỏi mệt.
Trên hai vai ta đôi vầng nhật nguyệt.
Rọi suốt trăm năm một cõi đi về.

Một Cõi Đi Về – Trịnh Công Sơn

Đến nước này bạn phải tiếp tục đi tìm 1 hệ điều hành Linux nào đó có bật chức năng CONFIG_IKCONFIG trong Linux kernel.

Hoặc bạn phải tự biên dịch lại Linux kernel để chạy được extract-ikconfig.

Giải mã 100% code extract-ikconfig