Bootstrappable

提供: ArchWiki
2022年1月24日 (月) 12:37時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (英語版へのリンクを追加)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Bootstrappable Builds は、最小限のバイナリセットを使ってゼロから Arch Linux を簡単にブートストラップすることを可能にします。最小限のバイナリセットを監査し、再現可能なビルドを可能にすることで、あなたが期待するコードを実行しているという確信を得ることができます。

Bootstrapping Arch Linux

Mes は Arch Linux を最小限の (32bit) バイナリとソースコードからコンパイルされたシステムからブートストラップするために利用されるプロジェクトです。Arch Linux では、mes から C コンパイラのブートストラップを開始し、後で最初のブートストラップバイナリを監査可能な最小限の量に減らすことができます。

GCC をブートストラップするためのロードマップです。

  • Mesをリポジトリに登録する
  • Mes で Mes をコンパイル(他のディストリビューション Debian, Guix, NixOS と比較も可能)
 MES=mes AR=mesar CC=mescc ./configure.sh --host=i686-unknown-linux-gnu
 V=2 MES=mes AR=mesar GUILE_LOAD_PATH=/usr/share/mes/module/ ./bootstrap.sh
  • パッチを適用したtcc-boot0 をコンパイルする
  • 小さなパッチで tcc-boot をコンパイルします。
  • システムユーティリティ
  • GCC-2.95.3 (GCC 4.0.4 は musl libc を最初にビルドすれば TCC から直接ブートストラップすることもできます)

詳細はこちら。

Bootstrapping Languages

For languages which are self-hoisting (require itself to build a new version) we want a path from a C compiler to for example Rust.

Rust

There is a Rust C++ implementation which can compile Rust 1.19.0 called mrustc. Guix has more information in this blog post.

Java (openjdk)

A path to bootstrapping JDK is described here