GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana kernel linux bisa sangat kecil?

Ya. Jika Anda menghapusnya (kompilasi/buat modul hanya hal-hal yang Anda butuhkan), kompres kernel (optimalkan ukuran) ... itu akan menghasilkan kernel sekecil itu. Anda dapat membuat yang lebih kecil lagi, untuk sistem yang ditargetkan. Seperti saya tahu PC saya, saya tahu barang-barang saya. Jadi saya hanya akan mengkompilasi apa yang saya butuhkan. Seperti driver SATA saya sendiri, driver untuk USB, dll. Tidak ada yang lain. Tidak ada webcam, tidak ada drive IDE lama, tidak ada.

Juga:Yang lebih besar yang Anda temui adalah kernel SELURUH (yang tidak perlu digunakan). Bahkan yang desktop berisi (seringkali, sebagai modul) BANYAK barang yang tidak dibutuhkan. Tetapi para pemula berharap bahwa setiap jenis perangkat keras yang mereka pasang akan berfungsi dengan baik.

(Perhatikan bahwa, modul tidak akan dimuat sampai dibutuhkan. Ada 3 status:
[ ] - Tidak akan dikompilasi, tidak akan menjadi bagian dari kernel Anda.
[M] - Akan dikompilasi sebagai modul.
(Anda dapat memodifikasinya, atau sistem Anda akan memuatnya secara otomatis saat diperlukan.
Tergantung pada sistem, negara pengguna.)
[X] - Itu akan dikompilasi ke dalam kernel DAN akan selalu ada - selalu.

Distro dengan kernel kecil:

  • Tiny Core Linux, Micro Core Linux, Desktop GUI Linux 12MB, Hidup, Hemat, Dapat Diperpanjang
  • Beranda Komunitas Puppy Linux - Memulai

Distribusi Linux awal seperti Tom's Root-Boot, MuLinux, Diet-router, LOAF (yang sekarang sudah tidak berfungsi) dan banyak lagi lainnya kini sudah tidak ada lagi, semuanya sesuai dengan sistem Linux yang berfungsi pada satu atau dua disket 1,44 MB.

Kernel Linux telah berkembang tetapi bersifat modular:modul kernel dimuat sesuai kebutuhan. Dengan demikian masih memungkinkan untuk menghasilkan distribusi Linux dengan footprint yang sangat kecil.

Lihat:Panduan Penyesuaian Ukuran Kernel - eLinux.org

Jika Anda membaca Linux_tiny.pdf, Anda akan melihat ini

  • kernel 0.99pl15 bersejarah:Slackware 1.1.2, 1994:301K
  • Fedora Core 2:1,2 jt
  • SuSE 9.1:1,5 juta
  • Konfigurasi pengujian 2.6.5-tiny1:IDE, ext2, TCP, NIC:363K

Konfigurasi kernel default dikonfigurasi untuk mendukung perangkat keras sebanyak mungkin. Kernel yang tidak dilucuti dengan konfigurasi default menghasilkan ukuran 1897996 kB (termasuk modul + kernel). Saat menghapus banyak driver dan opsi yang tidak perlu (mengapa saya memerlukan modul HP jika saya memiliki notebook Clevo), ini menghasilkan ukuran 892892 kB yang merupakan pengurangan ukuran sebesar 53% dibandingkan dengan kernel bawaan.

Saat memasang modul kernel, tambahkan INSTALL_MOD_STRIP=1 pilihan. Ini akan menghapus semua simbol debug dan mengurangi ukurannya sebesar 92% untuk saya (dari 892892 kB menjadi 69356 kB). Perhatikan ini hanya akan memengaruhi modul yang akan diinstal dan bukan kernel (vmlinuz) itu sendiri:

make INSTALL_MOD_STRIP=1 modules_install

Dari Dokumentasi/kbuild/kbuild.txt:

INSTALL_MOD_STRIP
--------------------------------------------------
INSTALL_MOD_STRIP, if defined, will cause modules to be
stripped after they are installed.  If INSTALL_MOD_STRIP is '1', then
the default option --strip-debug will be used.  Otherwise,
INSTALL_MOD_STRIP value will be used as the options to the strip command.

Linux
  1. Cara Menginstal Modul Perl Di Linux

  2. Cara memutakhirkan Kernel di Desktop Linux

  3. Cara Membuat, Mengkompilasi, Memuat Modul Kernel yang Dapat Dimuat LKM Linux

  1. Bisakah Anda Menjalankan Xcode di Linux?

  2. Bagaimana cara memuat modul kernel Linux dari kode C?

  3. Bagaimana cara membuat kode modul kernel Linux?

  1. Modul kernel Linux kita tidak bisa hidup tanpanya

  2. Linux – Bagaimana Cara Memuat Ulang Modul Kernel dengan Benar?

  3. Bagaimana saya bisa melanjutkan pekerjaan yang berhenti di Linux?