1. Добијање изворног кода
2. Креирање ПРИЛАГОЂЕНЕ конфигурације
3. Изградња и инсталирање вашег ЦУСТОМ кернела
Подразумевано, ФрееБСД оперативни систем користи GENERICкернел; међутим, у овом водичу ћемо поново компајлирати ФрееБСД кернел са прилагођеном конфигурацијом познатом као: CUSTOM.
Предуслови
1) Да бисте пратили овај водич, примените следећу инстанцу:
2) Када се ваша инстанца примени, инсталирајте sudoкао роот корисник:
# pkg install -y sudo
3) Креирајте локалног корисника као члана групе точкова, а затим издајте лозинку:
# pw useradd test -g wheel
# passwd test
Changing local password for test
New Password:
Retype New Password:
4) Дозволите свим члановима групе точкова да изврше било коју команду
# visudo
Промена:
# %wheel ALL=(ALL) ALL
До
%wheel ALL=(ALL) ALL
Сачувајте и изађите притиском на Escтастер, а затим куцањем:wq!
5) Пређите на љуску новог корисника
# su test
$
1. Добијање изворног кода
Да бисмо поново компајлирали кернел, прво морамо добити изворни код из ФрееБСД-овог система за контролу верзија; у овом случају,subversion
$ sudo pkg install -y subversion
Password:
Подразумевано, љуска за нове кориснике ФрееБСД-а је sh; међутим, мораћемо ово да променимо у cshнакон инсталацијеsubversion
1) Потврдите љуску тренутног корисника:
$ echo $SHELL
/bin/sh
2) Промените љуску тренутног корисника у csh:
$ chsh -s /bin/csh
Password:
chsh: user information updated
3) Потврдите да је љуска промењена за тренутног корисника:
$ grep test /etc/passwd
test:*:1001:0:User &:/home/test:/bin/csh
ИЛИ
$ echo $SHELL
/bin/csh
4) Сада када је љуска тренутног корисника конфигурисана као csh, сада можемо rehashтабеле директоријума:
$ rehash
5) На крају, погледајте копију најновије стабилне гране у /usr/srcдиректоријуму:
$ sudo svn co --trust-server-cert --non-interactive https://svn0.us-east.freebsd.org/base/stable/11/ /usr/src
Password:
Checked out revision 317943.
2. Креирање CUSTOMконфигурације
За нашу CUSTOMконфигурацију кернела, копираћемо постојећу GENERICконфигурацију.
1) Копирајте GENERICиз /usr/src/sys/amd64/conf/директоријума као CUSTOM:
$ sudo cp /usr/src/sys/amd64/conf/GENERIC /usr/src/sys/amd64/conf/CUSTOM
Password:
Унутар наше CUSTOMконфигурације кернела, направићемо неке промене.
2) Отвори /usr/src/sys/amd64/conf/CUSTOM:
$ sudo vi /usr/src/sys/amd64/conf/CUSTOM
У реду 22 видећете identзаставицу, бројеви редова се могу видети у viуређивачу притиском на Escтастер, а затим куцањем:set nu
22 ident GENERIC
3) Промените GENERICназив вашег прилагођеног кернела; у овом случају CUSTOM:
22 ident CUSTOM
Штавише, на дну конфигурације, додаћемо следеће:
options IPSEC
options TCP_SIGNATURE
Када будете задовољни својим променама, сачувајте и поново изађите притиском на Escтастер, а затим куцањем:wq!
Додатне информације за ове различите опције могу се наћи у NOTESдатотеци за сваки тип архитектуре унутар /usr/src/sys/директоријума.
Испод је неколико уобичајених NOTESлокација архитектуре :
/usr/src/sys/amd64/conf/NOTES
/usr/src/sys/arm64/conf/NOTES
/usr/src/sys/i386/conf/NOTES
Могу се позивати на опције које су независне од архитектуре /usr/src/sys/conf/NOTES
За више детаља, погледајте ФрееБСД приручник .
3. Израда и инсталирање вашег CUSTOMкернела
Сада ћемо саставити CUSTOMкернел који сте припремили.
1) Пређите у /usr/srcдиректоријум и издајте а make buildkernelса CUSTOMконфигурационом датотеком:
$ cd /usr/src
$ sudo make buildkernel KERNCONF=CUSTOM
Password:
Ваше процењено време до завршетка ће се разликовати у зависности од количине ресурса ваше инстанце.
За овај водич користили смо следеће:
CPU: 4 vCore
RAM: 8192 MB
Storage: 100 GB SSD
Са овим ресурсима, завршили смо компајлирање нашег CUSTOMкернела за ~ 4 сата:
--------------------------------------------------------------------
>>> Kernel build for CUSTOM completed on Sat May 6 00:24:37 UTC 2017
--------------------------------------------------------------------
2) Када ваше CUSTOMјезгро заврши са компајлирањем, можете инсталирати конфигурацију:
$ sudo make installkernel KERNCONF=CUSTOM
Password:
Инсталирање би требало да се заврши много брже од компајлирања.
3) Када се заврши инсталација, поново покрените инстанцу:
$ sudo shutdown -r now
Password:
Ваша инстанца ће сада почети да се гаси и поново покреће у вашем CUSTOMкернелу. Можете се пријавити на конзолу инстанце да бисте посматрали процес покретања.
4) Када се ваша инстанца поново покрене, пријавите се и потврдите да се ваше CUSTOMјезгро користи:
$ sysctl kern.conftxt | grep ident
ident CUSTOM
ИЛИ
$ uname -i
CUSTOM