ブートローダーからユーザースペースまで、64ビットのオールインクルーシブオペレーティングシステム。
Lensorosは、Foss Codebergを支持して、Githubから離れて移動しています。
コードバーグのレンソロス
無料の互換性のある仮想マシン:
Lensorosの周りを突くだけで、コードを編集しないことに興味がある場合は、リリースページから事前に構築されたリリースをお勧めします。 Lensorosの実行方法に関するすべての必要なリソースと指示が含まれます。これには、システム間での最大の互換性を確保するために、多くの機能が欠落していることに注意してください。ソースから構築することにより、正確なシステム用に構築し、可能なすべての機能を有効にすることができます。
注:今のところ、QEMU以外の自動化はありません。ただし、VirtualBoxおよびVMware Workstationプレーヤーで仮想マシンをセットアップする方法については、指示があります。
CMakeビルドシステムが生成されると、システム上のQEMUを探します。それが見つかった場合、それはプロジェクトに次のターゲットを追加します。それらを呼び出して、対応するLensorosブートメディアからQEMUを起動します。
ターゲット:
run_qemu lensoros.imgを模倣するディレクトリから直接runimg_qemu -lensoros.imgruniso_qemu -lensoros.isorunhda_qemu -lensoros.bin(最も一般的)現在、GPTパーティション(IE ISO、IMG、および直接的なディレクトリからストレート)をサポートしていないターゲットの場合、実際に利用可能なユーザースペースはありません。つまり、可能ですが、ユーザースペースのデータパーティションではなく、ユーザースペースのプロセスとライブラリをブートパーティションに配置するために変更を変更し、カーネルを変更してそこからロードする必要があります。
Cmakeビルドシステムがbld/ Subdirectoryで生成されたと仮定すると、次のように呼び出します。
cmake --build bld --target < name of target > Newボタンをクリックして、新しい仮想マシン(VM)を作成します。OtherのタイプとOther/Unknown (64-bit)を選択します。Do not add a virtual hard diskください。Createボタンをクリックして、新しい仮想マシンを作成します。Settingsボタンをクリックします。Systemに移動します。ICH9に変更します。Enable EFI (special OSes only) 。Storageに移動します。IDE )を右クリックし、 Remove Controllerを選択します。Storage Devicesとラベル付けされた領域を右クリックし、 AHCI (SATA)を選択します。.isoまたは.binから起動するかどうかに応じてOptical DriveまたはHard Diskを選択します。Addします。Optical DriveまたはHard Diskが選択されたかどうかに応じて、 LensorOS.isoまたはLensorOS.binを選択します。Networkに移動します。Serial Portsに移動します。Enable Serial Portがチェックされ、 COM1が選択され、 IRQが4 、 I/O Portが0x3F8あることを確認してください。 Homeを選択します。右側にCreate a New Virtual Machineクリックします。I will install the operating system later.オプション。OtherのゲストOSと、 Other 64-bitのバージョンを選択します。Customize Hardware...New CD/DVDを選択し、右側のAdvanced...をクリックします。SATAを選択し、 OKをクリックします。Use ISO image fileを選択し、 Browse...をクリックします。LensorOS.iso Imageファイル( bin/にある)を選択します。Removeボタンを使用してハードドライブを取り外します。Closeをクリックして、ハードウェア構成ウィンドウを閉じます。Finishクリックします。.vmxで終了するファイルを開きます。firmware="efi" 。 vmwareワークステーションがレンソロスにブーツになると、 UEFI Shell選択する必要があります(たとえUnsupportedようなものと言っても)。
Lensorosビルドプロセスには、ここで概説されている複数のステップがあります。
注:指定されたシェルコマンドのすべてのブロックは、リポジトリのルートにある作業ディレクトリから開始することが期待されています。
まだ持っていない場合、またはあなたが持っているバージョンが最新でない場合、次のプロジェクト全体の依存関係をダウンロードしてインストールしてください。
sudo apt install build-essential make次に、リポジトリからソースコードをクローンします。コードを編集して貢献をしたい場合は、最初にフォークし、そのリポジトリからクローンを作成してください。
git clone https://codeberg.org/LensPlaysGames/LensorOS.gitこれにより、現在の作業ディレクトリにこのリポジトリの内容があるLensorOSというタイトルのサブディレクトリが作成されます。
注:このセクションは変更され、ここの情報はいつでも間違っているか、いつでも古くなる可能性があります。これは、ブートローダーが自己作成されたRadiiブートローダーに移動する最中にいるためです。
ブートローダーはEFIアプリケーションです。具体的には、UEFI仕様用に記述されたOSローダー。 (現在v2.9)。その仕様は、特定のサブシステムを使用したPE32+実行可能ファイルの使用の概要を示しています。ご存知かもしれませんが、PE32+形式は、Windowsが実行可能な形式として使用されます。これは、Windows実行可能ファイルを生成するコンパイラが、サブシステムの変更を考慮して、EFIアプリケーション用の適切な実行可能ファイルの形式を生成することを意味します。しかし、20年ほど前、GNUはELF実行可能ファイルからPE32+実行可能ファイルを作成するカスタムリロケーションリンカースクリプトを作成することを決定しました。これは、ELF実行可能ファイルを生成するコンパイラが使用され、その実行可能ファイルがEFIアプリケーション用の適切なサブシステムを備えたPE32+実行可能ファイルに変換されることを意味します。幸いなことに、これらはすべてビルドシステムによって処理されます。
すでにビルドシステムを持っている場合は、以下を使用してブートローダーを更新できます(ターゲットはUNIXのみに存在します)。
cmake --build bld --target bootloader新鮮な開始時に、ブートローダービルドシステムを手動で実行できます。
ブートローダーの依存関係を構築します。
cd gnu-efi
make libgnuefi.aを生成するために、それは一度だけ行う必要があります。
ここから、Bootloader実行可能ファイルは、 bootloader Make Targetを使用して構築できます。
cd gnu-efi
make bootloaderツールチェーンreadmeを参照してください
ツールチェーンが使用可能になったら、こちらを続けてください。
toolchain/config.cmakeを見て、フィドルするものが何であるかを見ることをお勧めしますが、デフォルトを使用することも同様です。
まず、Cmakeを使用してビルドシステムを生成します。別のビルドシステムを選択した場合、すべてのビルドシステムがカスタムツールチェーンを使用するという要求を尊重するわけではありません。ビルド時間をスピードアップできるため、忍者をお勧めします。ビルド時間をスピードアップするもう1つのヒント。 ccacheをインストールします。このプロジェクトのcmakeスクリプトは、自動的に検出して使用します。
cmake -G Ninja -B bld上記のコマンドの出力には、システムに表示されていないために作成されていない重要なターゲットが作成されていない可能性のある重要なメッセージがあることをお勧めします。
LIBC、ユーザースペースプログラム、そして最後にカーネル実行可能ファイルを構築するには、CMakeによって生成されたビルドシステムを呼び出します。
cmake --build bldCMAKEは、システムで適切な依存関係が検出された場合、特定のターゲットを作成します。
利用可能なすべてのターゲットのリストを表示するには、次のコマンドを使用します。
cmake --build bld --target helpレンズの最も使用されているターゲット:
runhda_qemuimage_gptimage_vdiuserspacekernelこれは、ブートメディアの生成に関連する現在のビルド目標のリストと、それぞれの下にリストされている依存関係を示します。
image_rawされた実行可能ファイルとリソースを組み合わせて、UEFI互換のFAT32ブートメディアを生成します。gnu-efi/x86_64/bootloader/main.efiのBuild Bootloader EFIアプリケーション。Kernelビルドターゲット( boot/LensorOS/kernel.elfに依存しています)。sudo apt install mtoolsimage_gpt -FAT32ブートメディアからGPTパーティションのあるブート可能なハードドライブイメージを作成します。image_rawscriptsサブディレクトリに自動ビルド +インストールスクリプトを使用します。image_iso -FAT32ブートメディアからISO-9660 "el-torito"ブート可能なCD-ROM画像を作成します。image_rawsudo apt install xorrisoimage_vdi -GPTパーティションの生ディスクイメージを仮想ディスクイメージ形式( .vdi )に変換します。image_gpt例として、FAT32フォーマットされたUEFI互換ブートイメージは、次のコマンドを使用して生成できます。
cmake --build bld --target image_rawLensorosカーネルを構築し、新しいブートメディアを生成し、QEMU仮想マシンをLensorosに起動するには、1つのコマンドだけが必要です。
cmake --build bld --target runhda_qemuLensorosの作業は、2022年1月9日に開始されました。
scripts/sysroot.sh )で初期化されます。