- Kullanıcının Linux sistemini doğrudan kaynak kodundan kurmasına rehberlik eden adım adım bir kılavuz
- 12.4 sürümü 1 Eylül 2025'te yayımlandı ve en güncel kernel 6.16.1, GCC 15.2.0 ve Glibc 2.42 gibi bileşenleri içeriyor
- Sistem derlemesi için çapraz araç zinciri yapılandırmasından, geçici araçların kurulmasına ve önyüklenebilir bir sistemin tamamlanmasına kadar tüm süreci ele alıyor
- Her bölüm, paket listesi, derleme sırası, test prosedürleri ve sistem yapılandırmasını ayrıntılı biçimde ayrı başlıklarla sunuyor
- Geliştiricilerin ve sistem mühendislerinin Linux'un iç yapısını öğrenmesi ve özelleştirilmiş dağıtımlar üretmesi için önemli bir kaynak
Genel Bakış
- Linux From Scratch (LFS), kullanıcının mevcut bir dağıtım olmadan Linux sistemini doğrudan kurabilmesi için tasarlanmış bir proje
- Tüm bileşenlerin kaynak kodundan derlenip yapılandırılması sürecini adım adım açıklar
- Kurucusu Gerard Beekmans, editoryal bakımından sorumlu kişi ise Bruce Dubbs
- Belgeler, HTML tabanlı çevrimiçi kılavuz biçiminde sunulur ve her adım için ayrıntılı bağlantılar ile paket sürümleri belirtilir
Sürüm Bilgileri
- Güncel kararlı sürüm 12.4, yayımlanma tarihi 1 Eylül 2025
- Telif hakkı 1999–2025 arasında Gerard Beekmans'a ait
- En son sürümde Linux 6.16.1, GCC 15.2.0, Glibc 2.42, Python 3.13.7 gibi temel paketler yer alıyor
Belge Yapısı
- Belge, önsöz, derleme hazırlığı, çapraz araç zinciri kurulumu, sistem derleme, önyükleme ayarları ve ekler olmak üzere 5 ana bölümden oluşur
- Önsöz (Preface): hedef okur kitlesi, gerekli bilgi, standartlara uyum, paket seçim nedenleri gibi konuları açıklar
- Derleme Hazırlığı (Preparing for the Build): ana sistem gereksinimleri, bölüm oluşturma, ortam değişkeni ayarları gibi başlıkları içerir
- LFS Çapraz Araç Zinciri ve Geçici Araçların Derlenmesi (Building the LFS Cross Toolchain and Temporary Tools): Binutils, GCC, Glibc gibi temel derleyici bileşenlerinin kurulumu
- LFS Sisteminin Derlenmesi (Building the LFS System): temel sistem yazılımlarının kurulumu ve yapılandırılması
- LFS Sistemini Önyüklenebilir Hale Getirme (Making the LFS System Bootable): kernel derleme ve GRUB yapılandırması
- Ekler (Appendices): kısaltmalar, bağımlılıklar, önyükleme betikleri, lisanslar gibi içerikler
Ana Bileşenler
- Paket listesi, 100'den fazla temel yardımcı program ve kütüphane içeriyor
- Örnekler: Coreutils 9.7, Bash 5.3, Perl 5.42.0, Python 3.13.7, OpenSSL 3.5.2, Systemd Udev 257.8
- Her paket için kurulum adımları, testler ve temizlik (cleanup) aşamaları ayrıntılı şekilde listelenir
- SysVinit 3.14 tabanlı önyükleme betikleri ile GRUB 2.12 önyükleyici yapılandırması da yer alır
Sistem Yapılandırması ve Önyükleme
- 9. Bölüm (System Configuration) ağ, yerel ayarlar, aygıt yönetimi ve giriş yapılandırması gibi konuları ele alır
- 10. Bölüm (Making the LFS System Bootable),
/etc/fstab yazımı, kernel derleme ve GRUB yapılandırma sürecini içerir
- 11. Bölüm (The End), sistemin yeniden başlatılması ve sonraki öğrenme kaynaklarına yönlendirme sağlar
Ekler ve Lisans
- Ek D,
boot ve sysconfig betiklerinin 20250827 sürümünü içerir
- Ek F, iki lisansı belirtir: Creative Commons ve MIT License
- Bağımlılık listesi, sözlük ve teşekkür gibi başvuru materyalleri sunulur
Önemi
- LFS, Linux'un çalışma mantığını ve derleme yapısını doğrudan deneyimlemeyi sağlayan eğitim ve araştırma odaklı bir proje
- Sistem yöneticileri, dağıtım geliştiricileri ve güvenlik araştırmacıları için minimal Linux ortamı kurulumunda standart bir başvuru kaynağı olarak kullanılır
1 yorum
Hacker News görüşleri
1999'da başlayıp 2001'e kadar kullanmış, ancak bağımlılık yönetimi ve yeniden derleme çok zor olduğu için bırakmış
O dönemde belgeler bugünkü kadar ayrıntılı değildi, bu yüzden her şeyi kendisinin takip etmesi gerekiyordu ve pek bilinmeyen paketler de çoktu
Yine de Slackware'e geçerken XFree86, GNOME gibi paketleri elle derleyip katkı verdiği dönemlerin keyifli olduğunu söylüyor
Zamanınız varsa mutlaka denemenizi tavsiye ediyor. Linux'a bakışınızı tamamen değiştiriyor
Şimdi sanal makinede tekrar denemeye değecek gibi görünüyor
LFS/BLFS'nin asıl gücü, sistemi kendi kullanım amacınıza göre ayarlayabilmeniz
Ben 4000 projeyi Ruby scripti ile takip ediyorum. gem-coop, ticari rubygems.org'a alternatif olursa projemi yeniden yayımlamayı planlıyorum
Ortaya çıkan sistemi fiilen kullanmadım ama birkaç akşamımı buna ayırdığıma kesinlikle değdi
Bilgiye erişimin kolaylaşmasının Linux'un büyümesindeki büyük nedenlerden biri olduğunu düşünüyorum
Küçükken LFS kurarken, bilgisayarın en alt seviyelerine kadar erişmenin mümkün olduğunu öğrenmiştim
Yine de Gentoo veya Arch, benzer düzeyde öğrenme etkisi sağlayıp çok daha kısa kurulum süresi sunabiliyor
Pek çok kişi "Gentoo yerine LFS'ye geçeceğim" diyor ama çoğu ya yarıda bırakıyor ya da kaynak tabanlı dağıtımlardan ömür boyu nefret etmeye başlıyor
Slackware ve LFS'yi Haskell ile kıyaslayarak, aşırı uçlara gidildiğinde işin verimsizleştiğini söylüyor
LFS'nin belgeleri çok kapsamlı ve Slackware zamana yenik düşmüş olsa da Patrick'in emeği gerçekten büyük
Seattle'daki bir PC geri dönüşüm deposundan 386/486 PC parçaları toplayıp bir araya getiriyor, sonra üzerine Linux kuruyordum
Bu Frankenstein bilgisayarlarla Linux öğrenerek büyüdüm
RPM tabanlı bir sistem kullanırsanız dnf'nin işlem özelliği sayesinde kurulum geçmişi ve geri alma mümkün oluyor; yönetim çok daha kolay
Kitabı bir kez takip edip bir OS oluşturduğunuzda, diğer dağıtımlar arasındaki farkları anlamak kolaylaşıyor ve sisteme karşı bir sahiplik duygusu oluşuyor
ARMv6 için çapraz derleme yaptığından çok zormuş ama çok şey öğrenmiş
Jenkins ile derlemeyi otomatikleştirmiş, sistemi bash scriptleri ve Makefile ile kurmuş
Nihai imaj yaklaşık 40MB'tı ve bu bile başlı başına gurur vericiydi
"Testleri asla atlamayın" ifadesi özellikle akılda kalmış
glibc de bazı test başarısızlıklarını kabul ettiğinden, ben de kendi yazılım testlerime benzer bir ifade ekledim
"Bu adımı ihlal ederseniz sistem bozulabilir" uyarısını görünce bunun Dark Souls benzeri bir Linux dağıtımı olduğu hissine kapılmış
Çekirdeği yeniden derlerken seçeneklerin çokluğu yorucu olabiliyor ama bu tür öğrenme süreçleri Linux'un cazibesinin parçası
Başka işletim sistemlerinde, özellikle Windows'ta, böyle bir kültürü görmek zor
Acaba BSD için de LFS benzeri bir sürüm var mı diye merak ediyor