Saya baru mengenal kernel dan embedded Linux. Saya baru saja membeli Raspberry Pi dan mem-boot-nya menggunakan Raspbian. Saya terpesona oleh Pi, untuk mempelajari lebih lanjut tentang Tertanam Saya telah memutuskan untuk membuat sistem otomasi rumah. Saya ingin menggunakan kernel saya sendiri, dan stack. yaitu saya tidak ingin menggunakan OS.
Untuk itu saya mengunduh Kernel, target_fs, firmware, dan rantai alat dari github resmi. Saya telah mengkompilasi kernel menggunakan rantai-alat.
Sekarang saya tidak tahu bagaimana cara memasukkan ini ke kartu sd baru (diformat untuk awal yang baru). Apa semua hal yang harus saya perhatikan sebelum mem-boot stack saya? Karena saya belum meletakkan ssh atau telnet server / Client, bagaimana saya bisa tahu boot berhasil. Di mana saya bisa mendapatkan daemon ssh / telnet untuk pi? Tujuan saya adalah hanya mem-boot kernel (atau minimum) di Raspberry Pi.
Jawaban:
Kernel mengharapkan dua hal: sistem file root, dan
init
daemon yang berada di dalamnya. Init yang disertakan dengan raspbian adalah sistem gaya sysV . Anda tidak terikat dengan itu - sistem init lain yang biasa digunakan dengan linux (ingat: kernel adalah linux ) adalahsystemd
danupstart
- tetapi Anda memang membutuhkan semacam sistem init.Anda juga dapat memasukkan initramfs dan memasangnya
init
di kernel , sehingga Anda bisa lolos tanpa sistem file root, tetapi hal itu sepertinya tidak ada gunanya dalam kasus ini.init
adalah satu-satunya aplikasi userland yang dimulai oleh kernel. Biasanya, ini akan memulai proses yang membuka ttys dengan login, dan kemudian layanan lain yang dapat memulai manajer tampilan, sshd, dll. Anda mungkin tidak memerlukan login, tetapi Anda mungkin menginginkan tty; Anda juga bisa langsung memulai sshd sebagai gantinya.Dapatkan dari tempat yang sama dengan raspbian, sumber hulu. Tidak satu pun dari hal ini ditulis khusus untuk pi. Atau setidaknya, sangat sedikit. Ini telah digunakan pada berbagai macam sistem yang berbeda.
Jika Anda menginginkan satu pra-kompilasi untuk pi ... yah, itu raspbian, dll. 1
Anda harus menggunakan bootloader khusus pi yang ada di
/boot
partisi gambar raspbian.1. Sejujurnya secara brutal, saya pikir Anda sedang melakukan pencarian besar-besaran quixotic yang, berdasarkan pengetahuan yang tersirat oleh pertanyaan Anda, Anda hampir tidak memiliki harapan untuk mencapai tahun ini kecuali Anda berhenti dari pekerjaan Anda dan mengabdikan diri Anda untuk belajar penuh waktu, dan bahkan saat itu peluang kegagalan Anda sangat tinggi dan Anda akan membutuhkan waktu berbulan - bulan untuk mencapai titik di mana Anda memiliki peluang untuk berhasil. Itu tidak sederhana. Ini tidak mudah. Yang mengatakan, bahkan jika Anda gagal, Anda mungkin akan belajar beberapa hal yang bermanfaat di sepanjang jalan. Namun, waktu mungkin lebih baik dihabiskan belajar untuk memahami distribusi yang ada (seperti raspbian) dan bagaimana menggunakannya untuk membuat sistem otomasi rumah Anda.
sumber
Untuk memulai, saya pikir Anda memiliki konsep yang salah menggunakan komputer tertanam (terutama di tingkat Raspberry Pi). Jika Anda benar-benar ingin membangun OS khusus, saya sarankan Anda mulai di Linux dari Scratch, LFS, http://www.linuxfromscratch.org/ tetapi jika Anda ingin memahami komputasi tertanam, mulailah dengan Googling "embedded system", Wikipedia, atau Embedded Linux Wiki http://elinux.org/Main_Page .
sumber
Saya memiliki masalah yang sama. Saya membuat koleksi skrip shell, untuk tujuan itu.
http://www.dettus.net/detLFS
sumber