Pertanyaan Memungkinkan untuk mem-boot kernel Linux tanpa initrd?


Apakah mungkin untuk mem-boot kernel Linux (katakan 2.6.35) tanpa initrd hari ini? Saya sepertinya ingat bahwa ini mungkin sebelumnya (awal 2.6.x dan 2.4). Maksud saya, dalam teori, jika kernel memiliki semua perangkat keras yang mendukung built-in (tidak ada modul), tidak perlu ruang pengguna awal, bukan?


4
2017-10-15 23:19


asal


Anda bisa, setidaknya pada tahun 2007 dan masuk 2008. Saya akan mengatakan demikian, selama Anda memiliki semua sistem berkas dan driver perangkat keras yang diperlukan. - new123456
Jika saya ingat dengan benar, saya mem-boot Gentoo dengan baik menggunakan kernel stabil terbaru tanpa modul atau initrd beberapa bulan yang lalu, jadi seharusnya bisa berfungsi sekarang juga. - AndrejaKo
@AndrejaKo: Saya mencoba tetapi kernel tidak pernah dapat menemukan / dev / sda1 meskipun saya mengkompilasi dalam dukungan SATA. Jika tidak ada initrd (mdev atau udev sebagai hasilnya), siapa yang bertanggung jawab untuk membuat perangkat tersebut? - lang2
@ lang2 Apakah Anda juga mengkompilasi driver sistem berkas? Itulah yang biasa saya dapatkan ketika saya melupakannya. - AndrejaKo


Jawaban:


Saya tidak menggunakan initrd. Semua yang perlu terjadi adalah Anda memiliki semua driver yang diperlukan untuk mem-boot sistem Anda dikompilasi ke dalam kernel daripada sebagai modul.

Jika Anda menggunakan gentoo, kemudian membangun kernel dan driver Anda adalah bagian dari proses instalasi, itu menjadi sifat kedua jika Anda akan menambahkan perangkat keras yang bergantung pada boot ke sistem Anda yang pertama kali Anda tambahkan driver ke kernel. Ini juga menjadi sifat kedua untuk menonaktifkan apa pun yang Anda tidak perlu - karena tidak ada gunanya menyusun sekelompok driver bahkan sebagai modul jika Anda tidak akan menggunakannya.

Proses ini secara konseptual lebih sulit pada distro seperti ubuntu, di mana kernel dikelola sebagai paket dan memiliki semua yang termodulasi (itu harus, untuk bekerja dengan sukses pada banyak sistem yang berbeda di luar kotak). Seringkali tidak perlu repot.


9
2017-10-16 02:07



Terima kasih. Saya masih ingin memahami dalam hal ini siapa yang membuat file perangkat / dev / sda. - lang2
Kernel akan, asalkan memiliki driver yang benar untuk jenis hard disk dan model. Ini harus menjadi kernel karena tidak ada yang lain - begitu kernel telah dimuat, hal pertama yang perlu dilakukan adalah mengakses inittab (tergantung pada distro) dari / dev / sda1 (jika itu adalah partisi root) - Paul