5.3.1. Обязательные ключевые слова

Эти ключевые слова требуются в каждом ядре, которое вы строите.

machine ``i386''
Первое ключевое слово это machine, поскольку FreeBSD работает только на платформе Intel 386 и совместимых с ней, то это соотвественно i386.

Замечание: любое ключевое слово, в котором цифры используются в качестве текста, должны быть заключены в кавычки, в противном случае, config растеряется и будет думать, что вы имели в виду число 386.

cpu ``cpu_type''
Следующее ключевое слово это cpu, которое подключает поддержку, для каждого CPU, с которым работает FreeBSD. Возможные значения cpu_type:
  • I386_CPU
  • I486_CPU
  • I586_CPU
  • I686_CPU
и строки, включащие слово cpu, с разными значениями поля cpu_type могут присутствовать в вашем файле конфигурации, так же как они присутствуют в файле GENERIC. Для вашего собственного ядра вам лучше всего указать, только тот cpu, который на самом деле стоит в вашей машине. Если, например, у вас Intel Pentium, то используйте I586_CPU в качестве cpu_type.
ident machine_name
Далее идет ident, который идентифицирует ядро. Вам надо изменить название GENERIC на любое другое, в данном примере -- MYKERNEL. Название, которое вы запишите в ident, будет печататься, когда вы будете загружать ядро, поэтому полезно дать ядру отличающееся имя, если вы хотите сохранить это ядро наряду с обычным (например вы хотите построить экспериментальное ядро). Заметьте, что как и в случае с machine и cpu, нужно заключить название ядра в кавычки, если в нем используются цифры.

Так как название ядра передается компилятору C для флага -D, то не используйте такие имена, как DEBUG, или что-нибудь еще, что можно спутать с именем машины или названием CPU, например vax.

maxusers number
Эта позиция устанавливает размер для некоторых очень важных системных таблиц. Это число будет рассматриваться, как приблизительное количество пользователей одновременно работающих на вашей машине. В нормальных условиях, вам нужно установить значение maxusers равным, по крайней, четырем, особенно, если вы используете X Window System или хотите что-нибудь компилировать. По параметру maxusers устанавливается другой очень важный параметр -- это максимальное количество процессов, которое расчитывается как 20 + 16 * maxusers, таким образом если вы установите maxusers равным одному, тогда на вашей машине может быть запущено одновременно только 36 процессов, включая около 18 процессов, запускаемых системой при старте, и около 15 процессов дополнительно будет создано, если вы запустите X Window System. Даже такая простая задача, как чтение man-страницы потребует запуска еще 9 процессов, которые фильтруют, распаковывают, показывают нужную информацию. Если вы установите maxusers равным 4, то это позволит работать 84 процессам одновременно, такого количества вполне достаточно для большинства пользователей. Но, если вы, пытаясь запустить еще одну программу, или у вас сервер с большим количеством пользователей (как сервер Walnut Creek CDROM's FTP ), вдруг, увидите ужасное сообщение об ошибке вида ``proc table full'', то в этом случае вы можете увеличить maxusers и перестроить ядро.

Замечание: maxuser нет ограничивает количество пользователей, которые могут зайти на вашу машину. Он устанавливает размеры определенных таблиц, причем эти размеры приблизительно соотвествуют тому количеству пользователей, которое бы вы хотели иметь (т.е. размеры будут такие, как будто максимальное число пользователей действительно не превышает maxuser ). И эти размеры соответсвуют тому количеству процессов, которое каждый из них, в среднем, запускает. Ключевое слово, которое действительно ограничивает количество одновременных удаленных login это псевдо-устройство pty 16.

config kernel_name root on root_device
В этой строчке определяется место хранения ядра с именем kernel_name. Традиционно ядро называется vmunix но во FreeBSD, это называется kernel. В качестве kernel_name, вам надо всегда использовать kernel, потому что изменение этого названия вызовет многочисленные проблемы с работой утилит. Во второй части строки определяется диск и раздел, где искать корневую файловую и ядро. Наверняка root_device будет: wd0 для систем с не-SCSI дисками, или sd0 для систем со SCSI дисками.

Назад | Содержание | Вперед

Обновлено: 13.03.2015