Kernel multi-threaded yang dibangun dalam mode terlindungi untuk arsitektur x86
Kernel dikembangkan menggunakan kompiler silang GCC yang dibangun khusus dari sumber
Scorpion memiliki hampir semua komponen mendasar yang mencakup dalam kernel monolitik penuh
Scorpion adalah kernel monolitik yang digunakan untuk menunjukkan bagaimana perilaku kernel dan dapat dibangun dari bawah ke atas
Referensi konstan dan luas yang digunakan selama pengembangan Scorpion adalah: https://wiki.osdev.org/main_page
Berikut ini adalah beberapa atribut Scorpion:
0x80 untuk proses ruang pengguna dan komunikasi kernelSemua atribut kernel mungkin tidak ditangkap di sini dan dapat terus membaik dari waktu ke waktu tetapi yang di atas akan tetap sebagai sifat inti.
Ada beberapa prasyarat untuk membangun dan menguji kalajengking
Sebelum membangun kernel dan bootloader, kita perlu menyiapkan lingkungan dengan membangun kompiler silang. Perusahaan silang diperlukan karena tuan rumah Anda mungkin memiliki arsitektur yang berbeda dari target yang kami jalankan kernel.
Instal dependensi lintas kompiler dengan perintah berikut:
sudo apt install build-essential bison flex libgmp3-dev libmpc-dev libmpfr-dev texinfo libisl-dev
Unduh kode sumber untuk utils bin dan gcc ke direktori $HOME/src menggunakan tautan berikut:
Ekstrak kedua unduhan di direktori $HOME/src
Sekarang mari kita mengubah sumbernya menjadi file objek kompiler untuk target kami
Pertama beberapa vars env perlu diatur untuk mengaktifkan make to for install compiled binari di lokasi yang tepat
export PREFIX="$HOME/opt/cross"
export TARGET=i686-elf
export PATH="$PREFIX/bin:$PATH"
Jalankan perintah berikut untuk membangun binutil. Jangan lupa untuk mengganti XYZ dengan versi Anda sendiri.
cd $HOME/src
mkdir build-binutils
cd build-binutils
../binutils-x.y.z/configure --target=$TARGET --prefix="$PREFIX" --with-sysroot --disable-nls --disable-werror
make
make install
Jalankan perintah berikut untuk membangun GCC. Jangan lupa untuk mengganti XYZ dengan versi Anda sendiri.
cd $HOME/src
# The $PREFIX/bin dir _must_ be in the PATH. We did that above.
which -- $TARGET-as || echo $TARGET-as is not in the PATH
mkdir build-gcc
cd build-gcc
../gcc-x.y.z/configure --target=$TARGET --prefix="$PREFIX" --disable-nls --enable-languages=c,c++ --without-headers
make all-gcc
make all-target-libgcc
make install-gcc
make install-target-libgcc
Setelah semua langkah di atas selesai, silakan uji apakah kompiler silang Anda berhasil dibangun dan diinstal atau tidak dengan perintah berikut:
$HOME/opt/cross/bin/$TARGET-gcc --version
Sekarang setelah kompiler silang kami siap, kami siap membangun Scorpion dengan bootloader. Jalankan yang berikut pada akar struktur proyek
./build.sh
Jika build berhasil, 3 binari harus dihasilkan di direktori bin pada akar proyek
boot.binkernel.binscorpion.bin Waktunya untuk menjalankan Scorpion OS menggunakan binari yang dihasilkan output di bagian sebelumnya. Jalankan perintah berikut di terminal untuk mensimulasikan Scorpion dengan QEMU
qemu-system-i386 -hda ./bin/scorpion.bin
Atau Anda akan menemukan mesin booting ke shell berikut jika pengujian pada mesin fisik jika perangkat boot yang dapat diatur dengan benar di menu BIOS

Prompt shell harus diaktifkan dengan versi Scorpion di kiri atas. Anda sekarang dapat mulai mengetik di shell. Program sampel yang disebut blank.elf telah dibuat dan dimuat pada hard drive Scorpion agar dapat mengakses.
Muat program ke dalam memori dengan mengeksekusi yang berikut pada prompt perintah Scorpion
> blank.elf
Program ini juga dapat dimuat dengan argumen yang dapat ditangani oleh proses pengguna berikutnya sebagai berikut:
> blank.elf 55 21 tree
Output seperti ini harus dihasilkan tergantung pada apakah program dimuat dengan atau tanpa argumen:
