OS hobi untuk membantu saya belajar tentang hal -hal kernel, untuk akhirnya masuk ke pengembangan kernel Linux. Saat ini mendukung:
Saya bertujuan untuk membuat kode dapat dibaca dan terorganisir dengan baik. Sebuah blog mengikuti pengembangan proyek ini, di sini https://jmnl.xyz/, dan wiki memberikan informasi lebih lanjut tentang proyek dan internalnya.
Instal paket berikut:
xorriso untuk Debian/Ubuntu; libisoburn di Archlinuxgrubmtoolsimagemagickqemu (disarankan)bochs (opsional)clang +, misalnya base-devel di Archlinux (opsional)Berlari
make toolchain
Untuk membangun kompiler silang yang diperlukan untuk mengkompilasi snowflakeo. Perintah ini akan mengunduh dan menjalankan skrip build untuk gcc dan binutils dari server GNU FTP, dan menginstal kompiler silang di toolchain/compiler .
Alih -alih membangun toolchain Anda sendiri, Anda dapat mengkompilasi Snowflakeos dengan clang sistem Anda: Cukup buka komentar kelompok garis berikut di Makefile utama:
# CC=clang
# LD=ld
# AR=ar
# AS=as
# CFLAGS+=-target i386-pc-none-eabi -m32
# CFLAGS+=-mno-mmx -mno-sse -mno-sse2 Jika distro Anda memberi Anda kompiler silang, Anda mungkin ingin menghemat waktu dan menggunakannya. Untuk melakukannya, Anda harus mengedit variabel -variabel berikut di Makefile utama sehingga mereka cocok dengan yang dapat dieksekusi dari kompiler salib Anda:
AR=$(HOST)-ar
AS=$(HOST)-as
LD=$(HOST)-ld
CC=$(HOST)-gcc --sysroot=$(SYSROOT) -isystem=/$(INCLUDEDIR)
Anda dapat mengedit HOST , atau menggunakan kode nama yang dapat dieksekusi secara langsung.
Jalankan baik
make qemu # or
make bochs
Untuk menguji Snowflakeos dalam VM. Lihat siklus Edit/Debug untuk lebih banyak opsi tentang cara mengkompilasi dan menjalankan Snowflakeos.
Menguji proyek ini pada perangkat keras nyata adalah mungkin. Anda dapat menyalin SnowflakeOS.iso ke drive USB menggunakan dd , seperti yang Anda lakukan saat membuat USB langsung dari OS lain, dan boot langsung.
Perhatikan bahwa ini jarang diuji, siapa yang tahu apa yang akan dilakukan :) Saya ingin sekali mendengarnya jika Anda mencoba ini, di perangkat keras mana, dll ...
Kontribusi sangat disambut, dalam bentuk apa pun! Konsultasikan dengan CONTRIBUTING.md dan wiki proyek ini untuk panduan.