Kernel stabil 3 * biasa sekitar 70 mb sekarang. Tetapi ada distribusi linux kecil 30-10 mb dengan perangkat lunak dan hal-hal lain kehabisan kotak.
Bagaimana kernel linux bisa sangat kecil di distro ini? Bisakah hanya melepas modul dan driver yang tidak dibutuhkan dan mengurangi ukuran secara dramatis? Apa lagi yang dilakukan untuk mengurangi ukuran kernel?
Jawaban:
Iya. Jika Anda menghapusnya (mengkompilasi / membuat modul hanya hal-hal yang Anda butuhkan), kompres kernel (optimalkan untuk ukuran) ... itu akan menghasilkan kernel yang sangat kecil. Anda dapat membuat yang lebih kecil, 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 WHOLE (yang tidak perlu digunakan). Bahkan desktop yang berisi (sebagian besar waktu, sebagai modul) BANYAK hal yang tidak dibutuhkan. Tetapi para pemula berharap bahwa setiap jenis perangkat keras yang mereka pasang hanya akan berfungsi.
(Perhatikan bahwa, modul tidak akan dimuat sebelum 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, userland.)
[X]
- Ini akan dikompilasi ke dalam kernel DAN akan hadir - selalu.Distro dengan kernel kecil:
sumber
Distribusi Linux awal seperti Tom's Root-Boot , MuLinux , Diet-router , (sekarang sudah tidak aktif ) LOAF dan banyak lainnya sekarang berangkat, semua dilengkapi sistem Linux yang berfungsi pada satu atau dua disket 1,44 MB.
Kernel Linux telah berkembang tetapi jangan lupa itu modular, modul kernel dimuat sesuai kebutuhan. Dengan demikian masih dimungkinkan untuk menghasilkan distribusi Linux dengan tapak yang sangat kecil.
Lihat: Panduan Penyetelan Ukuran Kernel - eLinux.org
Jika Anda membaca Linux_tiny.pdf Anda akan melihat ini
sumber
Konfigurasi kernel default dikonfigurasi untuk mendukung perangkat keras sebanyak mungkin. Kernel non-stripped dengan konfigurasi default menghasilkan ukuran 1897996 kB (termasuk modul kernel +). Ketika melepas banyak driver dan opsi yang tidak perlu (mengapa saya membutuhkan modul HP jika saya memiliki notebook Clevo), itu menghasilkan ukuran 892892 kB yang merupakan pengurangan ukuran 53% dibandingkan dengan kernel stock.
Saat memasang modul kernel, tambahkan
INSTALL_MOD_STRIP=1
opsi. Ini akan menghapus semua simbol debug dan mengurangi ukuran sebesar 92% untuk saya (dari 892892 kB menjadi 69356 kB). Catatan ini hanya akan mempengaruhi modul yang akan diinstal dan bukan kernel (vmlinuz) itu sendiri:Dari Dokumentasi / kbuild / kbuild.txt :
sumber
Kebanyakan distro besar mengkonfigurasi kernel mereka dengan dukungan perangkat keras maksimum sehingga akan bekerja di luar kotak dengan sebagian besar komputer dan apa pun yang Anda tancapkan nanti. Mereka juga menggunakan sistem initrd yang tidak diperlukan dalam banyak kasus. Ada juga opsi dalam konfigurasi kernel yang membuat proses build dioptimalkan untuk ukuran, dan metode kompresi yang lebih baik (meskipun lebih lambat) dapat dipilih juga. Terakhir, jika Anda melihat ukuran kode sumber kernel, perlu diingat bahwa itu juga mencakup dukungan untuk beberapa arsitektur di luar x86 / amd64, protokol jaringan, sistem file, dan fitur lain yang mungkin tidak akan pernah Anda gunakan dan yang dapat dinonaktifkan
sumber
Ini cukup sederhana, sistem minimal hanya perlu bootloader + kernel meskipun hampir tidak berguna. Sebagian besar perintah yang digunakan setiap hari, adalah biner opsional untuk sistem, seperti sh, ls, dll. Jika Anda tertarik dengan internal, Linux From Scratch! adalah titik awal yang baik.
sumber