
もしあなたがシステムの細部にまで気を配り、マシン上で動くソフトウェアがすべて本当にフリーであるかどうかを気にする人なら、 到着 de GNU Linux-libre 6.18 きっと興味をそそられるでしょう。この有名な「アンロック」カーネルの新バージョンは、Linux 6.18をベースにしていますが、プロプライエタリなファームウェアやマイクロコードの痕跡をすべて削除する徹底的なクリーンアップが施されています。
以下では、 GNU Linux-libre 6.18のすべての新機能公式カーネルと比較してどのような変更が加えられているか、どのドライバが影響を受けるか、どのように配布されているか、どのプロジェクトがパッケージ化しているか、そしてこの開発の背景にある哲学について解説します。また、フレンドリーペンギンであるFreedoの役割、FSFとの関係、そしてこのカーネルが100%フリーなディストリビューションのベンチマークとなった理由についても解説します。
Linux 6.18と比較したGNU Linux-libre 6.18の主な新機能
新しいバージョン GNU Linux-libre 6.18-gnu カーネル部分 Linux 6.18これは、リーナス・トーバルズ氏が先日安定版と宣言したブランチと同じもので、Linuxエコシステムにおける次期リファレンスLTSカーネルとなることはほぼ確実です。つまり、パフォーマンスの微調整、新しい内部機能、ハードウェアサポートの拡張、そしてお馴染みのバグ修正など、一般的な改善点をすべて継承しているということです。
しかし、GNU/Linux-libreチームは、 スクリプトとクリーニングツール(「デブロビング」) ソース コードをスキャンして問題のある要素を探します。問題のある要素には、バイナリ ファームウェアをロードするドライバー、非フリー マイクロコードへのランタイム呼び出し、ドキュメント内の外部 BLOB への参照、さらには異なるアーキテクチャのデバイスツリー ファイル内のバイナリに関する記述などがあります。
このプロセスの結果、GNU Linux-libre 6.18では、以下の問題が特定され、無効化または削除されました。 新しいコントローラーとコードスニペット 公式カーネルツリーではバイナリBLOBに依存しているドライバです。この作業は、新しく追加されたドライバだけでなく、このバージョンでファームウェアの読み込みメカニズムが変更された既存のドライバにも影響します。
同時に、バージョン6.18-gnuには、 Linux 6.18の最適化これらの改善には、全体的なパフォーマンスの向上、Apple Silicon(M2 Pro/Max/Ultra)への継続的な取り組み、Intel Wildcat Lakeプラットフォームへの継続的なサポート、新しい「Sheaves」コードの統合、XFSのfsck onlineのデフォルトアクティベーション、タッチパッドの触覚サポートの強化など、その他多数が含まれます。もちろん、これらすべては、プロジェクトの中核原則である「プロプライエタリソフトウェアゼロ」を維持しながら実現されています。
プロジェクトの核心:ブロブフリーカーネル
GNU Linux-libreの存在理由は、 Linux互換でありながら完全にフリーなカーネルFSFのフリーソフトウェア配布ガイドライン(FSDG)に準拠したシステムの一部として設計されています。これには、変更可能なソースコードとして配布されていないコンポーネント、または制限的なライセンスの対象となるコンポーネントの削除が含まれます。
実際には、これは削除または無効化することを意味します ドライバー、ファームウェア、データとしてパッケージ化されたBLOB、外部バイナリを必要とするスクリプト プロプライエタリファームウェアへのランタイム呼び出しも削除しました。また、非フリーコンポーネントのダウンロードを誘う「フック」として機能するコメントやドキュメントも削除し、プロプライエタリソフトウェアへの「おびき寄せ」を防止しました。
このプロジェクトの焦点は 最小限の変更問題のある部分は削除または無効化されますが、それらを書き換えたり、同じ機能を維持した無料の代替品を提供したりすることはありません。たとえ無料の代替品がない場合、特定のハードウェアが動作しなくなる場合でも、システムの自由を保証することが目標です。
この継続的な取り組みはgNewSenseディストリビューション内で始まり、ジェフ・モーが先導して名付けられ、2008年にFSFラテンアメリカに引き継がれ、2012年からは、 これは公式にGNUプロジェクトの一部である。現在では、FSF によって認定された数多くの 100% フリーのオペレーティング システムの基盤となっています。
GNU Linux-libre 6.18 でクリーンアップされた新しいドライバー
GNU Linux-libre 6.18の作業で最も目立つ部分の一つは、 Linuxカーネル6.18に新しく組み込まれたドライバー ファームウェアBLOBのロードを試みるものです。そのまま放置すると、非フリーバイナリが必要となるため、システムの純粋性が損なわれる可能性があります。
このバージョンでは、チームは いくつかの新しいドライバーを特定し、「制限」しました 公式ツリーでは、正しく機能するために独自のファームウェアに依存しています。
- FourSemiコントローラーFourSemi デジタル オーディオ アンプ ドライバーと関連ライブラリ (FS2104/5S モデルを含む) がクリーンアップされました。標準の Linux では、特定のモードと機能を管理するために blob をロードしようとします。
- ドライバー TI TAS2783また、このブランチに新しく追加された Texas Instruments TAS2783 スピーカー アンプのドライバーには、非フリー バイナリを要求しないように無効にされたファームウェア読み込みロジックが含まれています。
- Qualcomm GENI シリアルエンジンこのブランドのプラットフォーム上の通信インターフェースの管理を担当する Qualcomm の GENI シリーズ エンジンも、介入がなければ blob をロードしようとしていたため、deblobbing プロセスの対象となりました。
これらすべての場合において、結果は ドライバーは独自のファームウェアを主張しなくなったドライバーがそのマイクロコードにどの程度依存するかによって、デバイスの実際的な機能は非常に制限されるか、GNU Linux-libre では直接使用できなくなる可能性がありますが、これはユーザーを独自のコンポーネントに押し込まないという前提を尊重しています。
既存のドライバーの調整: Nova-Core、Intel Xe など
GNU Linux-libre 6.18では、新たに追加されたドライバに加えて、 以前のバージョンに既に存在するドライバー Linux 6.18ではファームウェア管理メカニズムが変更されました。これらの調整は、メインツリーの進化に伴いカーネルをブロブフリーに保つために必要です。
注目すべき事例としては、 我々は気づく:
- NVIDIA の Rust ドライバー、Nova-CoreRustで書かれた新しいオープンソースドライバNova-Coreは、NVIDIA GPUシステムプロセッサ(GSP)に完全に依存しています。独自のGSPファームウェアがなければ、ドライバは動作しません。GNU/Linux-libreはスクリプトを改造してこのマイクロコードの読み込みをブロックし、Nova-Coreを事実上動作不能にしています。 ブロブなしでは動作しないしかし、システムの自由は維持されます。
- 次世代インテル Xe最新のIntel Xeドライバーは、キュー管理、スケジューリング、その他の重要な機能にGuCマイクロコントローラーとそのバイナリファームウェアを使用しています。Linux-libre 6.18では、このファームウェアの要求やロードを防止するためにクリーンアッププロセスがさらに強化されました。そのため、無料の代替手段がなければ、このドライバーは実質的に役に立たなくなります。
- TI PRU イーサネットテキサス・インスツルメンツのPRU(プログラマブル・リアルタイム・ユニット)ベースのイーサネット・コントローラも、上流のブロブ・ロジックに変更が加えられました。GNU/Linux-libreは、デブロブを更新して、 これらのSoCには独自のファームウェアはロードされていません.
- マーベル WiFi-ExMarvell の WiFi-Ex ファミリーの公式ツリーに加えられた変更により、クリーンアップのレビューが強制され、これらのワイヤレス アダプターのバイナリ ファームウェアへの参照やアップロードの試みが再びブロックされました。
これらの調整は、洗浄プロセスが 継続的かつ反応的以前は BLOB に依存していたドライバーのコードが変更されるたびに、Linux-libre チームはそのコードを再度確認し、新しい独自のファームウェア読み込みメカニズムが「漏れて」いないことを確認する必要があります。
ドライバーと要素が削除または再配置されました
新たなクリーンアップや微調整だけではありません。GNU/Linux-libre 6.18では、Linuxカーネル自体が特定のコンポーネントを削除し、 デブロビングプロセスを簡素化する.
わかりやすい例としては TI WL1273 FMラジオドライバこのドライバは、以前のバージョンではバイナリファームウェアへの依存のために特別なクリーンアップが必要でしたが、公式Linux 6.18ツリーから完全に削除されました。その結果、GNU Linux-libre 6.18では、このドライバに関連するすべてのデブロビングロジックも削除され、スクリプトセットの複雑さが軽減されました。
もう一つの印象的な事例は Lantiq GSWIPドライバー特定のプラットフォーム向けのギガビットスイッチドライバです。Linux 6.18では、ソースコードツリー内の位置が変更されたため、プロジェクトのクリーンアップシステムが関連するフラグメントを見つけて処理するために使用するパスとパターンの調整が必要になりました。
場所と除去方法の変更は、 メインカーネルは絶えず再編成されているそして、新しいブロブを追跡するだけでなく、コードツリーの変化する構造にツールを適応させることによって、GNU Linux-libre を最新の状態に保つ方法。
ARM64 上の Qualcomm、Mediatek、TI 用のクリーンな Devicetree
クリーンアップはドライバーのCコードだけにとどまりません。このバージョンでは、最も繊細な作業の一つは、 新しいデバイスツリー(DT)ファイル ARM64 プラットフォーム用。Qualcomm、Mediatek、Texas Instruments に基づくシステムのハードウェアを記述します。
Linux 6.18では、これらのデバイスツリーのいくつかには以下が含まれます。 ファームウェアBLOBへの明示的な参照特定のコンポーネントに非フリーのマイクロコードが必要であることを示すバイナリファイルのパスまたはプロパティ。そのままにしておくと、これらのDTを使用するだけで、ユーザーはプロプライエタリなコンポーネントを探してロードする必要が生じる可能性があります。
GNU Linux-libre 6.18はこれらのファイルを「クリーンアップ」し、ARM64アーキテクチャにおけるQualcomm、Mediatek、TIバイナリへの参照を削除または変更します。これにより、フリーカーネルが 推奨ベクトルとして機能する 非フリーソフトウェアの、FSF ガイドラインを尊重します。
GNU Linux-libre 6.18の入手方法
このプロジェクトでは、いくつかの公式チャンネルを提供しています。 GNU Linux-libre 6.18-gnuをダウンロードして使用するソースコード形式と、一般的なディストリビューションにインストールできるバイナリ パッケージ形式の両方で提供されます。
一方では、 ソースコード プロジェクトによって管理されているリポジトリから Git 経由で取得できます。
- リリースのGitリポジトリ: git://linux-libre.fsfla.org/releases.git のタグ付き
scripts,sourcesylogsバージョン v6.18-gnu の場合。
さらに、バージョンが発表されてすぐに、 事前に圧縮されたtarball FSFLA公式ウェブサイトより:
- https://www.fsfla.org/selibre/linux-libre/download/releases/ (ubicación habitual de los tarballs de cada versión).
カーネルを手動でコンパイルしたくない人は、 準備されたバイナリパッケージ 関連プロジェクト:
- フリーシュ: Debian ベースおよび派生ディストリビューション用の、すぐに使用できる .deb パッケージを提供します。GNU Linux-libre カーネルがすでにコンパイルされています。
- RPM フリーダム: この無料カーネルを採用したい Red Hat、Fedora、および派生ベースのシステム向けに .rpm パッケージを提供します。
このようにして、ユーザーは 独自のカーネルをコンパイルする ソース コードから直接インストールするか、あらかじめ作成されたパッケージのいずれかをインストールして、ディストリビューションの標準カーネルと統合するか、置き換えます。
Linux-libre をめぐるディストリビューションとエコシステム
GNU Linux-libreは多くのものを構築する柱である 完全に無料の配布 TrisquelやPureOSなど、FSFによって承認されているディストリビューション。これらのディストリビューションは、システム全体が最も厳格なフリーソフトウェアガイドラインに準拠していることを保証するために、このカーネルを使用しています。
それらの多くは、 Linux-libreの最新バージョン あるいは少なくとも密接に関連するブランチで。場合によっては、リポジトリまたは追加のリポジトリからこのカーネルを選択できるようにすることで、ユーザーはディストリビューションを変更することなく、汎用カーネルをBLOBを含まないカーネルに置き換えることができます。
管理者や愛好家向けには、GNU Linux-libre 6.18もインストールできます。 ほぼすべての従来の流通コンパイルするか、Freesh/RPM Freedomパッケージをインストールし、ブートマネージャを設定してシステム起動時にこのカーネルを選択するだけです。これにより、デフォルトで非フリーコンポーネントを含むディストリビューションであっても、フリーソフトウェアの原則に非常に合致した環境が実現します。
GNU Linux-libre とは一体何なのか(そして何ではないのか)
プロジェクト自体は、GNU Linux-libreが何よりも、 Linuxカーネルの修正版このカーネルは、完全なフリーを目指すGNUシステムでの使用を目的として設計されています。FSFのFSDGに準拠したいあらゆるディストリビューションが、プロプライエタリコードのインストールにつながるようなブロブや参照を含まないという安心感を持って、このカーネルを使用できることが目標です。
ドキュメントには、非フリーコンポーネントは削除されると記載されており、 ソースコードを装った (実際には埋め込まれたBLOBですが)あたかも別々のファイルで配布されているかのように扱われます。さらに、プロプライエタリファームウェアへのランタイムリクエストは無効化され、非フリーリソースを参照するマニュアルやコメントは削除されます。
しかし、このプロジェクトは、 これらのコンポーネントを書き換えることは提案されていない また、プロプライエタリなドライバに代わる無料の代替ドライバも提供していません。アプローチはミニマリスト的です。非フリーソフトウェアは削除され、残りはほぼそのまま残され、他のイニシアチブが可能な限り無料の代替ドライバを開発することが奨励されています。実際、LibrePlanetなどのサイトでは、依然としてBLOBに依存している多くのデバイスに関するドキュメントが公開されており、将来的にそれらをリリースするための取り組みを調整することを目指しています。
最後に、マスコットはペンギンですが、開発者は GNUプロジェクトとFSFの役割 完全なシステムの構築における自由度ははるかに高く、フリーカーネルは完全に自由なシステムという理想の中の単なるもう 1 つの要素にすぎません。
Linux 6.18から継承されたあらゆる技術的改善と、ファームウェア、ドライバー、デバイスツリーの徹底的なクリーンアップを組み合わせることで、GNU/Linux-libre 6.18は、ソフトウェアの自由を犠牲にしたくない人々にとって非常に強力な選択肢としての地位を確固たるものにしています。デジタルオーディオやQualcommシリーズエンジン向けの新しく合理化されたドライバーから、Nova-CoreやIntel XeなどのGPUドライバーの調整、ARM64プラットフォームのクリーンアップ、そして複数のディストリビューション向けのパッケージの提供まで、このバージョンは、不要なコンポーネントをロードしないという原則を放棄することなく、カーネルの最先端に近づくことが可能であることを示しています。 独自のバイナリなし.