декабря 14 2008 03:56 пп

Компиляция ядра в FreeBSD

freebsd-logo_no_text.png

Если вы пользуетесь системой FreeBSD то на 100% наступит момент когда вам понадобится перекомпилировать ядро под собственные нужды, например для включения файрвола, или поддержки NAT, и тд. Есть мнение что компиляция ядра это опасно и можно загубить операционную систему, но на самом деле это дело нескольких минут на кнфигурацию и некоторе время на компиляцию и установку нового ядра. В этой статье я опишу как правильно собрать свое ядро, в примере будет использована архитектура i386. Так же для перекомпиляции ядра нам понадобятся исходные текста ядра, находятся они в директории /usr/src/sys, символическая ссылка на эту директорию находится в корне и именуется /sys . Если у вас ее нет то надо утсавить исходные тексты ядра с CD диска FreeBSD или при помощи программы sysinstall.

Делается это так, первый пример с использованием CD диска

Код:


mount /cdrom
mkdir -p /usr/src/sys
ln -s /usr/src/sys /sys
cat /cdrom/src/ssys.[a-d]* | tar -xzvf -
cat /cdrom/src/sbase.[a-d]* | tar -xzvf -

При помощи sysinstall вы можете установить исходники ядра выбрав там пункт Configure, потом Distributions, потом src, потом base и sys.

Для сборки ядра нам нужен конфигурационный файл, расположен он в каталоге /sys/i386/conf/GENERIC, но редактировать его не стоит, так как при обновлении исходных кодов он будет заменен на дефолтный. Поэтому скопируем его в ту же директорию с именем которое вам нравится, в моем случае это было SUDOUSER, далее отредактируем этот файл командой ee /sys/i386/conf/SUDOUSER. Мы добавим в наше новое ядро файрвол ipfw и поддержку NAT. Так же вы можете закомментировать ненужное вам оборудование, но делать это надо аккуратно, ведь можно ненароком убрать из ядра поддержку своего рейд контроллера например :) все изменения лучше вносить в конец файла что бы потом было проще искать что именно вы там поменяли. И так, добавим строки для включения файрвола и поддержки NAT в конец нашего файла и ОБЯЗАТЕЛЬНО сменить ident на ваш, для удобства используйте имя файла. Опцию ident вы найдете в начале файла. В моем случае это выглядело так:

Код:


[.....]
ident SUDOUSER
[.....]
options IPFIREWALL # поддержка ipfw
options IPFIREWALL_VERBOSE # поддержка логирования пакетов проходящих через файрвол
options IPFIREWALL_FORWARD # включаем форвардинг
options IPFIREWALL_DEFAULT_TO_ACCEPT # эта опция обязательна для начинающих, фаервол по умолчанию открыт
options IPDIVERT # nat
options DUMMYNET # nat

Теперь пришло время собрать и установить новое ядро, в опции KERNCONF указав ваше значение ident

Код:


cd /usr/src/
make buildkernel KERNCONF=SUDOUSER
make installkernel KERNCONF=SUDOUSER

Если вы не допустили ошибок в синтаксисе конфигурационного файла то все пройдет как надо, и вам останется только перезагрузить машину с новым ядром. Удачи вам в сборке и установке!


Популярность: 17%

Комментариев нет »

1 звезда2 звезд3 звезд4 звезд5 звезд (3 голосов, средний: 5 из 5)
Загрузка ... Загрузка ...
Дай же, не жадничай!
ЯндексЯндекс. ДеньгиХочу такую же кнопку

Trackback URI | Comments RSS

Leave a Reply

You must be logged in to post a comment.


Самые популярные статьи

  • Установка почтового сервера Postfix + Dovecot + MYSQL и виртуальных доменов
  • Установка и настройка DNS сервера bind9 Ubuntu-Debian HOWTO
  • Установка Samba сервера на Ubuntu или Debian за 5 минут
  • Подборка wide-screen обоев высокого разрешения
  • Mail.ru Агент в Linux
  • Установка и настройка DHCP сервера
  • Подробное руководство по настройке wifi соединения с шифрованием разных типов
  • Удаленное подключение к рабочему столу Linux из Windows с помощью Xming и SSH
  • Настройка ограничения и распределения канала (HTB Shaper)
  • Создание загрузочной флэшки с Ubuntu 8.04 Live или Server
  • Настройка маршрутизации в Ubuntu Linux для начинающих
  • Настройка вебкамер Genius и Acer Crystal Eye в Ubuntu 8.04
  • Редактирование текста при помощи SED
  • Сотня лучших полезных программ с открытым исходным кодом.
  • Небольшая подборка обоев "Linux like"
  • Установка VMware Server на Ubuntu 8.04
  • Блокировка нежелательных URL с помощью iptables
  • Запуск виртуальных хостов Apache2 от разных пользователей
  • Виртуализация с помощью Qemu
  • Вышел пакет PlayOnLinux 3.0 для запуска Windows игр в Linux
  • Установка драйвера MADWIFI для сетевого адаптера Atheros 5xxx
  • Установка сервера голосового общения TeamSpeak
  • Установка и настройка SSHD в среде chroot при помощи makejail
  • HDR обои на рабочий стол 1920x1200
  • Настройка маршрутизации с помощью Quagga (zebra)
  • Установка системы резервного копирования BackupPC
  • Установка и настройка L2TP сервера xl2tpd или l2tpd
  • Настройка поддержки мультимедиа в Ubuntu 8.04
  • Релиз Midnight Commander 4.6.3
  • Что такое Zeroconf и с чем его едят

  • « Простой способ проброса (forwarding) портов в FreeBSD | Включение звука в FreeBSD »

    Рейтинг блогов Rambler's Top100
    службы мониторинга серверов