Sistem operasi all-inclusive 64-bit, dari bootloader ke Userspace.
Lensoros bermigrasi dari GitHub, mendukung Foss Codeberg.
Lensoros di Codeberg
Mesin virtual gratis dan kompatibel:
Jika Anda hanya tertarik untuk menyodok lensoros, dan tidak mengedit kode, saya merekomendasikan rilis pra-dibangun dari halaman rilis. Ini akan mencakup semua sumber daya dan instruksi yang diperlukan tentang cara menjalankan lensoro. Perlu diingat bahwa ini akan kehilangan banyak fitur untuk memastikan kompatibilitas maksimum di seluruh sistem. Dengan membangun dari sumber, Anda dapat membangun untuk sistem yang tepat dan mendapatkan setiap fitur yang mungkin diaktifkan.
Catatan: Tidak ada otomatisasi untuk apa pun kecuali QEMU untuk saat ini. Namun, ada instruksi tentang cara mengatur mesin virtual di virtualbox dan vmware workstation player.
Ketika sistem build CMake dihasilkan, ia mencari QEMU pada sistem Anda; Jika menemukannya, itu akan menambahkan target berikut ke proyek. Memohon mereka untuk meluncurkan QEMU dari media boot Lensoros yang sesuai, setelah membangunnya jika tidak up to date.
Target:
run_qemu - langsung dari direktori yang meniru lensoros.imgrunimg_qemu - lensoros.imgruniso_qemu - lensoros.isorunhda_qemu - lensoros.bin (paling umum)Untuk target yang saat ini tidak mendukung partisi GPT (yaitu ISO, IMG, dan langsung dari direktori), tidak ada ruang pengguna yang tersedia, sungguh . Maksud saya, itu mungkin, tetapi Anda harus memodifikasi hal -hal untuk menempatkan proses dan perpustakaan ruang pengguna di partisi boot alih -alih di partisi data Userspace, dan kemudian juga memodifikasi kernel untuk memuatnya dari sana.
Dengan asumsi sistem build CMake dihasilkan di bld/ subdirektori, memohon seperti:
cmake --build bld --target < name of target > New untuk membuat mesin virtual baru (VM).Other dan versi Other/Unknown (64-bit) .Do not add a virtual hard disk .Create untuk membuat mesin virtual baru.Settings .System dalam daftar di sebelah kiri.ICH9 .Enable EFI (special OSes only) .Storage dalam daftar di sebelah kiri.IDE ), dan pilih Remove Controller .Storage Devices berlabel area, dan pilih AHCI (SATA) .Optical Drive atau Hard Disk tergantung pada apakah Anda ingin boot dari .iso atau .bin , masing -masing.Add jendela pemilih media virtual baru yang muncul.Optical Drive atau Hard Disk dipilih, pilih LensorOS.iso atau LensorOS.bin .Network dalam daftar di sebelah kiri.Serial Ports di dalam daftar di sebelah kiri.Enable Serial Port diperiksa, COM1 dipilih, IRQ adalah 4 , dan I/O Port adalah 0x3F8 . Home di daftar di sisi kiri. Klik Create a New Virtual Machine di sebelah kanan.I will install the operating system later. pilihan.Other , dan versi Other 64-bit .Customize Hardware...New CD/DVD di sebelah kiri, lalu klik Advanced... di sebelah kanan.SATA , lalu klik OK .Use ISO image file , lalu klik Browse...LensorOS.iso (terletak di bin/ ).Remove di dekat pusat bawah.Close di kanan bawah untuk menutup jendela Konfigurasi Perangkat Keras.Finish ..vmx di editor teks.firmware="efi" . Anda harus memilih UEFI Shell setelah vmware workstation sepatu bot ke lensoros (bahkan jika ia mengatakan sesuatu seperti Unsupported ).
Ada beberapa langkah dalam proses pembangunan Lensoros, yang diuraikan di sini.
Catatan: Semua blok perintah shell yang diberikan diharapkan dimulai dengan direktori kerja di akar repositori.
Unduh dan instal dependensi selebar proyek berikut jika Anda belum memilikinya, atau jika versi yang Anda miliki tidak mutakhir.
sudo apt install build-essential makeSelanjutnya, klon kode sumber dari repositori. Jika Anda ingin mengedit kode dan memberikan kontribusi, pastikan untuk membayar terlebih dahulu dan mengkloning dari repositori itu.
git clone https://codeberg.org/LensPlaysGames/LensorOS.git Ini akan membuat subdirektori berjudul LensorOS dengan isi repositori ini di direktori kerja saat ini.
Catatan: Bagian ini akan berubah , dan informasi apa pun di sini mungkin menjadi salah atau ketinggalan zaman setiap saat. Ini karena berada di tengah-tengah migrasi bootloader ke bootloader Radii yang dibuat sendiri.
Bootloader adalah aplikasi EFI; Khususnya OS Loader yang ditulis untuk spesifikasi UEFI. (Saat ini v2.9). Spesifikasi itu menguraikan penggunaan PE32+ yang dapat dieksekusi dengan subsistem tertentu. Seperti yang Anda ketahui, format PE32+ juga digunakan oleh Windows sebagai format yang dapat dieksekusi. Ini berarti bahwa kompiler yang menghasilkan Windows Executable akan menghasilkan format yang tepat untuk dieksekusi untuk aplikasi EFI, mengingat modifikasi subsistem. Namun, dua puluh tahun yang lalu, GNU memutuskan untuk menulis skrip linker relokasi khusus yang membuat PE32+ executable dari Executable elf. Ini berarti bahwa kompiler yang menghasilkan executables ELF digunakan, maka executable diubah menjadi PE32+ yang dapat dieksekusi dengan subsistem yang tepat untuk aplikasi EFI. Untungnya, semua ini ditangani oleh sistem build.
Jika Anda sudah memiliki sistem build, Anda dapat menggunakan yang berikut untuk memperbarui bootloader (target hanya ada di UNIX ):
cmake --build bld --target bootloaderSaat memulai segar, Anda dapat menjalankan sistem Bootloader Build secara manual.
Bangun dependensi untuk bootloader:
cd gnu-efi
make Itu hanya harus dilakukan sekali, untuk menghasilkan libgnuefi.a .
Dari sini, executable bootloader dapat dibangun menggunakan bootloader membuat target:
cd gnu-efi
make bootloaderLihat readme toolchain
Setelah toolchain dapat digunakan, lanjutkan di sini.
Saya sarankan untuk melihat toolchain/config.cmake dan melihat apa yang harus dilakukan, tetapi pergi dengan default juga.
Pertama, hasilkan sistem build menggunakan CMake. Jika Anda memilih sistem build yang berbeda, perlu diingat tidak semua sistem build menghormati permintaan kami untuk menggunakan alat kustom. Saya merekomendasikan Ninja, karena dapat mempercepat waktu pembangunan. Tip lain untuk mempercepat waktu pembangunan; Instal ccache . Skrip CMake dalam proyek ini mendeteksi dan menggunakannya secara otomatis.
cmake -G Ninja -B bldHarap diperhatikan bahwa ada pesan penting dalam output dari perintah di atas yang mungkin merinci target kritis belum dibuat karena program yang tidak ditemukan di sistem.
Untuk membangun libc, program ruang pengguna, dan akhirnya kernel yang dapat dieksekusi, memohon sistem build yang dihasilkan oleh cmake:
cmake --build bldCMake akan membuat target tertentu jika dependensi yang tepat terdeteksi pada sistem.
Untuk melihat daftar semua target yang tersedia, gunakan perintah berikut:
cmake --build bld --target helpTarget yang paling sering digunakan lensa:
runhda_qemuimage_gptimage_vdiuserspacekernelBerikut adalah daftar target build saat ini yang berkaitan dengan pembuatan media boot, serta ketergantungan mereka yang terdaftar di bawah masing -masing.
image_raw -Gabungkan executable dan sumber daya yang dibangun untuk menghasilkan media boot FAT32 yang kompatibel dengan UEFI.gnu-efi/x86_64/bootloader/main.efi .Kernel membangun target (bergantung pada boot/LensorOS/kernel.elf ).sudo apt install mtoolsimage_gpt -Buat gambar hard drive yang dapat di-boot dari GPT dari FAT32 Boot Media.image_rawscripts .image_iso -Buat ISO-9660 "El-Torito" CD-ROM Bootable Image dari FAT32 Boot Media.image_rawsudo apt install xorrisoimage_vdi -Konversi gambar disk mentah GPT-Partisi menjadi format gambar disk virtual ( .vdi ).image_gptSebagai contoh, gambar boot yang kompatibel dengan UEFI FAT32 dapat dihasilkan menggunakan perintah berikut:
cmake --build bld --target image_rawDibutuhkan hanya satu perintah untuk membangun kernel Lensoros, menghasilkan media boot baru, dan kemudian meluncurkan mesin virtual QEMU ke Lensoros.
cmake --build bld --target runhda_qemuPekerjaan di Lensoros dimulai pada 9 Januari 2022.
scripts/sysroot.sh ).