നിങ്ങളിൽ പലർക്കും ഇത് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിൽ പ്രശ്നമുണ്ടെന്ന് തോന്നുന്നു 200 ലൈൻ പാച്ച് ഉപയോഗിച്ച് കേർണൽ മുൻകൂട്ടി തയ്യാറാക്കി നിങ്ങളുടെ മെഷീനുകളിൽ, ഇത് പ്രതീക്ഷിക്കപ്പെടേണ്ടതാണ്, അതിനാൽ എല്ലായ്പ്പോഴും ഒരു നല്ലത് കേർണൽ ഒരു വിദേശ മെഷീനിനേക്കാൾ നേരിട്ട് ഞങ്ങളുടെ മെഷീനിൽ കംപൈൽ ചെയ്യുന്നു, അതുവഴി ഞങ്ങളുടെ മെഷീന്റെ ആർക്കിടെക്ചറും ഹാർഡ്വെയറിന്റെ പൊതുവായ ക്രമീകരണവും ശരിയായി എടുക്കുന്നു.
ഇക്കാരണത്താൽ, ഉബുണ്ടുവിലെ സ്വന്തം കേർണൽ (2.6.36.2) എങ്ങനെ കംപൈൽ ചെയ്യാമെന്ന് ഞാൻ ഇവിടെ പഠിപ്പിക്കുന്നു ഉബുണ്ടു 10.10) അതിൽ 200-വരി പാച്ച് ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. ഈ പ്രക്രിയ നിങ്ങളുടെ സ്വന്തം ഉത്തരവാദിത്തത്തിലാണ് ചെയ്യേണ്ടതെന്ന് ഓർമ്മിക്കുക, ഇതിന് ഡ download ൺലോഡുചെയ്യുന്നതിന് ധാരാളം പാക്കേജുകളും വളരെ നീണ്ട സമാഹരണ സമയവും ആവശ്യമാണ്.
ആരംഭിക്കുന്നതിന്, ടെർമിനലിൽ ഇനിപ്പറയുന്ന വരി നിർവ്വഹിച്ചുകൊണ്ട് കേർണൽ സമാഹാരത്തിന് ആവശ്യമായ ഡിപൻഡൻസികൾ ഇൻസ്റ്റാൾ ചെയ്യുക എന്നതാണ് നമ്മൾ ആദ്യം ചെയ്യേണ്ടത്:
sudo apt-get install വ്യാജ റൂട്ട് ബിൽഡ്-അവശ്യ ക്രാഷ് kexec-tools makedumpfile കേർണൽ-വെഡ്ജ് കേർണൽ-പാക്കേജ്
ഇപ്പോൾ ടെർമിനലിൽ ഇനിപ്പറയുന്ന വരി എക്സിക്യൂട്ട് ചെയ്യാം, അത് കേർണൽ കംപൈൽ ചെയ്യാൻ ആവശ്യമാണ് (നിന്ന് ഭയങ്കര)
sudo apt-get build-dep linux
സമാഹാരത്തിന് ആവശ്യമായ മറ്റ് പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്തുകൊണ്ട് ഞങ്ങൾ ഈ ആദ്യ ഘട്ടം പൂർത്തിയാക്കുന്നു
sudo apt-get install libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev
കേർണൽ ഇൻസ്റ്റാളേഷൻ പ്രക്രിയ തുടരാൻ, ഏറ്റവും പുതിയ സ്ഥിരതയുള്ള കേർണലിന്റെ (2.6.36.2) ഉറവിടങ്ങളും പാച്ചും ഞങ്ങൾ ഡ download ൺലോഡ് ചെയ്യണം. മൈക്ക് ഗാൽബ്രൈത്ത് ഞങ്ങളുടെ സ്വകാര്യ ഡയറക്ടറിയിൽ അവ കണ്ടെത്തുക.
കേർണൽ സമാഹാരത്തിനായി നമുക്ക് ഒരു ഡയറക്ടറി സൃഷ്ടിക്കാം, അതിൽ നാം സ്വയം കണ്ടെത്തുകയും കേർണൽ ഉറവിടങ്ങൾ ഡ download ൺലോഡ് ചെയ്യുകയും ചെയ്യുന്നു kernel.org:
mkdir kernel-2.6.36.2 cd കേർണൽ -2.6.36.2 wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.2.tar.gz
ഇപ്പോൾ ഞങ്ങൾ ഒരു പുതിയ ടെക്സ്റ്റ് ഫയൽ സൃഷ്ടിക്കുന്നു, മൈക്ക് ഗാൽബ്രൈത്തിന്റെ പോസ്റ്റിൽ ഞങ്ങൾ കണ്ടെത്തുന്ന കോഡ് ഞങ്ങൾ പകർത്തും അല്ലെങ്കിൽ മീഡിയഫയറിൽ നിന്നും ഡ download ൺലോഡുചെയ്യാനും ഫയൽ സംരക്ഷിക്കാനും അടയ്ക്കാനും കഴിയും:
gedit aut / autogroup.patch
മൈക്ക് ഗാൽബ്രെയിത്തിന്റെ official ദ്യോഗിക പോസ്റ്റ്
മീഡിയഫയറിൽ നിന്നുള്ള മൈക്ക് ഗാൽബ്രൈത്ത് പാച്ച്
ഇപ്പോൾ ഞങ്ങൾ ഡ download ൺലോഡ് ചെയ്ത കേർണൽ അൺസിപ്പ് ചെയ്യാൻ പോകുന്നു kernel.org:
tar xzvf linux-2.6.36.2.tar.gz cd linux-2.6.36.2 patch -p1 <~ / autogroup.patch
ഈ സമയത്ത് എല്ലാം ശരിയായി നടക്കണം, പിശകുകൾ ഇല്ലാതെ, ഒരു പിശക് ഉണ്ടെങ്കിൽ പ്രക്രിയ പുനരാരംഭിക്കേണ്ടത് ആവശ്യമാണ്.
അടുത്തതായി ഞങ്ങൾ കേർണലിന്റെ നിലവിലെ കോൺഫിഗറേഷൻ ലോഡ് ചെയ്യും, അതുവഴി പുതിയ കേർണൽ ഞങ്ങളുടെ സിസ്റ്റത്തിൽ നിന്ന് കോൺഫിഗറേഷൻ നേരിട്ട് എടുക്കും, ഇത് കംപൈൽ ചെയ്യുമ്പോൾ ഞങ്ങൾക്ക് ഒരു പ്രശ്നവുമില്ല. അങ്ങനെയാണെങ്കിലും, നിങ്ങൾക്ക് ആവശ്യത്തിന് അറിവുണ്ടെങ്കിൽ, നിങ്ങളുടെ ആവശ്യങ്ങൾക്കനുസൃതമായി ഒരു സിസ്റ്റം നേടുന്നതിന് കേർണൽ കോൺഫിഗറേഷൻ ഇച്ഛാനുസൃതമാക്കാൻ നിങ്ങൾക്ക് കഴിയും, നിങ്ങൾക്ക് കഴിയും.
നിങ്ങൾ എന്താണ് ചെയ്യുന്നതെന്ന് അറിയില്ലെങ്കിൽ, കേർണൽ കോൺഫിഗറേഷൻ സ്വമേധയാ പരിഷ്ക്കരിക്കാതിരിക്കുന്നതാണ് നല്ലത്.
ടെർമിനലിൽ ഇനിപ്പറയുന്ന കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്തുകൊണ്ട് ഞങ്ങൾ കോൺഫിഗറേഷൻ പകർത്തുന്നു, പിന്നീട് ഞങ്ങൾ എക്സിക്യൂട്ട് ചെയ്യുന്നു
lsmod
അതിനാൽ ഞങ്ങളുടെ സിസ്റ്റത്തിൽ ലോഡുചെയ്ത എല്ലാ മൊഡ്യൂളുകളും എക്സിക്യൂട്ട് ചെയ്യപ്പെടുകയും ഞങ്ങളുടെ എല്ലാ ഹാർഡ്വെയറുകളും തിരിച്ചറിഞ്ഞിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുകയും ചെയ്യുന്നു.
cp -vi / boot / config-`uname -r` .config localmodconfig ആക്കുക
ഈ സമയത്ത് സമാഹരണ പ്രക്രിയ നിങ്ങളോട് മൊഡ്യൂളുകളെക്കുറിച്ച് നിരവധി ചോദ്യങ്ങൾ ചോദിക്കും, അമർത്തിക്കൊണ്ട് ചോദിക്കുന്ന എല്ലാ ചോദ്യങ്ങളും സ്വീകരിക്കുന്നത് തുടരുക നൽകുക സജ്ജീകരണ പ്രക്രിയ പൂർത്തിയാകുന്നതുവരെ.
കേർണൽ കോൺഫിഗറേഷൻ മെനു തുറക്കുന്നതിന് ടെർമിനലിൽ ഇനിപ്പറയുന്ന വരി നിർവ്വഹിച്ചുകൊണ്ട് ഞങ്ങൾ കേർണൽ സമാഹാരം തുടരുന്നു:
cp / boot / config - $ (uname -r) .config && അതെ "" | oldconfig മെനു കോൺഫിഗ് ആക്കുക
200-വരി പാച്ചിൽ ഞങ്ങൾക്ക് താൽപ്പര്യമുള്ളതിനാൽ ഇപ്പോൾ ഞങ്ങളുടെ കേർണലിൽ പ്രവർത്തനക്ഷമമാക്കാൻ ആഗ്രഹിക്കുന്ന പാച്ചുകൾ തിരഞ്ഞെടുക്കാം.
ഇത് ചെയ്യുന്നതിന്, ദൃശ്യമാകുന്ന കേർണൽ കോൺഫിഗറേഷൻ മെനുവിലൂടെ ഞങ്ങൾ നാവിഗേറ്റുചെയ്യുന്നു
General Setup
ഞങ്ങൾ പേരിനൊപ്പം വരി തിരയുന്നു
Automatic process group scheduling
, ഞങ്ങളുടെ കീബോർഡിലെ സ്പെയ്സ് ബാർ അമർത്തിക്കൊണ്ട് ഞങ്ങൾ ഇത് പ്രവർത്തനക്ഷമമാക്കുന്നു, ഞങ്ങൾ ഓപ്ഷനിൽ സ്ഥാനം പിടിക്കുന്നു
Exit
കീബോർഡിലെ അമ്പടയാള കീകൾ ഉപയോഗിച്ച് കീ അമർത്തുക നൽകുക മെനുവിൽ നിന്ന് പുറത്തുകടക്കാൻ ഞങ്ങളുടെ കീബോർഡിൽ നിന്ന്
General Setup
.
ഇപ്പോൾ ഞങ്ങൾ മെനുവിലേക്ക് നാവിഗേറ്റുചെയ്യുന്നു
Kernel hacking
കീ അമർത്തിക്കൊണ്ട് ഞങ്ങൾ പ്രവേശിക്കുന്നു നൽകുക, ഞങ്ങൾ ഓപ്ഷനായി തിരയുന്നു
Compile the kernel with debug info
ഞങ്ങളുടെ കീബോർഡിലെ സ്പെയ്സ് ബാർ അമർത്തിക്കൊണ്ട് ഞങ്ങൾ അത് തിരഞ്ഞെടുത്തത് മാറ്റുന്നു, വീണ്ടും ഞങ്ങൾ ഓപ്ഷനിലേക്ക് പോകുന്നു
Exit
ഞങ്ങൾ അമർത്തുന്നു നൽകുക പ്രധാന മെനുവിൽ നിന്ന് പുറത്തുകടക്കാൻ.
ഞങ്ങൾ കേർണൽ കോൺഫിഗറേഷൻ പൂർത്തിയാക്കി, അതിനാൽ ഞങ്ങൾ തിരികെ പോകണം
Exit
പ്രധാന മെനുവിലും അമർത്തുക നൽകുക കേർണൽ കോൺഫിഗറേഷൻ പൂർത്തിയാക്കാൻ. അതെ എന്ന ഓപ്ഷനിൽ Enter അമർത്തിക്കൊണ്ട് കേർണൽ കോൺഫിഗറേഷനിൽ വരുത്തിയ മാറ്റങ്ങൾ സംരക്ഷിക്കണോ എന്ന് ചോദിക്കുമ്പോൾ ഞങ്ങൾ സ്വീകരിക്കുന്നു.
ഇപ്പോൾ അതെ, ടെർമിനലിൽ ഇനിപ്പറയുന്ന വരി എക്സിക്യൂട്ട് ചെയ്ത് ഞങ്ങൾ കേർണൽ കംപൈൽ ചെയ്യാൻ പോകുന്നു:
വ്യാജ റൂട്ട് നിർമ്മിക്കുക-kpkg --initrd --append-to-version = -20101209 കേർണൽ-ഇമേജ് കേർണൽ-തലക്കെട്ടുകൾ
നിങ്ങളുടെ ഹാർഡ്വെയറിനെ ആശ്രയിച്ച് ബിൽഡ് പ്രോസസ്സ് വ്യത്യാസപ്പെടാം
ഇത് കേർണൽ -2.6.36.2 ഡയറക്ടറിയിൽ രണ്ട് .ഡെബ് പാക്കേജുകൾ സൃഷ്ടിക്കും, അവ പുതിയ കേർണൽ ഞങ്ങളുടെ ഉബുണ്ടുവിൽ ഇൻസ്റ്റാൾ ചെയ്യാൻ ഉപയോഗിക്കും. സിനാപ്റ്റിക് എളുപ്പത്തിൽ നീക്കംചെയ്യാവുന്നതും.
ഈ ട്യൂട്ടോറിയലിന്റെ അവസാന ഭാഗത്തേക്ക് ഞങ്ങൾ വരുന്നു, അവിടെ ഞങ്ങൾ ഇപ്പോൾ ഇൻസ്റ്റാൾ ചെയ്ത പുതിയ കേർണലിന്റെ ശരിയായ പ്രവർത്തനം ഇൻസ്റ്റാൾ ചെയ്ത് പരിശോധിക്കാൻ പോകുന്നു.
ഞങ്ങൾ ഇപ്പോൾ സൃഷ്ടിച്ച രണ്ട് .deb പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് ടെർമിനലിൽ ഇനിപ്പറയുന്ന കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യണം:
cd .. sudo dpkg -i * .ഡെബ്
എല്ലാം ശരിയായി നടന്നാൽ, ഞങ്ങൾ ഞങ്ങളുടെ മെഷീനും പട്ടികയിലും പുനരാരംഭിച്ചു ഗ്രബ്, ഞങ്ങൾ പുതിയ കേർണൽ തിരഞ്ഞെടുത്ത് (2.6.36.2) അമർത്തുക നൽകുക സിസ്റ്റം ആരംഭിക്കാൻ.
ഞങ്ങൾ ഡെസ്ക്ടോപ്പിൽ തിരിച്ചെത്തിക്കഴിഞ്ഞാൽ, 200-ലൈൻ പാച്ച് ശരിയായി പ്രയോഗിച്ചിട്ടുണ്ടെന്നും ഒരു ടെർമിനലിൽ ഇനിപ്പറയുന്ന വരി എക്സിക്യൂട്ട് ചെയ്തുകൊണ്ട് പ്രവർത്തിക്കുന്നുവെന്നും ഞങ്ങൾ പരിശോധിക്കും:
cat /usr/src/linux-headers-2.6.36.2-20101219/.config | grep -i ഓട്ടോഗ്രൂപ്പ്
ഇതിന് ഇതുപോലുള്ള ഒരു വരി നൽകേണ്ടതുണ്ട്:
CONFIG_SCHED_AUTOGROUP = y
അങ്ങനെയാണെങ്കിൽ, ഞങ്ങളുടെ സിസ്റ്റം അതിനൊപ്പം പ്രവർത്തിക്കുന്നു. കേർണൽ 2.36.6.2 പിന്നെ "യാന്ത്രിക പ്രോസസ്സ് ഗ്രൂപ്പ് ഷെഡ്യൂളിംഗ്" സജീവമാക്കി.
നമുക്ക് ഇതിനകം തന്നെ ഉബുണ്ടുവിനെ പരമാവധി stress ന്നിപ്പറയാൻ കഴിയും ...
പരിശ്രമത്തിന് നന്ദി ഈ മാനുവൽ നിങ്ങൾക്ക് വരുന്നു ഫ്രാങ്കോബ്.
10 അഭിപ്രായങ്ങൾ, നിങ്ങളുടേത് വിടുക
ഹായ് ഡേവിഡ്
എന്റെ ചോദ്യം ഇതാണ്:
ഞാൻ സാധാരണയായി ഉബുണ്ടു പിപയുടെ കേർണലുകൾ ഉപയോഗിക്കുന്നു (https://launchpad.net/~kernel-ppa/+archive/ppa)
ഇവ 200-വരി പാച്ച് ഉൾപ്പെടുത്തിയിട്ടില്ലേ?
Gracias
നോക്കൂ, ഉബുണ്ടു പിപിഎ കേർണലിൽ പാച്ച് ഉൾപ്പെടുത്തിയിട്ടുണ്ടോ എന്ന് ഞാൻ ഇപ്പോഴും പരിശോധിക്കുന്നു, പക്ഷേ ഇത് സ്വയം കണ്ടെത്തുന്നത് എളുപ്പമാണ്, കമാൻഡ് പ്രവർത്തിപ്പിക്കുക
cat /usr/src/[versión del último kernel]/.config | grep -i AUTOGROUP
, അവിടെ നിങ്ങളുടെ മെഷീനിലെ ഏറ്റവും പുതിയ കേർണലിന്റെ പതിപ്പിനായി ബ്രാക്കറ്റിനുള്ളിലെ വാചകം മാറ്റും.നിങ്ങൾക്ക് ഇതുപോലുള്ള ഒരു മറുപടി സന്ദേശം ലഭിക്കുകയാണെങ്കിൽ
CONFIG_SCHED_AUTOGROUP=y
, തുടർന്ന് നിങ്ങൾ പാച്ച് ഇൻസ്റ്റാൾ ചെയ്തു.ശ്രദ്ധിക്കുക: നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള എല്ലാ കേർണലുകളുടെയും പതിപ്പ് അറിയാൻ, നിങ്ങൾ കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യണം
ls /usr/src/
ടെർമിനലിൽ.ഹൊറാസിയോ, ഉബുണ്ടു പിപിഎ കേർണലിന് നിലവിൽ വി 4 പാച്ച് ഉണ്ട് മൈക്ക് ഗ്ലാബ്രെയിത്ത് സ്വന്തം വാക്കുകളിൽ ടിം ഗാർഡ്നർ (കാനോനിക്കൽ ഡെവലപ്പർ).
ശരി, ഞാൻ ഇതിനകം സമാഹരിച്ച് ഇത് ഇൻസ്റ്റാൾ ചെയ്തു,…. ഇത് എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് കാണുന്നതിന് കുറഞ്ഞത് സിസ്റ്റം ഇപ്പോൾ മരിക്കുന്നില്ല
മികച്ച ട്യൂട്ടോറിയൽ. ഞാൻ കത്തിന്റെ ഘട്ടങ്ങൾ പിന്തുടർന്നു, എല്ലാം കൃത്യമായി പ്രവർത്തിച്ചു. എനിക്ക് എന്റെ പുതിയ കേർണൽ ഉണ്ട്.
കുറിപ്പ്: എനിക്ക് യുക്തിസഹമായി തോന്നുന്ന ഒരു മാറ്റം മാത്രമാണ് ഞാൻ ചെയ്തത്, അത് ഇവിടെയായിരുന്നു:
cp -vi / boot / config-`uname -r` .config
localmodconfig ഉണ്ടാക്കുക
ഞാനിത് ഇതുപോലെ ചെയ്തു:
cp -vi / boot / config-`uname -r` .config
lsmod
localmodconfig ഉണ്ടാക്കുക
ഇപ്പോൾ ഞാൻ ഒരു ചെറിയ തെറ്റ് ചെയ്തുവെന്ന് മനസിലാക്കുന്നു, അതിനാൽ ഞാൻ ഇത് വീണ്ടും ഇൻസ്റ്റാൾ ചെയ്യും ... കൂടാതെ ഇർവിംഗ് പരിഷ്ക്കരണം ചേർക്കുക
ഞാൻ തുടക്കത്തിൽ തന്നെ തുടരുന്നു:
init: വായിക്കാത്ത പ്രധാന പ്രോസസ്സ് (362) സ്റ്റാറ്റസ് 5 ഉപയോഗിച്ച് അവസാനിപ്പിച്ചു
ശരി, ഇത് നന്നായി പ്രവർത്തിക്കുമെന്ന് തോന്നുന്നു, അത് എന്തായിരിക്കാം ??? '
മാനുവൽ വളരെ നല്ലതാണ്, അവരും തരിംഗയിൽ പോസ്റ്റുചെയ്തു, ഈ നിമിഷം അത് കേർണൽ കംപൈൽ ചെയ്യുന്നു, അത് നന്നായി പോയി എന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു മെനുകോൺഫിഗിലെ പ്രോസസറിന്റെ തരം ഞാൻ മാറ്റുന്നു ഇന്റൽ കോർ / പുതിയത് തിരഞ്ഞെടുത്ത് നിങ്ങൾ നന്നായി തിരഞ്ഞെടുത്തുവെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു എനിക്ക് ഒരു ഇന്റൽ കോർ ഐ 3 പ്രോസസർ ഉള്ളതിനാൽ സിയോൺ, ഇൻപുട്ടിന് ആശംസകളും നന്ദി
ഹലോ, നന്നായി, കമാൻഡ് എനിക്ക് മികച്ചതായി തോന്നുന്നു
cp / boot / config-`uname –kernel-release` ./.config
ഇത് ഇൻസ്റ്റാൾ ചെയ്ത ഏറ്റവും പുതിയ കേർണൽ കോൺഫിഗറേഷൻ ഉപയോഗിക്കുന്നതിനാൽ
ഹലോ, സുഖമാണോ? എനിക്ക് ഒരു ചെറിയ സംശയം മാത്രമേയുള്ളൂ… കേർണൽ ഫയലിൽ 32-ബിറ്റ്, 64-ബിറ്റ് പതിപ്പുകൾ വരുന്നു? അല്ലെങ്കിൽ amd64 പതിപ്പ് ലഭിക്കാൻ എനിക്ക് വേറൊന്ന് ഡ download ൺലോഡ് ചെയ്യേണ്ടതുണ്ടോ?… കിഴിവിലൂടെ രണ്ട് പതിപ്പുകളും ഒരേ രീതിയിൽ വരേണ്ടതുണ്ടോ?… വളരെ നല്ല വിശദീകരണം!
നന്ദി!