Ingin memperbaiki pertanyaan ini? Perbarui pertanyaan agar fokus pada satu masalah saja dengan mengedit postingan ini.
Ditutup 4 tahun yang lalu.
Perbaiki pertanyaan ini
Saya tertarik dengan Linux dan telah menggalinya untuk sementara waktu. Saya baru saja belajar mengkompilasi kernel Linux dari sumber dan mem-bootnya dengan Grub yang memberi Anda cangkang kernel.
Sekarang segera setelah kernel dimuat ke dalam memori, ia mencari init
untuk memuatnya. Agenda saya adalah membuka shell (yang dapat digunakan oleh pengguna biasa – seperti bash
).
Jadi, Bagaimana saya bisa membawanya?
Apakah saya perlu mengonfigurasi init untuk memuat bash shell atau adakah yang bisa saya lakukan?
Saya sedang membangun distro saya sendiri dan saya hanya membutuhkan distro untuk memiliki shell (bash) dan tidak ada yang lain.
Jawaban yang Diterima:
Hmm. Ini seharusnya tidak rumit untuk dicapai, tetapi juga sangat rumit
Anda cukup melakukan apa yang disarankan Alexander (init=/bin/bash
), dan Anda akan melakukannya dengan baik.
Proses init adalah yang dipanggil kernel, dan memulai semua dari tanah pengguna Anda. Terminal masuk disertakan. Jika init Anda baru saja memunculkan terminal bash itu, Anda baik-baik saja. Tetapi jika terminal itu mogok, atau keluar, init seharusnya dibersihkan. Jika beberapa proses yang Anda luncurkan dari terminal mati, Anda perlu membersihkannya. Jika mereka mati, maka mereka anak-anak membutuhkan proses induk baru, itu akan menjadi init Anda.
Saya sangat merekomendasikan mendedikasikan 10 menit untuk membaca ini, ini adalah gambaran umum yang sangat ramah tentang apa init
melakukan:
http://tilde.town/~elly/userland.txt
Kemudian Anda akan lebih memahami apa yang diperlukan untuk menjalankan init Anda sendiri.
Bagian yang relevan dari tautan itu mengatakan:
Hanya ada satu hal yang
perlu kita lakukan:menyediakan biner awal untuk diluncurkan di salah satu jalur berikut:/sbin/init, /etc/init, /bin/init, atau /bin/sh. Proses ini (init) dijalankan sebagai pid 1.Proses init perlu melakukan dua hal:
Jangan pernah keluar (jika init keluar, kernel akan panik)
Menuai proses zombie
Teks selanjutnya mengimplementasikan init sederhana.