Linux From Scratch

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm
Linux From Scratch
Lfs-logo.png
Công ty / Nhà phát triển Nhóm LFS
Họ Unix-like
Tình trạng Hoạt động
Kiểu mã nguồn Mã nguồn mở
Phiên bản ổn định 7.2 / 1/9/2012
Quản lý gói cài đặt Không
Kiểu nhân Linux
Giấy phép GNU GPL
Trang mạng http://linuxfromscratch.org

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[sửa | sửa mã nguồ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[sửa | sửa mã nguồ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[sửa | sửa mã nguồn]

  • 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ảng 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[sửa | sửa mã nguồn]

  • 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[sửa | sửa mã nguồn]

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ẵng 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[sửa | sửa mã nguồn]

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 v2GNU 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[sửa | sửa mã nguồn]

Liên kết ngoài[sửa | sửa mã nguồn]