Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Операционная система FreeBSD. Освой самостоятельно.


Служба Рассылок Subscribe.Ru проекта Citycat.Ru
Здравствуйте

"Операционная система FreeBSD. Освой самостоятельно."

Выпуск 26 от 15.05.2001


Вашему вниманию предлагается рассылка, посвящённая языку Perl, сайта http://perl.bos.ru Здесь вы не только получите "сухую теорию", но и действительно научитесь на примерах программировать на Perl. Страничка рассылки http://subscribe.ru/catalog/comp.soft.prog.nicksperl/

Конфигурирование и перегенерация ядра.

Зачем это нужно?
Этапы процесса перегенерации
Создание драйверов устройств
Упражнения
Вопросы и ответы

Зачем это нужно?

При инсталляции FreeBSD у вас создалось в системе ядро (файл /kernel), которое вполне работоспособно. Зачем же его переделывать?

Дело в том, что это ядро (так называемая GENERIC конфигурация) как раз предназначено для того, чтобы система успешно развернулась на компьютере любой конфигурации из поддерживаемых.

В эту конфигурацию встроена поддержка ВСЕХ типов накопителей (HDD и CD) и ВСЕХ сетевых карт, которые на данный момент поддерживаются FreeBSD. Это вполне логично - вы должны иметь возможность поставить свой Unix и дополнительные программы на тот HDD, который имеется у вас и суметь войти в сеть, какой бы сетевой карточкой вы ни пользовались.

В то же время, в ядро не включены некоторые полезные модули, которые могут понадобится в дальнейшем, особенно, если вы хотите использовать вашу машину в качестве сервера. (Например - поддержка firewall, PPP-сервера, bpf и т.п.).

Таким образом, перегенерировать ядро необходимо для того, чтобы:
- убрать все лишнее (драйверы устройств, которых у вас нет);
- добавить то, чего не хватает для работы.

Первое позволит вам ускорить загрузку (так как система не будет тратить время на поиск и тестирование несуществующих в вашей машине устройств) и сэкономить место в ОЗУ, занимаемое ядром.

А без второго вы, скорее всего, не сможете решать свои задачи.

Этапы процесса перегенерации


В общем виде этот процесс выглядит так:
- установить исходные коды ядра (как правило их устанавливают в процессе инсталляции системы);
- составить свою конфигурацию ядра (конфигурационный файл);
- запустить программу config, которая создаст необходимые файлы *.h и *.c в соответствии с вашей конфигурацией;
- скомпилировать новое ядро с помощью программы make;
- установить новое ядро (make install);
- перезагрузиться.

Теперь рассмотрим эти пункты более подробно.

Установка исходных кодов ядра.
Прежде всего, посмотрите в директорию

/usr/src/sys

если она не пустая, то все что вам нужно уже на месте. И вы можете спокойно перейти к следующему пункту.

В противном случае, вам надо взять из дистрибутива нужные файлы и установить их. Это легко можно проделать с помощью команды /stand/sysinstall. Более подробно, см. раздел <Инсталляция системы>.

Составление конфигурационного файла.
Перейдите в директорию /usr/src/sys/i386/conf.

Здесь имеются два конфигурационных файла GENERIC и LINT. Первый представляет собой конфигурацию того ядра, которое установилось у вас при инсталляции системы. Вы можете посмотреть в нем, что именно может ваше текущее ядро.

Второй же файл представляет собой подробное описание всех возможных элементов конфигурационного файла. Если вы попытаетесь построить ядро в конфигурации LINT, оно, скорее всего не будет работать.

Вам необходимо составить свой конфигурационный файл. Его название значения не имеет. Можете назвать его, например, myKERNEL. Обычно ему дают то же название, что и доменное имя машины, либо (удобно, если вы заготавливаете несколько ядер для выполнения разных задач) - FIRST (SECOND, THIRD и т.п.).

В качестве основы для нового файла вы можете использовать один из уже имеющихся файлов - GENERIC или LINT.

Если вы возьмете за основу GENERIC, то вам придется убрать оттуда описания всех лишних устройств и дописать необходимые вам options.

Если же вы возьмете за основу LINT, то все редактирование будет заключаться в удалении всего ненужного. Это может оказаться весьма и весьма утомительным занятием.

Возьмем за основу файл GENERIC. Скопируйте его:

cp GENERIC myKERNEL

Теперь нужно отредактировать его любым текстовым редактором.

Как было сказано выше, основным руководством по составлению новой конфигурации служит файл LINT. Причем, там должны быть описаны самые последние options, которые появились в той версии FreeBSD.

Ниже приводится список опций конфигурационного файла.

1) machine (в нашем случае это "i386", т.е. процессор совместимый с Intel 386 );
2) cpu "I586_CPU"

"I386_CPU" - 386-е процессоры;

"I486_CPU" - 486-е процессоры, включая AMD-5x86;

"I586_CPU" - 586-e процессоры: Pentium, Pentium MMX, AMD-K5, AMD-K6;

"I686_CPU" - 686-е процессоры: Pentium Pro, Pentium II;

3) ident myKERNEL (идентификатор, или название ядра).
4) options
5) config
6) controller
7) device
8) pseudo-device

Проверить список устройств в вашей системе можно с помощью следующей команды:

# dmesg

Данная команда показывает системные сообщения, которые вы наверное видели при начальной загрузке системы.

Что же нужно, чтобы сделать все правильно?

· иметь при себе список всех устройств, установленных в вашем компьютере;

· хорошо знать, чего вы хотите от FreeBSD на данной машине;



Подготовка к компиляции
После того, как вы закончили редактировать свою конфигурацию, наберите команду

/usr/sbin/config myKERNEL

Она создаст в директории /usr/src/sys директорию compile/myKERNEL (о чем и сообщит вам в конце своей работы) и поместит туда файлы, необходимые для компиляции ядра. Так же эта команда попросит вас <не забыть> выполнить команду make depend.

Выполните команды

# cd ././compile/myKERNEL

# make depend

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


Находясь в директории /usr/src/sys/compile/myKERNEL и наберите команду

# make

она сделает все что нужно.
Учтите, что ядро системы - достаточно сложная программа, поэтому ее компиляция потребует довольно много времени. От 15-20 минут на процессоре Pentium до часа, на 386 процессоре.

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

(Такие случаи бывают не только у новичков, но и у опытных администраторов, так что преждевременно не огорчайтесь).

Установка нового ядра
После того, как компиляция ядра успешно завершилась, наберите команду

# make install

она переименует старое ядро в /kernel.old и поместит в корневую директорию ваш новый /kernel.

После этого нужно перегрузить компьютер.

Если загрузка нового ядра не получилась (такое тоже возможно), вы можете загрузиться со старым ядром. Для этого, в начале загрузки на подсказку Boot: надо быстро сказать kernel.old.

Естественно, после этого надо снова вернуться к редактированию вашей конфигурации и повторить все последующие пункты.

Только не торопитесь. Если новое ядро опять окажется неработоспособным, вы можете попасть в неприятную ситуацию, так как после очередной инсталляции ядра командой make install получится:

kernel.old - предыдущая неработающая версия ядра
kernel - новая, но столь же бесполезная.

Но даже теперь не отчаивайтесь. У вас должен был остаться в корневой директории файл kernel.GENERIC и вы можете всегда загрузить его (конечно, если вы не удалили его ранее в целях экономии места на диске). Поэтому на подсказку Boot: надо набрать kernel. GENERIC.

Для того, чтобы не попасть в вышеописанную ситуацию, после загрузки старого ядра, замените им ваше новое ядро:

# cd /

# chflags noschg kernel

# cp kernel kernel.new

# cp kernel.old kernel

# chflags schg kernel

# reboot


После этого можете смело продолжать ваши изыскания по конфигурированию ядра.

И напоследок, проверьте наличие файла /boot.config. Если этого файла нет - создайте его:

# echo /boot/loader > /boot.config

В каталоге /boot должны содержаться файлы:

boot0

boot1

boot2

loader

Создание драйверов устройств.

Если вы добавили в конфигурации ядра устройства (реальные или pseudo-device), возможно потребуется создать для них файлы-устройства в директории /dev.

Какие-то общие рекомендации по этому поводу дать трудно, поскольку это зависит от того - какие устройства были добавлены в конфигурационный файл.

Во всяком случае, если вы знаете какого файла (в /dev) не хватает, его можно создать с помощью программки MAKEDEV, которая лежит в той же /dev. Это даже не программа, а командный файл, в начале которого есть комментарии, в которых более-менее подробно описаны возможные аргументы (имена устройств) для MAKEDEV.

Если в ядро включен, например, Sound Blaster 16, но устройства snd0 нет в каталоге /dev (проверить это можно командой ls /dev), нужно создать его:

# cd /dev

# sh MAKEDEV snd0

Упражнения

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

Вопросы и ответы

Вопрос
Я не могу скомпилировать ядро. Отсутствует _hw_float.

Ответ
Вы, возможно, удалили npx0 из вашего файла конфигурации ядра, потому что у вас нет сопроцессора. Это неправильно. Даже если у вас нет математического сопроцессора, вы должны включить поддержку npx0

 
Обязательно посетите наш сервер в интернет - http://www.anriintern.com/ 
Сайт этой рассылки http://www.anriintern.com/computer/freebsd/
На форуме http://www.anriintern.com/forum/ можно обсудить все возникающие у Вас вопросы.

Юмор

 

Вопросы.

Примите участие в формировании нашей рассылки. Задавайте свои вопросы, отвечайте на вопросы других подписчиков, поделитесь опытом, расскажите, что Вы знаете. Если Вы знаете анекдоты или забавные истории относящиеся к FreeBSD то поделитесь и ими. Спасибо всем, кто ответил на часть вопросов предыдущей рассылки. Те, кто хочет узнать предыдущие вопросы и ответы на них посетите наш форум - http://www.anriintern.com/forum/
 
Вопрос:
1. Как настроить анонимный Ftp сервер ?
2. Если делать для пользователей, то как настроить строго определенный каталог для каждого пользователя?
Ответить:
 
Вопрос:
Как можно достигнуть ограничения на размер mailbox с помощью локального мейлера (mail.local)?
Ответить:
 
Выберите действие:
Ваше имя: 
Ваш e-mail:
Ваш вопрос, сообщение, опыт или юмор напишите сюда:
 
 
Подпишитесь на наши рассылки на Subscribe.Ru
Английский язык в пословицах и поговорках
Сленг, афоризмы и разговорная речь в английском языке.
Английский язык через британские мифы, легенды и сказки.
Топики для изучающих английский язык.
Альтернативные методы изучения иностранных языков
Все об иностранных языках
Европейское страноведение
Современные английские термины из области электроники
Операционная система FreeBSD. Освой самостоятельно.
Начинаем изучать С++
Путешествие в прошлое (Исторические рассказы)
Маркетинг. Бизнес в сетях. Бесплатный интернет курс.
 

Новости сервера бесплатного дистанционного образования:

26/04/2001 Начал работать курс лекций - Управление офисом
26/04/2001 Вышла бета-версия программы English Tutor 1.2
25/04/2001 Новая серия русских кроссвордов, основанная на словаре Даля
16/04/2001 Начал работать курс лекций Гипертекст - симптом перелома эпохи
16/04/2001 Начал работать курс лекций - Концепции современного естествознания
16/04/2001 Начал работать Интернет справочник по грамматике Американского варианта Английского языка.
15/04/2001 Вышел в свет релиз 1.2.0 программы запоминания иностранных слов EZ Memo Booster
27/03/2001 Японские кроссворды на сервере дистанционного образования
16/03/2001 Курс латинского языка
16/03/2001 Полезные советы по работе с компьютером
16/03/2001 Другие берега, новый сайт об отдыхе, работе, обучении и жизни за рубежом!
16/03/2001 Клавиатурный тренажёр для быстрого освоения десятипальцевого метода слепой печати
12/03/2001 Выложены новые словари для EZ Memo Booster
26/02/2001 Программа изучения неправильных глаголов английского языка
15/02/2001 Говорящие словари
 

Наши предложения:

 
Дистанционное образование в Великобритании по Интернету на Русском языке.

Создавая сайт "Дистанционное обучение в Великобритании по Интернету" мы ставили перед собой несколько задач. Прежде всего сделать западное образование доступным. Во-вторых, упор мы сделали на преодоление самого главного барьера для русскоговорящих - языкового. Мы финансировали перевод учебных пособий на русский язык. В-третьих, посредством Интернета мы можем обеспечить высококачественную поддержку учебного процесса. Не секрет, что в провинции найти опытного квалифицированного преподавателя сложно. А Интернет дает возможность общения студента и преподавателя безотносительно от их места жительства.
Все курсы, которые мы предлагаем сертифицированы британскими учебными или профессиональными заведениями. Например, после каждого экзамена в ИБАМ вы получаете Сертификат, после сдачи пяти экзаменов, вы получаете Диплом или Диплом с отличием. Подробнее здесь.

 

Предложение к преподавателям и специалистам в разных областях науки и техники.

Если вы имеете знания и можете поделиться ими с другими, напишите нам письмо. У нас разработана программа поддержки и спонсирования любых обучающих проектов от игры на гитаре до тренировок управления пилотируемым спутником. Подробнее здесь.

 
Предложение к владельцам сайтов.

Сервер дистанционного образования "Anri education systems" приглашает все сайты имеющие отношение к любым видам обучения к объединению. Вместе мы сможем добиться гораздо больших результатов. Об этом говорит вся история человечества. Посмотрите на нее - когда люди объединялись для достижения определенных целей, то они добивались их и создавали великие империи. У нас есть средства (как физические, так и материальные), у Вас есть знания и информация. Так давайте объединимся и создадим империю образования! Мы считаем, что надо больше делать, чем говорить, по этому - к делу. Подробнее здесь.
 
Дизайн, программирование.

Мы можем создать именно то, что Вы хотите, более того, обладая высоко квалифицированным персоналом и современным оборудованием, опираясь на самые передовые технологии, мы создадим для Вас по настоящему интерактивный и автоматизированный сайт. Мы занимаемся разработкой и созданием Web-страниц и Web-серверов разных стилей и содержания. Мы можем выработать концепцию и создать для Вас Web-сайт - Ваше представительство или виртуальный офис в Интернет. Мы предоставляем весь спектр услуг, связанный с созданием, размещением, рекламой и дальнейшей поддержкой, созданного WEB-сайта. Узнать больше можно здесь.

Сервер дистанционного образования

Работа для всех!

Web-design студия Kety

Конкурс с призами



http://subscribe.ru/
E-mail: ask@subscribe.ru

В избранное