Saya mencoba membuat sistem operasi dengan kernel bawaan saya. Itu tidak berhasil dengan baik. Saya menggunakan Ubuntu dan telah mengunduh Linux 3.2.7 dari kernel.org. Saya tidak mencoba mengubah kernel di sistem Ubuntu saya. Saya ingin membuat OS saya sendiri dengan Grub, kernel Linux dan saya ingin dapat memiliki OS homebrew ini dalam tipe file (seperti iso) yang bisa saya pakai di cd dan boot di komputer lain. Pertanyaan saya adalah: apa sebenarnya yang saya butuhkan untuk membuat OS ini? Setiap komentar atau tutorial akan sangat membantu.
9
/sbin/init
(kecuali jika dikonfigurasi sebaliknya). Program ini dapat melakukan apapun yang Anda inginkan. Ada beberapa opsi umum untuk digunakan/sbin/init
, seperti pemula, sysvinit, systemd, atau hanya bash. Dari sana, program itu dalam kendali. Jika pernah keluar, kernel akan macet, sehingga harus mampu memulai program lain.Jawaban:
Inilah yang Anda cari: http://www.linuxfromscratch.org/
sumber
Satu tempat untuk memulai adalah Buildroot .
Apa itu? Ini adalah serangkaian skrip / makefile yang memungkinkan Anda untuk menghasilkan sistem linux secara harfiah dari awal. Itu menarik semua komponen yang relevan, membangun kompiler silang pada host. - Hampir semuanya.
Hal ini dirancang terutama untuk bekerja tertanam - seperti, mengandung uclibc daripada glibc dan hilang membangun langkah-langkah untuk banyak komponen, misalnya Gnome dan beberapa lingkungan desktop - Namun, jika Anda membuat live CD itu benar-benar brilian. Tidak terbatas pada CD live, tentu saja. Saya mengatakan itu - ia datang dengan embedded Qt.
Versi stabil terbaru hadir dengan grub 0.97 yang mungkin tidak memenuhi kebutuhan Anda.
Saya menyebutkan ini karena walaupun Linux From Scratch sangat bagus karena memberitahu Anda cara menyelesaikan seluruh proses, prosesnya memakan waktu lama dan membutuhkan banyak kesabaran. Buildroot dapat diadaptasi untuk memasukkan apa pun yang Anda butuhkan; sebagai pengalaman belajar, kemampuan untuk menggunakan
menuconfig
menu gaya dan mendapatkan sesuatu yang boot dan bekerja sangat bagus. Anda juga dapat melihat bagaimana semuanya dilakukan sebelum menambahkan fitur yang lebih baru.Dalam hal mengkonfigurasi kernel Anda, saya tidak bisa lebih kuat merekomendasikan mengambil konfigurasi yang ada (biasanya tersedia di
/boot
), menyalinnya ke pohon kernel.config
saat menjalankanmake oldconfig
dan melangkah melalui opsi-opsi baru. Opsi default dijamin cukup untuk bekerja dari distribusi Anda; jika Anda memulai sepenuhnya dari awal, Anda dapat membangun sesuatu yang tidak dapat digunakan.sumber
Minimum yang Anda butuhkan adalah kernel dan beberapa proses yang dapat Anda jalankan sebagai init, bersama dengan semua loader dan pustaka yang diperlukan untuk proses init. Anda mem-boot kernel dengan memerintahkannya untuk menjalankan proses init, dan kemana perginya dari sana adalah bisnis Anda.
sumber