Компиляция ядер

Исходные тексты ядер Plan 9 находятся в каталоге /sys/src/9. Дистрибутив системы включает ядра для таких платформ как Intel PC, Alpha PC, MIPS-основанная рабочая станция под названием Carrera, Compaq iPAQ (bitsy) и PowerPC-основанная встроенная система.

Машинно-независимый исходный код находится в каталоге /sys/src/9/port. Каждая архитектура также имеет машинно-зависимый подкаталог: pc, alphapc, carrera, и mpc, соответственно.

Различия между архитектурами составляют ядра терминалов и CPU серверов: они компилируются с разными комплектами драйверов, разными вариантами загрузки, и разными ядро-пользователь коэффициентами памяти.

Каждое ядро описано файлом конфигурации. К примеру, ниже представлена сокращенная версия файла pcdisk конфигурации терминала /sys/src/9/pc/pcdisk.

dev
	root
	cons
	arch
	env
	ip

link
	ether2000 ether8390
	ethermedium

misc
	archmp mp apic
	kfs.root
	vgamach64xx +cur
	vgamga2164w +cur

ip
	il
	tcp

port
	int cpuserver = 0;

boot boot #S/sdC0/
	il
	local

Формат файла довольно прост: строки без отступов определяют секции, каждое слово на строках с отступами — имя объектного файла, для компоновки. Вы можете добавлять или удалять различные драйверы, добавляя или удаляя строки.

В середине декабря 2002 года появилась новая секция, под названием bootdir, которая описывает новый загрузочный каталог #//boot.

К примеру, если вы хотите построить автономный CPU/аутентификационный сервер, но по умолчанию сервер не имеет драйвера вашей видео карты. Тогда, чтобы перезаписать ядро CPU сервера 9pccpudisk с драйвером вашей видеокарты, отредактируйте /sys/src/9/pc/pccpudisk и добавьте подходящую строку vga.

Для многопроцессорных машин, вставьте строку

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

Чтобы пересобрать и установить это ядро, выполните

Аргумент mk определяет какой файл конфигурации следует использовать. По умолчанию для ядер ПК — это «pc».

Наиболее безопасный вариант — работать с копией конфигурационного файла, а не редактировать его непосредственно. Затем вы можете поставить такой аргумент mk:

И наконец, сохраните старые конфигурационные файлы, если вы хотите ссылаться на них вновь.

Copyright © 2003 Перевод Андрей С. Кухар. Последняя модификация 23.08.2003