Linux From Scratch

Linux From Scratch (LFS) là một dự án có mục đích đem lại cho mọi người những cách thức xây dựng một hệ điều hành Linux riêng cho mình. Những cách thức đó được trình bày trong quyển sách cùng tên, có tác giả chính là Gerard Beekmans.
Nguyên nhân
Có nhiều người hỏi: "Tại sao lại đi cài đặt cả một hệ điều hành Linux bằng tay từ mã nguồn trong khi ai cũng có thể tải xuống những bản phân phối GNU/Linux đã có sẵn trên Internet?" Có rất nhiều lý do để cài đặt một hệ điều hành theo đề nghị của LFS.

Vai trò quan trọng của LFS là nó chỉ dạy cho người ta về các hoạt động bên trong của hệ điều hành Linux. Khi tự xây dựng một hệ điều hành, như đề nghị bởi LFS, sự phụ thuộc lẫn nhau và sự hoạt động của các ứng dụng chung với nhau trong hệ điều hành sẽ trở nên dễ hiểu hơn. Điều quan trọng nhất là LFS sẽ chỉ dẫn cách xây dựng một hệ điều hành phù hợp với mong đợi và cần thiết của từng người.

LFS cũng hướng dẫn ta xây dựng một hệ điều hành nhỏ gọn. Khi cài đặt một bản phân phối GNU/Linux có trên thị trường, nó sẽ kết thúc với một hệ điều hành bao gồm nhiều chương trình đi kèm không cần thiết và làm tốn dung lượng đĩa. Trong khi đó một hệ điều hành xây dựng theo đề nghị của LFS chỉ chiếm tối đa 100 MB.
Các phiên bản
Hiện nay, dự án Linux From Scratch được tổ chức thành những dự án con sau: 
Còn hoạt động
LFS (Linux From Scratch): là cuốn sách chính, giúp ta tạo nên một phiên bản Linux hoàn chỉnh từ mã nguồn. Cuốn sách này là cơ sở để tạo ra thêm các cuốn sách con.
BLFS (Beyond Linux From Scratch): là cuốn sách con của LSF, nó giúp người dùng có các kiến thức để người dùng có thể tùy biến LFS theo ý của họ.
ALFS (Automated Linux From Scratch): cung cấp những công cụ để quản lý và tự động hóa việc xây dựng LFS và BLFS.
CLFS (Cross Linux From Scratch): Một phiên bản nâng cao của LFS. Ngoài việc dạy cho người dùng cách tạo ra Linux, nó còn giúp người dùng hiểu thêm và tạo ra một LFS dựa trên cross-complier (biên dịch chéo)
HLFS: (Hardened Linux From Scratch) tập trung vào việc xây dựng một hệ thống LFS với tính an ninh cao.
Hints: Dự án Hints là tập hợp của những tài liệu, ý kiến bên ngoài các quyển sách LFS và BLFS  với mục đích làm cách nào để tăng cường hệ thống LFS.
Patches: Dự án Patches cung cấp các bản vá cho người dùng LFS. 
Dừng hoạt động
LiveCD: Dự án LiveCD cung cấp một đĩa CD với môi trường dùng để xây dựng một LFS hoặc như một đĩa CD cứu hộ nói chung. LiveCD không thể dùng để tạo ra LFS từ phiên bản 7.0 trở lên
 Quá trình cài đặt 
Thông thường thì quá trình cài đặt một hệ điều hành Linux From Scratch cần có một dĩa cứng đã được chia ra nhiều phần (partition) và một hệ điều hành GNU/Linux đã được cài sẵn dùng để biên dịch các gói mã nguồn. Nhưng khi dùng dĩa Linux From Scratch LiveCD thì hệ điều hành GNU/Linux cài sẵn không cần thiết. Vì dĩa CD đó chứa đựng tất cả các gói mà nguồn cần thiết, quyển sách LFS, một hệ thống biên dịch tự động, và một môi trường làm việc đồ họa XFCE.

Trước hết thì hệ thống biên dịch của LFS cần được biên dịch bằng cách dùng hệ thống GNU/Linux đã có sẵn. Một môi trường biên dịch chương trình đầy đủ trên hệ thống GNU/Linux bao gồm: GCC, glibc, binutils và một vài công cụ cần thiết khác. Sau đó thì thư mục gốc (root directory) của hệ thống GNU/Linux dùng để biên dịch các gói mã nguồn LFS cần được chuyển sang phần đĩa cứng mới bằng cách dùng lệnh chroot. Sau khi đã dời thư mục gốc qua phần đĩa cứng mới thì phần còn lại của hệ thống LFS mới được biên dịch tiếp.

Các gói cài đặt trong LFS 7.2
 Tên Phiên bản Giấy phép Trang chủ Autoconf  2.69  GNU GPL  http://www.gnu.org/software/autoconf/ Automake  1.12.3  GNU GPL  http://www.gnu.org/software/automake/ Bash  4.2  GNU GPL  http://www.gnu.org/software/bash/ Binutils  2.22  GNU GPL http://www.gnu.org/software/binutils/ Bison  2.6.2  GNU GPL  http://www.gnu.org/software/bison/ bzip2  1.0.6  Giấy phép BSD sửa đổi  http://www.bzip.org Check  0.9.8  GNU LGPL v2  http://check.sourceforge.net/ Coreutils  8.19  GNU GPL  http://www.gnu.org/software/coreutils/ DejaGNU  1.5  GNU GPL  http://www.gnu.org/software/dejagnu/ Diffutils  3.2  GNU GPL  http://www.gnu.org/software/diffutils/ E2fsprogs  1.42.5  GNU GPL v2 và GNU LGPL  http://e2fsprogs.sourceforge.net/ Expect  5.45  Phạm vi công cộng  http://expect.sourceforge.net/ File  5.11  Không rõ  http://www.darwinsys.com/file/ Findutils  4.4.2  GNU GPL  http://www.gnu.org/software/findutils/ Flex  2.5.37  Giấy phép BSD  http://flex.sourceforge.net/ Gawk  4.0.1  GNU GPL  http://www.gnu.org/software/gawk/ GCC  4.7.1  GNU GPL  http://gcc.gnu.org/ GDBM  1.10  GNU GPL  http://www.gnu.org/software/gdbm/ Gettext  0.18.1.1  GNU GPL http://www.gnu.org/software/gettext Gibc  2.16  GNU GPL  http://www.gnu.org/software/libc/ GMP  5.0.5  GNU GPL  
http://www.gnu.org/software/gmp/ Grep  2.14  GNU GPL  http://www.gnu.org/software/grep/ Groff  1.21  GNU GPL http://www.gnu.org/software/groff/ GRUB  2.00  GNU GPL  http://www.gnu.org/software/grub/ gzip  1.5  GNU GPL  
http://www.gnu.org/software/gzip iana-etc  2.30  Mã nguồn mở  http://freecode.com/projects/iana-etc  inetutils  1.9.1  GNU GPL  http://www.gnu.org/software/inetutils/ IPRoute2  2.5.1  Không rõ  http://www.kernel.org/pub/linux/utils/net/iproute2/ kbd  1.15.3  Không rõ  http://ftp.altlinux.org/pub/people/legion/kbd/ Kmod  9  Không rõ  http://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-9.tar.xz Less  444  GNU GPL v3  http://www.greenwoodsoftware.com/less/ LFS-Bootscripts  20120901  Không rõ  http://www.linuxfromscratch.org/lfs/downloads/7.2/lfs-bootscripts-20120901.tar.bz2  Libpipeline  1.2.1  GNU GPL v3  http://libpipeline.nongnu.org/ Libtool  2.4.2  GNU GPL  http://www.gnu.org/software/libtool/ Linux  3.5.2  GNU GPL  http://kernel.org/  M4  1.4.16  GNU GPL  http://www.gnu.org/software/m4/ Make  3.82  GNU GPL  http://www.gnu.org/software/make/ man-db  2.6.2  GNU GPL v2 hay mới hơn  http://www.nongnu.org/man-db/ man-pages  3.42  Vô số giấy phép  http://www.kernel.org/doc/man-pages/ MPC  1.0   GNU LGPL v3 hay mới hơn  http://www.multiprecision.org/ MPFR  3.1.1  GNU GPL v3  http://www.mpfr.org/ Ncurses  5.9  GNU GPL  
http://www.gnu.org/software/ncurses/ Patch  2.6.1  GNU GPL v3  https://savannah.gnu.org/projects/patch/ Perl  5.16.1  GNU GPL hay Giấy phép Artistic  http://www.perl.org/ Pkg-config  0.27  GNU GPL v2 hay mới hơn  http://www.freedesktop.org/wiki/Software/pkg-config Procps  3.2.8  GNU GPL v2  http://procps.sourceforge.net/ Psmics  22.19  Từ phiên bản 19 trở lui: Giấy phép BSD. Từ 20 trở đi: GNU GPL  http://psmisc.sourceforge.net/ Readline  6.2  GNU GPL v3  http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html  Sed  4.2.1  GNU GPL  http://www.gnu.org/software/sed/ Shadow  4.1.5.1  Giấy phép BSD  http://pkg-shadow.alioth.debian.org/  Sysklogs  1.5  GNU GPL v2  http://www.infodrom.org/projects/sysklogd/ Sysvinit  2.88dsf  GNU GPL v2  http://savannah.nongnu.org/projects/sysvinit Tar  1.26  GNU GPL  http://www.gnu.org/software/tar/ Tcl  8.5.12  Giấy phép BSD  http://tcl.sourceforge.net/ Time Zone Data  2012e  Không rõ  http://www.iana.org/time-zones Texinfo  4.13a  GNU GPL  http://www.gnu.org/software/texinfo/ Systemd  188   GNU LGPL 2.1 hay mới hơn  http://www.freedesktop.org/wiki/Software/systemd/ Udev-lsf  188  Không rõ  http://anduin.linuxfromscratch.org/sources/other/udev-lfs-188-3.tar.bz2 Util-linux  2.21.2  GNU GPL v2  http://www.kernel.org/pub/linux/utils/util-linux/v2.21/util-linux-2.21.2.tar.xz Vim  7.3  Phần mềm miễn phí, phần mềm từ thiện  http://www.vim.org/ Xz Utils  5.04  Nhiều giấy phép  http://tukaani.org/xz Zlib  1.2.7  Không rõ  http://www.zlib.net/

Tham khảo

 Liên kết ngoài 
Trang Web của dự án LFS

Thể loại:Khoa học thông tin
Thể loại:Khoa học máy vi tính
Thể loại:Linux
Thể loại:Hệ điều hành tự do
Thể loại:Phần mềm tự do