Linux From Scratch
Linux From Scratch ((biasa disingkat LFS) atau dalam bahasa Indonesia, Linux dari Dasar) adalah jenis instalasi Linux dan nama dari buku yang ditulis oleh Gerard Beekmans, dan sekarang dikelola oleh Bruce Dubbs. Buku ini memberikan instruksi kepada pembaca tentang bagaimana cara membangun sistem Linux dari sumbernya. Buku ini tersedia secara gratis di situs Linux From Scratch.
Linux From Scratch adalah cara untuk memasang sistem Linux dengan membangun semua komponen dari Linux secara manual. Dengan cara ini, secara natural, adalah proses yang lebih lama dibandingkan dengan memasang distribusi Linux yang sudah di pra-kompilasi. Menurut situs Linux From Scratch, keuntungan dari metode ini adalah sistem yang lebih kompak, fleksibel, dan aman, serta membuat pengguna lebih paham tentang proses internal yang terjadi dalam sistem operasi berbasis Linux.
Untuk menjaga LFS tetap kecil dan terfokus, buku Beyond Linux From Scratch (BLFS) dibuat, dimana di buku itu terdapat instruksi tentang bagaimana cara mengembangkan sistem dasar Linux yang dibuat di LFS secara lebih lanjut. Buku itu mengenalkan dan membimbing pembaca lewat penambahan ke sistem termasuk jaringan, X, suara, dukungan pada mesin cetak dan mesin pindai. Sejak Release 5.0, buku versi BLFS menyaingi buku versi LFS.
Buku Cross Linux from Scratch (CLFS) difokuskan di bidang proses kompilasi antar sistem, termasuk, komilasi untuk sistem headless atau embedded yang bisa menjalankan Linux, tetapi kekurangan sumber daya yang diperlukan dalam mengkompilasi Linux. CLFS mendukung jangkauan yang luas untuk prosesor dan mengalamatkan teknik lanjut yang tidak dimasukkan dalam buku LFS seperti cross-build toolchains, multilibrary support (pustaka 32 dan 64-bit berdampingan), dan instruksi alternatif dalam mengatur arsitektur seperti Itanium, SPARC, MIPS, dan Alpha.
Buku Hardened Linux From Scratch (HLFS) terfokus dalam peningkatan keamanan seperti patch kernel yang dikeraskan, kebijakan akses kontrol wajib, perlindungan stack-smashingg, dan pengacakan alamat tata letak ruang, Selain dari tujuan utamanya yaitu menciptakan sistem operasi yang berfokus pada keamanan, HLFS mempunyai tujuan lain yaitu menjadi alat pengajaran dalam bidang keamanan.
Automated Linux From Scratch adalah proyek yang didesain untuk mengotomatiskan proses dalam penciptaan sebuah sistem LFS. Proyek ini ditujukan kepada pengguna yang telah menyelesaikan buku LFS dan BLFS beberapa kali dan berharap untuk mengurangi banyaknya tugas yang dilakukan. Tujuan lainnya adalah bertidak sebagai sebuah ujian bagi buku LFS dan BLFS dengan mengekstrak secara langsung dan mejalankan instruksi dari sumber XML dari buku LFS dan BLFS.
Partisi yang bersih dan sistem Linux yang bekerja dan beberapa pustaka perangkat lunak yang diperlukan untuk membangun LFS. Alih-alih memasang dari sistem Linux yang sudah ada, Anda juga bisa menggunakan CD untuk membangun sistem LFS.
Proyek ini dahulu mengelola Linux From Scratch Live CD. LFS Live CD mengandung semua sumber paket (khusus untuk versi lengkap dari Live CD), buku LFS, alat pembangun otomatis dan (kecuali untuk versi minimal dari Live CD) sebuah lingkungan GUI Xfce untuk bekerja. Live CD resmi dari LFS sudah tidak lagi dikelola, dan tidak bisa digunakan untuk membangun LFS versi 7 dan seterusnya. Tetapi, ada dua
versi tidak resmi yang bisa digunakan untuk membangun sebuah kernel 32-bit atau 64-bit dan userspace secara berkesinambungan dalam LFS 7.x.]
Pertama, sebuah "rangkaian alat" harus dikompilasi mengandung alat-alat yang digunakan untuk proses kompilasi dari LFS, seperti GCC, glibc, binutils dan perkakas lainnya yang diperlukan. Lalu, direktori root harus diganti, (menggunakan chroot), ke dalam partisi dari "rangkaian alat" untuk mulai membangun sistem akhir. Salah satu dari paket pertama yang dikompilasi adalah glibc;
kemudian, penghubung dari "rangkaian alat" harus disesuaikan untuk menghubungkan glibc yang baru saja dikomilasi, sehingga paket lainnya dapat membuat sistem dihubungkan terhadap itu juga. Saat fase chroot, fitur hashing dari bash dimatikan dan direktori bin sementara dari "rangkaian alat" dipindahkan ke ujung dari PATH. Dengan cara ini, program yang baru dikompilasi akan ada di awal PATH dan versi baru dari sistem akan ada di komponennya sendiri.