Linux from Scratch
Linux From Scratch (リナックス フロム スクラッチ、LFS) は、ユーザが自分自身で「ゼロから(from Scratch、プログラミング言�…
| 開発者 | ジェラルド・ビークマンズなど |
|---|---|
| 開発状況 | 開発中 |
| ソースモデル | オープンソース |
| 初版 | 1999年12月 |
| 最新安定版 |
13.0-systemd[1] |
| アップデート方式 | ソースベース |
| パッケージ管理 | なし |
| プラットフォーム | IA-32, x86-64[2] |
| カーネル種別 | モノリシック |
| 既定のUI | キャラクタユーザインタフェース |
| ライセンス | 主にCC BY-NC-SA [3]とMITライセンス |
| ウェブサイト |
linuxfromscratch |
| サポート状況 | |
| サポート中。但し、それぞれ異なる環境で自ら構築するLinuxであるため、サポート出来る範囲はLinux From Scratchそのもののに限られる。 | |
Linux From Scratch (リナックス フロム スクラッチ、LFS) は、ユーザが自分自身で「ゼロから(from Scratch、プログラミング言語のScratchではない)」Linuxシステムをビルドする、という一風変わった特徴を主旨とする、一種のLinuxディストリビューションである。また、ジェラルド・ビークマンズによる本のタイトルでもある。
最初のインストール(クリーンインストール)に、Live CDのようなライブイメージとバイナリパッケージを使用し、最低限の機能が備わったシステムを一気に用意してしまう一般的なディストリビューションとは異なり、全てをソースコードとして入手し、一種のクロスビルドによってシステムを構築する。
派生プロジェクト
Linux From Scratchでは、すべてのコンポーネントを手動でビルドすることにより、Linuxシステムをインストールする。当然、これはコンパイル済みのLinuxディストリビューションをインストールするよりもはるかに長いプロセスである。Linux From Scratchサイトによると、この方法の利点は、コンパクトで柔軟性があり、安全なシステムであることと、Linuxベースのオペレーティングシステムの内部動作をより深く理解できることである[4]。
LFSを小さく、焦点を絞ったものにするために、Beyond Linux From Scratch (BLFS)という書籍が作成された。この書籍では、LFSで作成された基本的なLinuxシステムをさらに拡張する方法が説明されている。この書籍では、X Window System、デスクトップ環境、KDE、GNOME、Xfce、LXDE)、ウェブブラウザ、プログラミング言語とツール、マルチメディアソフトウェア、ネットワーク管理およびシステム管理ツールなど、システムへの追加機能を紹介し、読者をガイドする。リリース5.0以降、BLFS書籍バージョンはLFS書籍バージョンと一致している[5]。
Cross Linux From Scratch (CLFS)という本は、Linuxを実行できるもののLinuxをコンパイルするために必要なリソースがないヘッドレスシステムや組み込みシステム向けのコンパイルを含むクロスコンパイルに焦点を当てている。CLFSは幅広いプロセッサをサポートし、クロスビルドツールチェーン、マルチライブラリサポート(32ビットと64ビットのライブラリを並列で使用)、Itanium、SPARC、MIPS、Alphaなどの代替命令セットアーキテクチャなど、LFSの本には含まれていない高度なテクニックに対応している。
Linux From Scratchプロジェクトは、BitBakeと同様に、Raspberry PiやBeagleBoardなどのARM組み込みシステム向けのLinuxのクロスコンパイルもサポートしている[6][7]。
Hardened Linux From Scratch (HLFS)という本は、ハードニングされたカーネルパッチ、強制アクセス制御ポリシー、スタック破壊保護、アドレス空間配置のランダム化などのセキュリティ強化に焦点を当てている。セキュリティ重視のオペレーティングシステムを作成するという主な目的の他に、HLFSにはセキュリティ教育ツールになるという副次的な目標があった。2011年以降更新されておらず、2025年2月17日現在、HLFSの本はLFSサイトから消えている。
Automated Linux From Scratch (ALFS)は、LFSシステムの作成プロセスを自動化するように設計されたプロジェクトである。LFSおよびBLFSの本を何度も読み、作業量を減らしたいユーザーを対象としている。2つ目の目標は、LFSおよびBLFSブックのXMLソースから指示を直接抽出して実行することにより、LFSおよびBLFSブックのテストとして機能することである。
手順
まず、現在動作しているLinuxシステムを用意する。その中に、クロスコンパイルの準備の要領で[注釈 1]ビルド環境を用意し、カーネルやカーネルモジュール等をはじめ、いわゆるベースシステム等と呼ばれるシステムソフトウェア類をビルドする。
次に、インストール対象となるマシンのためのディスク(ないしディスクイメージ)にパーティションを作り、extファイルシステムなどで論理フォーマットし、/usr など、基本的なインストールに必要なディレクトリツリーを構築してインストールし、/etc の中の設定ファイルなどを編集する。また、/boot など、ブートに必要な設定も行う。その他にも多くの作業があるが、全てを行えば、最低限の起動可能なシステムができあがる。
基本的な構築が完了した後は、Beyond Linux From Scratch (BLFS) に従って、応用的なライブラリやX Window Systemを使用するようなデスクトップ環境などを導入することができる。
LFSソフトウェア一覧
LFS 7.8 に含まれたソフトウェアのリスト
- Acl 2.2.52
- Attr 2.4.47
- Autoconf 2.69
- Automake 1.15
- Bash 4.3.30
- Bc 1.06.95
- Binutils 2.25.1
- Bison 3.0.4
- Bzip2 1.0.6
- Check 0.10.0
- Coreutils 8.24
- DejaGNU 1.5.3
- Diffutils 3.3
- Eudev 3.1.2
- E2fsprogs 1.42.13
- Expat 2.1.0
- Expect 5.45
- File 5.24
- Findutils 4.4.2
- Flex 2.5.39
- Gawk 4.1.3
- GCC 5.2.0
- GDBM 1.11
- Gettext 0.19.5.1
- Glibc 2.22
- GMP 6.0.0a
- Gperf 3.0.4
- Grep 2.21
- Groff 1.22.3
- GRUB 2.02~beta2
- Gzip 1.6
- Iana-Etc 2.30
- Inetutils 1.9.4
- Intltool 0.51.0
- IPRoute2 4.2.0
- Kbd 2.0.3
- Kmod 21
- Less 458
- LFS-Bootscripts 20150222
- Libcap 2.24
- Libpipeline 1.4.1
- Libtool 2.4.6
- Linux 4.2
- M4 1.4.17
- Make 4.1
- Man-DB 2.7.2
- Man-pages 4.02
- MPC 1.0.3
- MPFR 3.1.3
- Ncurses 6.0
- Patch 2.7.5
- Perl 5.22.0
- Pkg-config 0.28
- Procps-ng 3.3.11
- Psmisc 22.21
- Readline 6.3
- Sed 4.2.2
- Shadow 4.2.1
- Sysklogd 1.5.1
- Sysvinit 2.88dsf
- Tar 1.28
- Tcl-core 8.6.4
- Texinfo 6.0
- Tzdata 2015f
- Udev-lfs Tarball udev-lfs-20140408
- Util-linux 2.27
- Vim 7.4
- XML::Parser 2.44
- Xz-Utils 5.2.1
- Zlib 1.2.8
脚注
注釈
- ^ 用意したシステムと、インストール目的のシステムの、例えばどちらもx86であれば、アーキテクチャは違わないという点では「クロスではない」が、一般にカーネルやそれに近いシステムのビルドには「現在動いているシステムを雛形にして、その設定等をコピーする」という感じの振舞が含まれているので、別のインストール対象のためのビルドは一種のクロスコンパイルのようにして行う必要がある。
出典
- ^ “Version 13.0-systemd” (2026年3月5日). 2026年3月6日閲覧。
- ^ “iii. LFS Target Architectures”. linuxfromscratch.org. 2025年3月11日閲覧。
- ^ “Appendix D. LFS Licenses”. 2023年8月9日閲覧。
- ^ “What is Linux From Scratch?”. 2025年3月11日閲覧。
- ^ Gerard Beekmans: Beyond Linux From Scratch, Version 6.3 (August 2008)
- ^ “Cross-Compiled Linux From Scratch - Embedded”. 2025年3月11日閲覧。.
- ^ Horan, Brendan (2013-06-12) (English). Practical Raspberry Pi. Apress. pp. 105. ISBN 9781430249726
外部リンク
- Linux From Scratch プロジェクトサイト
- LFSブック日本語版 (lfsbookja) LFSブックの日本語訳
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.