[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Разлике

Овде су приказане разлике између изабране ревизије и тренутне верзије странице.

Постави везу ка овом компаративном приказу

Обе стране последње ревизијеПретходна ревизија
Следећа ревизија
Претходна ревизија
Последња ревизијаОбе стране следеће ревизије
sr:slackbook:linux_kernel [2013/06/30 17:58 (UTC)] slackmuzsr:slackbook:linux_kernel [2013/07/02 11:37 (UTC)] slackmuz
Линија 138: Линија 138:
  
 Срећом, постоје два лакша начина за конфигурацију кернела: //menuconfig// и //xconfig//. Оба поменута креирају програм којим управљате из изборника и који вам омогућује да једноставно обележите или уклоните опцију, без да прелазите кроз сваку корак по корак. //menuconfig// је најкоришћенији метод и њега препоручујем. //xconfig// је користан једино ако желите да компилујете кернел из графичког сучеља у **//X//**-у. Оба су веома слична, тако да ћемо документовати само //menuconfig// Срећом, постоје два лакша начина за конфигурацију кернела: //menuconfig// и //xconfig//. Оба поменута креирају програм којим управљате из изборника и који вам омогућује да једноставно обележите или уклоните опцију, без да прелазите кроз сваку корак по корак. //menuconfig// је најкоришћенији метод и њега препоручујем. //xconfig// је користан једино ако желите да компилујете кернел из графичког сучеља у **//X//**-у. Оба су веома слична, тако да ћемо документовати само //menuconfig//
 +
 +Покретање **make manuconfig** у терминалу представиће вам познато //curses// сучеље као на слици испод. Сваки део кернела има свој подмени кроз који се можете кретати тастерима са стрелицама. 
 +
 +{{ :slackbook:make-menuconfig-w.png |make-menuconfig}}
 +
 +<note important>Уколико компилујете кернел који предтсавља исто издање као и ускладиштен Слекверов кернел, морате да подесите //Local version// опцију. Она се налази у //General setup// подменију. Изостављање ове опције ће резултовати преписивањем свих модула коришћених од стране ускладиштених кернела, што може довести до онемогућавања покретања система.</note>
 +
 +Када завршите са конфигурацијом кенрела, време ја за компиловање. Постоји више метода за ово, али је најпоузданији коришћење //bzImage//-а. Када доделите овај аргумент команди **//make//**, компиловање кернела ће почети и видећете мноштво података како се исписују у терминалу све док се процес компиловања не заврши или се не појави нека грешка.
 +
 +<code>
 +darkstar:/usr/src/linux# make bzImage
 +scripts/kconfig/conf -s arch/x86/Kconfig
 +  CHK     include/linux/version.h
 +  CHK     include/linux/utsrelease.h
 +  SYMLINK include/asm -> include/asm-x86
 +  CALL    scripts/checksyscalls.sh
 +  CC      scripts/mod/empty.o
 +  HOSTCC  scripts/mod/mk_elfconfig
 +  MKELF   scripts/mod/elfconfig.h
 +  HOSTCC  scripts/mod/file2alias.o
 +... многе линије су изостављене ...
 +</code>
 +
 +Уколико се процес оконча грешком, прво треба да проверите конфигурацију кернела. Грешке при компиловању обично настају због недостатака у //.config// фајлу. Предпоставимо да је све прошло како треба, још нисмо потпуно готови јер треба да изградимо модуле.
 +
 +<code>
 +
 +darkstar:/usr/src/linux# make modules
 +  CHK     include/linux/version.h
 +  CHK     include/linux/utsrelease.h
 +  SYMLINK include/asm -> include/asm-x86
 +  CALL    scripts/checksyscalls.sh
 +  HOSTCC  scripts/mod/file2alias.o
 +... многе линије су изостављене ...
 +</code>
 +
 +Ако се компиловање и кренела и модула успешно завршило, ред је да их инсталирамо. Слика кернела треба да се пребаци на безбедну локацију, обично је то **///boot//** директоријум, и треба да јој дате јединстваено име како бисте избегли преписивање других слика кернела које се ту налазе. Традиционално се слике кернела именују са //vmlinuz//, на шта се додаје издање кернела и локална верзија.
 +
 +<code>
 +
 +  darkstar:/usr/src/linux# cat arch/x86/boot/bzImage > /boot/vmlinuz-release_number-local_version
 +  darkstar:/usr/src/linux# make modules_install
 +</code>
 +
 +
 +Када се све ово оконча, имаћете нову слику кернела смештену у ///boot// и нови директоријум језгарних модула смештен у ///lib/modules//. Како бисте користили ново језгро, мораћете да уређујете //lilo.conf//, креирате //initrd// (само уколико желите да учитате један или више ових језгарних модула при стартовању система), и да покренете **//lilo//** како бисте ажурирали програм за подизање оперативног система. Уколико након рестарта све крене по плану, требало би да имате опцију да стартујете новокомпиловани кернел. Уколико нешто крене по злу, мораћете да потрошите још мало времена да исправите проблем.
 +
 +====== Навигација кроз поглавља ======
 +
 +**Претходно поглавље: [[sr:slackbook:tracking_updates|Праћење ажурирања]]**
 +
 +====== Извори ======
 +
 +  * Оригинални извор: [[http://www.slackbook.org/beta]]
 +  * Изворно написали Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson
 +
 sr:slackbook:linux_kernel ()