ലിനക്സ് ഫ്രം സ്ക്രാച്ച്

ജെറാർഡ് ബീക്ക്മാന്റെ ഒരു പുസ്തകത്തിന്റെ പേരും അതിനെ അടിസ്ഥാനമാക്കിയുള്ള ലിനക്സ് ഇൻസ്റ്റലേഷന്റെ ഒരു രീതിയുമാണ് ലിനക്സ് ഫ്രം സ്ക്രാച്ച്. നിലവിൽ ബ്രൂസ് ഡബ്ബുസാണ് പ്രധാമായും എൽഎഫ്എസ് പരിപാലിക്കുന്നത്. സ്രോതസ്സിൽ നിന്നും ഒരു ലിനക്സ് സിസ്റ്റം എങ്ങനെ നിർമ്മിക്കണം എന്ന് ഈ പുസ്തകത്തിൽ നൽകിയിരിക്കുന്നു. ഈ പുസ്തകം സ്വതന്ത്രമായി ലിനക്സ് ഫ്രം സ്ക്രാച്ച് സൈറ്റിൽ ലഭ്യമാണ്.

 എൽഎഫ്എസിനു കീഴിലുള്ള പ്രൊജക്ടുകൾ 
സ്രോതസ്സിൽ നിന്നും ഒരു ലിനക്സ് സിസ്റ്റം നിർമ്മിക്കാനുള്ള മാർഗ്ഗമാണ് ലിനക്സ് ഫ്രം സ്ക്രാച്ച്. പ്രീ-കംപൈൽ ചെയ്ത ലിനക്സ് ഡിസ്ട്രിബ്യൂഷൻ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനേക്കാൾ സ്വാഭാവികമായും ഒരു വലിയ പ്രക്രിയയാണ് ഇത്. ലിനക്സ് അടിസ്ഥാനമാക്കിയുള്ള ഓപ്പറേറ്റിങ് സിസ്റ്റങ്ങളുടെ ആന്തരിക പ്രവർത്തനങ്ങളെക്കുറിച്ച് കൂടുതൽ മനസ്സിലാക്കുൻ ഉതകുന്നതും, ഒരു കോംപാക്റ്റ്, ഫ്ലെക്സിബിൾ, സുരക്ഷിതവുമായ സിസ്റ്റമാണ് എന്നതാണ് എൽഎഫ്എസിന്റെ പ്രത്യേകത.

LFS ചെറുതും അടിസ്ഥാനപരവുമായി നിലനിർത്തുക എന്ന ഉദ്ദേശത്തോടുകൂടി ബിയോണ്ട് ലിനക്സ് ഫ്രം സ്ക്രാച് (BLFS) എന്ന പുസ്തകം എഴുതിയിട്ടുണ്ട്, LFS ൽ സൃഷ്ടിച്ച അടിസ്ഥാന ലിനക്സ് സിസ്റ്റം വികസിപ്പിക്കേണ്ടത് എങ്ങനെയെന്നാണ് ഈ പുസ്തകത്തിൽ നൽകിയിരിക്കുന്നത്. നെറ്റ്വർക്കിങ്, എക്സ്, ശബ്ദം, പ്രിന്റർ, സ്കാനർ പിന്തുണ എന്നിവ എങ്ങനെ കൂട്ടിച്ചേർക്കാം എന്ന് വായനക്കാരെ ഇത് പരിചയപ്പെടുത്തുകയും നയിക്കുകയും ചെയ്യുന്നു. റിലീസ് 5.0 മുതൽ BLFS പുസ്തകത്തിന്റെ പതിപ്പ് LFS പുസ്തക പതിപ്പുമായി പൊരുത്തപ്പെടുന്നതാണ്.

ക്രോസ് ലിനക്സ് ഫ്രം സ്ക്രാച് (CLFS) എന്ന പുസ്തകം ക്രോസ് കംപൈൽ ചെയ്യുന്നതിൽ കേന്ദ്രികരിച്ചിരിക്കുന്നു. ലിനക്സ് പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്ന ഹെഡ്ലെസ്സ് അല്ലെങ്കിൽ എംബെഡ് ചെയ്ത സിസ്റ്റങ്ങൾക്ക് വേണ്ടി കംപൈൽ ചെയ്യുന്നതുൾപ്പെടെ എങ്ങനെയെന്ന് സിഎൽഎഫ്എസിൽ നൽകിയിരിക്കുന്നു.  LFS പുസ്തകത്തിൽ ഉൾപ്പെടുത്തിയിട്ടില്ലാത്ത നൂതന സാങ്കേതികവിദ്യകൾ, ക്രോസ്-ബിൽഡ് ടൂൾചെയിൻസ്, മൾടിലൈബ്രറി പിന്തുണ (32 & 64-ബിറ്റ് ലൈബ്രറികൾ ഒരുമിച്ച്), കൂടാതെ ഇതര ആർക്കിടെക്ച്വറുകൾക്കു വേണ്ടിയുള്ള ഇൻസ്ട്രക്ഷൻ സെറ്റുകളായ SPARC , മിപ്സ്, ആൽഫ എന്നിവയേക്കുറിച്ചും സിഎൽഎഫ്എസിൽ നൽകിയിരിക്കുന്നു.

ഹാർഡഡ് ലിനക്സ് ഫ്രം സ്ക്രാച്ച് (HLFS) എന്ന പുസ്തകം ഹാർഡ്ഡ്ഡ് കേർണൽ പാച്ചുകൾ, നിർബന്ധിത ആക്സസ് കൺട്രോൾ നയങ്ങൾ, സ്റ്റാക്ക് സ്മാഷിംഗ് പ്രൊട്ടക്ഷൻ, അഡ്രസ്സ് സ്പേസ് ലേഔട്ട് റാൻഡമൈസേഷൻ തുടങ്ങിയ സുരക്ഷാ മെച്ചപ്പെടുത്തലുകളെ കേന്ദ്രീകരിക്കുന്നു. സുരക്ഷാ കേന്ദ്രീകൃത ഓപ്പറേറ്റിംഗ് സിസ്റ്റം സൃഷ്ടിക്കുന്നതിന്റെ പ്രധാന ഉദ്ദേശം കൂടാതെ, HLFS ഒരു സുരക്ഷാ അധ്യാപന ഉപകരണം എന്നതിന്റെ ദ്വിതീയ ലക്ഷ്യം ഉണ്ട്.

ഒരു എൽഎഫ്എസ് സിസ്റ്റം ഉണ്ടാക്കുന്ന പ്രക്രിയ ഓട്ടോമേറ്റ് ചെയ്യുന്നതിനായി രൂപകല്പന ചെയ്ത ഒരു പദ്ധതിയായാണ് ഓട്ടോമാറ്റെഡ് ലിനക്സ് ഫ്രം സ്ക്രാച്ച് (ALFS). എൽ.എഫ്.എസ്, ബിഎൽഎഫ്എസ് ബുക്കുകൾ ഒട്ടേറെ തവണ കടന്നുപോയിട്ടുള്ള ഉപയോക്താക്കളെ ലക്ഷ്യം വയ്ക്കുകയും, അവയിൽ ഉൾപെട്ടിട്ടുള്ള ജോലിഭാരം കുറയ്ക്കാൻ ശ്രമിക്കുകയും ചെയ്യുന്നു. LFS, BLFS എന്നീ പുസ്തകങ്ങളുടെ XML സ്രോതസ്സുകളിൽ നിന്നുള്ള നിർദ്ദേശങ്ങൾ നേരിട്ട് എക്സ്ട്രാക്ട് ചെയ്ത് നിർവ്വഹിക്കുക വഴി LFS, BLFS എന്നീ പുസ്തകങ്ങളെ പരീക്ഷിക്കുകയാണ് ദ്വിതീയ ലക്ഷ്യം.

 ആവശ്യങ്ങളും നടപടിക്രമങ്ങളും 
എൽഎഫ്എസ് നിർമ്മിക്കാൻ ഒരു ശുദ്ധമായ പാർട്ടീഷ്യനും ഒരു കമ്പ്യൂട്ടറും കമ്പൈലർ അടങ്ങിയിട്ടുള്ള ഒരു ലിനക്സ് സിസ്റ്റവും മറ്റ് ചില പ്രധാന സോഫ്റ്റ്‌വേർ ലൈബ്രറികളും ആവശ്യമാണ്. നിലവിലുളള ലിനക്സ് സിസ്റ്റത്തിൽ നിന്നും ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനു് പകരം,  എൽഎഫ്എസ് സിസ്റ്റം ഉണ്ടാക്കുന്നതിനു് ലൈവ് സിഡിയും ഉപയോഗിയ്ക്കാം.

പ്രോജക്റ്റ് മുന്നെ ലിനക്സ് ഫ്രം സ്ക്രോച്ച് ലൈവ് സിഡി കൈകാര്യം ചെയ്തിരുന്നു. എൽഎഫ്എസ് ലൈവ് സിഡിയിൽ എല്ലാ ഉറവിട പാക്കേജുകളും (പൂർണ്ണ ലൈവ് സി.ഡി.യിൽ മാത്രം), എൽഎഫ്എസ് ബുക്ക്, ഓട്ടോമേറ്റഡ് ബിൽഡിംഗ് ടൂളുകൾ, (ചെറു ലൈവ് സിഡി വേർഷൻ ഒഴികെ) പ്രവർത്തിപ്പിക്കാൻ ഒരു Xfce GUI എൻവയോൺമെന്റും ഉൾപെട്ടിരുന്നു. LFS version7 നു മുകളിലോട്ട് ഔദ്യോഗിക എൽഎഫ്എസ് ലൈവ് സിഡി ഇപ്പോൾ ലഭ്യമല്ല. എന്നിരുന്നാലും, LFS 7.x ന് യഥാക്രമം 32-ബിറ്റ് അല്ലെങ്കിൽ 64-ബിറ്റ് കെർണലും യൂസേർസ്പേസും നിർമ്മിക്കാൻ രണ്ട് അനൗദ്യോഗിക നിർമ്മിതികൾ ഉണ്ട്.

ആദ്യം, ജിസിസി, ജിലിബ്സി, ബിൻയൂട്ടിൽസ് തുടങ്ങിയ എൽഎഫ്എസ് കംപൈൽ ചെയ്യുന്നതിനുള്ള ഉപകരണങ്ങളടങ്ങിയ ഒരു ഉപകരണശേഖരം കംപൈൽ ചെയ്യണം. ശേഷം, പുതിയ സിസ്റ്റം നിർമ്മിയ്ക്കുന്നതിനായുള്ള ടൂൾചെയിന്റെ പാർട്ടീഷനിലേക്കു് റൂട്ട് ഡയറക്ടറി മാറ്റണം (chroot ഉപയോഗിച്ചു്). കംപൈൽ ചെയ്യുന്ന ആദ്യ പാക്കേജുകളിൽ ഒന്ന് glibc ആണ്; പിന്നീടു്, ടൂൾചൈനിന്റെ ലിങ്കർ പുതുതായി നിർമ്മിച്ച glibc-ലേക്ക് ലിങ്ക് ചെയ്യുന്നതിനായി ക്രമീകരിച്ചു്,  പൂർത്തിയായ സിസ്റ്റത്തിലുള്ള മറ്റെല്ലാ പാക്കേജുകളും അതുമായി ബന്ധിപ്പിയ്ക്കാവുന്നതാണു്. Chroot ഘട്ടത്തിൽ, ബാഷ് ന്റെ ഹാഷിങ് സവിശേഷത ഓഫ് ചെയ്യുകയും താൽക്കാലിക ടൂൾചെയിന്റെ ബിൻ ഡയറക്ടറി PATH ന്റെ അവസാന ഭാഗത്തേക്കു ചേർക്കുകയും ചെയ്യുന്നു. ഈ രീതിയിൽ പുതുതായി കമ്പൈഡ് പ്രോഗ്രാമുകൾ PATH ൽ ആദ്യം വരുന്നു, കൂടാതെ പുതിയ സിസ്റ്റം സ്വന്തം ഘടകങ്ങളിൽ നിർമ്മിതമാകുകയും ചെയ്യുന്നു.

 References 

വർഗ്ഗം:സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ