組み込みLinuxカーネルサブセット(ELKS)は、以前はLinux-8086として知られていたLinuxライクなオペレーティングシステムカーネルです。これはLinuxカーネルのサブセットであり、Intel 8086や32ビットLinuxでサポートされていない互換性のあるマイクロプロセッサを搭載したマシンなど、プロセッサとメモリのリソースが限られている16ビットコンピュータ向けに設計されています。[ 3 ] [ 4 ]
ELKS はフリーソフトウェアであり、GNU General Public License (GPL) の下で利用可能です。初期の16 ビット(例: 8086、8088 ) やIBM PC 互換システムなどの多くの32 ビットx86コンピュータ、およびリアルモードの後期の x86 モデルで動作します。もう 1 つの有用な分野は、シングルボード マイクロコンピュータで、「自作」プロジェクト (ハードウェアハッキング)の教育ツールとして、また組み込みコントローラ システム (例: Automation ) として使用されます。[ 5 ]
ELKSの初期バージョンは、NEC V30 CPUを搭載したPsion 3aおよび3aR SIBO(SIxteen Bit Organiser)PDAでも動作し、[ 5 ] [ 6 ]このようなプラットフォームに移植すれば、別の動作分野(ガジェットハードウェア)が提供される可能性があった。この取り組みはELKSiboと呼ばれた。[ 7 ]関心が低かったため、SIBOのサポートはバージョン0.4.0から削除された。
ELKS ネイティブプログラムはElksemu でエミュレートして実行できるため、Linux-i386 で 8086 コードを使用できます。[ 8 ] ELKS にEiffel準拠ライブラリを提供する取り組みも存在します。[ 9 ]
Linux-8086 の開発は、1995 年に Linux カーネル開発者のAlan Coxと Chad Pageによって標準 Linux のフォークとして開始されました。1996 年初頭までにプロジェクトは ELKS (Embeddable Linux Kernel Subset) と改名され、1997 年に最初の Web サイト[ 10 ]が作成されました。ELKS バージョン 0.0.63 は、同年 8 月 8 日にリリースされました。1999 年 6 月 22 日には、グラフィカル ユーザー インターフェイス( Nano-X Window System ) を実行できる最初のバージョンである ELKS リリース 0.0.77 が利用可能になりました。7 月 21 日には、SIBO アーキテクチャを備えたPsion PDA上で ELKS が起動しました。ELKS 0.0.82 は 2000 年 1 月 10 日にリリースされました。SIBOポートを含めることで、オリジナルの 8086 ベース以外のコンピュータ ハードウェアで動作する最初の公式バージョンになりました。同年 3 月 3 日、プロジェクトはSourceForgeに登録されました。[ 11 ]
2001 年 1 月 6 日、Cox は ELKS が「基本的に死んだ」と宣言した。[ 12 ]それにもかかわらず、2001 年 6 月 17 日にはリリース 0.0.84 が登場し、7 日後に Charilaos (Harry) Kalogirou が TCP/IP ネットワーク サポートを追加し、同年 11 月 17 日には ELKS は 0.0.90 に達した。2002 年 4 月 20 日、Kalogirou はディスク スワッピング機能を備えたメモリ管理を追加し、その 9 日後には最初のベータ バージョンと見なされる ELKS リリース 0.1.0 が登場した。[ 13 ]年末の 12 月 18 日には、ELKS カーネルをベースにしたディストリビューションである EDE (Elks Distribution Edition) 自体がバージョン 0.0.5 でリリースされた。[ 14 ] 2003年1月6日にELKS 0.1.2がリリースされ、2006年5月3日には0.1.3へのアップデートが行われ、開発の長い中断後の最初の公式リリースとなった。[ 13 ]
宇宙船用のリアルタイムオペレーティングシステムである FlightLinux の開発が計画されていたが、その対象プロジェクト ( UoSAT-12 ) は最終的に Quadron Corporation の qCF オペレーティングシステムを採用することに決定した。[ 15 ]
2012 年 1 月以降、ELKS は再び開発されています。CVSリポジトリは2012 年 2 月にGitに移行され、Linux-8086 メーリングリストからの多数のパッチが新しいリポジトリにコミットされました。バージョン 0.1.4 は、元共同開発者の Riley Williams を偲んで Jody Bruchon によって 2012 年 2 月 19 日にリリースされました。これには、更新されたフロッピーディスク イメージ、以前のバージョンのコンパイル バグの修正、未使用のコードの削除が含まれていました。[ 16 ] 2012 年 5 月 10 日、スタンドアロンバイナリを置き換えて共有コードを活用する試みとして、BusyELKS が Jody Bruchon によってリポジトリに追加されました(ELKSは共有ライブラリをサポートしていません)。BusyBoxのようなバイナリは、シンボリック リンクを使用してスペースを節約し、冗長なコードの塊を削除し、別々のプログラムを 1 つのより大きなバイナリに結合します。[ 17 ] 2013 年 11 月 14 日、プロジェクトの開発はGitHubに移行しました。[ 18 ]基本的なイーサネットと FAT のサポートが 2017 年に追加されました。[ 19 ]
1995年のフォーク以来、35人以上の開発者がこのプロジェクトに貢献してきました。2015年3月現在、ELKSプロジェクトの開発は再び活発化し、 2015年3月8日にはソースコードコミット数が1,000件という節目を迎えました。2018年6月現在、583件のコミットで多くのバグ修正と改善が行われ、0.2.1がリリースされました。2019年3月、プロジェクトは旧式のBCCコンパイラからより新しいGCC-IA16(GNU Compiler Collection - Intel Architecture 16)への移行を完了し、Gregory Haerrがリード開発者として指揮を執るようになってから開発活動が活発化しました。2019年と2020年の間に、ELKSは「起動可能だが不安定」な状態から、イーサネット、TCP/IP、FAT16/32、マルチユーザーシリアルなど多くの機能を備えた小型マシン向けの安定したLinuxライクなシステムへと進化しました。[ 20 ] ELKS 0.4.0が2020年11月にリリースされた時点で、コミット数は3,000を超えていました。
0.4.0 で築かれた基盤の上に、開発活動は 2021 年も継続され、引き続き Gregory Haerr がリード開発者として、5 人のアクティブな貢献者に支えられていました。チームは 2021 年 10 月から 2022 年 2 月 8 日に 0.5.0 をリリースするまでに 220 件のコミットを行いました。[ 21 ] 4 か月後の 2022 年 6 月 7 日に 0.6.0 がリリースされ、リリース頻度の新たなレベルが設定され、非常に高いレベルの活動が示されました。[ 22 ]
バージョン0.4.0はELKSにとって大きな節目となり、システムを実験段階から開発者以外のユーザーにとっても実用的なものへと引き上げ、以下の主要な機能強化が含まれていました。
バージョン 0.5.0 は、ELKS にとって重要なマイルストーンであり、多くの重要な改善、追加、および 2 つの新しいプラットフォーム (日本のPC-98と80186/80188 ) のサポートが含まれていました。強化された機能は次のとおりです。[ 24 ]
バージョン0.5.0の時点で、ELKSは完全な小型Linuxシステムであり、限られたリソースしかないビンテージPCのテスト、診断、および実行に使用できます。新しいプラットフォームの追加によって実証された移植性の向上は、次期バージョンに向けた開発活動の活発化を促進します。
2022年6月7日にリリースされたバージョン0.6.0は、通常よりもはるかに短いリリースサイクルによって示されるように、ELKSの新たなレベルを確立しました。システムの進化と改善のスピード、そして最近獲得した信頼性と使いやすさが相まって、新規ユーザーから「アップデートされたパッケージ版リリース」への需要が高まりました。
0.6.0 には、システムレベルとアプリケーションレベルの両方で多くの機能強化と最適化が含まれています。新しい追加機能は次のとおりです。[ 22 ]
0.5.0と0.6.0のリリース間で、チームは200件のコミットを行い、その半数以上はグレゴリー・ヘアーによるものだった。
2023年8月3日にリリースされました。[ 26 ]
{{cite book}}: CS1 メンテナンス: その他 (リンク){{cite web}}: CS1 maint: bot: 元の URL の状態が不明です (リンク){{cite web}}: CS1 maint: bot: 元の URL の状態が不明です (リンク){{cite web}}: CS1 maint: bot: 元の URL の状態が不明です (リンク)