Monolinux は、ARMv7 528 MHz CPU 上で 0.37 秒で起動する単一ファイルのディストリビューションです。

Erik Moqvist、プラットフォーム著者 ライオン とツール カンツール、新しいディストリビューションを開発中です モノリナックス、C 言語で書かれた特定のアプリケーションをスタンドアロンで実行するための組み込み Linux システムの作成に重点を置いています。 このディストリビューションは、ソフトウェアが静的にリンクされた XNUMX つの実行可能ファイルの形式でパッケージ化されているという事実で注目に値します。このファイルには、アプリケーションが動作するために必要なすべてのコンポーネントが含まれています (本質的に、ディストリビューションは、Linux カーネルと、静的にリンクされた RAM ディスクで構成されています)アセンブルされた init プロセス (アプリケーションと必要なライブラリを含む) 。 コード によって配布 MITライセンスの下で。

この環境は、ファイル システム アクセス、ネットワーク スタック、デバイス ドライバーなど、Linux カーネルのすべてのサブシステムとシステム コールを提供します。 次のようなライブラリ: ml (シェルを備えた Monolinux C ライブラリ、DHCP および NTP クライアント、デバイスマッパーなど)、 非同期 (非同期フレームワーク)、 ビットストリーム, curl (HTTP、FTP、...)、 道具を取り除く (デルタパッチ)、 熱収縮 (圧縮アルゴリズム)、 人に優しい (補助ツール)、 mbedTLS, xz и ZLIB。 高速な開発サイクルがサポートされているため、コードを変更した後、数秒以内に新しいバージョンの動作を評価できます。

ボード用に用意された Monolinux バリアント ラズベリーパイ3 и ジフィー。 アセンブリの最終的なサイズは約 800 KB です。 支払う ジフィー CPU ARMv6-A (7 MHz)、528 GB DDR1 RAM、3 GB eMMC を備えた SoC i.MX4UL を搭載。 Jiffy ボードの起動時間は、電源投入から Ext0.37 ファイル システムの準備が完了するまでわずか 4 秒です。 この時間のうち、SoC のハードウェア初期化に 1 ミリ秒、ROM コードの実行に 184 ミリ秒、ブートローダーの動作に 86 ミリ秒、Linux カーネルの起動に 62 ミリ秒、Ext40 のアクティブ化に 4 ミリ秒が費やされます。 再起動時間は 0.26 秒です。 ネットワーク スタックを使用する場合、イーサネット チャネルのネゴシエーションとネットワーク パラメータの取得に遅延が生じるため、システムは 2.2 秒でネットワーク インタラクションの準備が整います。

システムは、追加の機能を備えた最小限の構成で Linux カーネル 4.14.78 を使用します。 パッチこれにより、MMC ドライバーでの不必要な遅延が排除され (MMC はボード ファームウェアによって接続され、ドライバーの起動時にすでにアクティブ化されています)、MMC ドライバーと FEC (イーサネット) ドライバーの初期化が並列モードで開始されます。

出所: オープンネット.ru

コメントを追加します