1 |
blueboar 13/06/29 17:10:14 |
2 |
|
3 |
Added: hb-install-mips-kernel.xml |
4 |
Log: |
5 |
Sync with english version |
6 |
|
7 |
Revision Changes Path |
8 |
1.1 xml/htdocs/doc/ru/handbook/hb-install-mips-kernel.xml |
9 |
|
10 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/ru/handbook/hb-install-mips-kernel.xml?rev=1.1&view=markup |
11 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/ru/handbook/hb-install-mips-kernel.xml?rev=1.1&content-type=text/plain |
12 |
|
13 |
Index: hb-install-mips-kernel.xml |
14 |
=================================================================== |
15 |
<?xml version='1.0' encoding='UTF-8'?> |
16 |
<!DOCTYPE sections SYSTEM "/dtd/book.dtd"> |
17 |
|
18 |
<!-- The content of this document is licensed under the CC-BY-SA license --> |
19 |
<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
20 |
|
21 |
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/ru/handbook/hb-install-mips-kernel.xml,v 1.1 2013/06/29 17:10:14 blueboar Exp $ --> |
22 |
<sections> |
23 |
|
24 |
<abstract> |
25 |
Ядро Linux — сердце каждого дистрибутива. В этой главе описывается, |
26 |
как его настроить. |
27 |
</abstract> |
28 |
|
29 |
<version>1</version> |
30 |
<date>2013-03-16</date> |
31 |
|
32 |
<section> |
33 |
<title>Установка исходных кодов ядра</title> |
34 |
<subsection> |
35 |
<title>Выбор ядра</title> |
36 |
<body> |
37 |
|
38 |
<p> |
39 |
Ядро Linux — это то, вокруг чего формируются все дистрибутивы. Это слой между |
40 |
пользовательскими программами и вашим оборудованием. Пользователи Gentoo могут |
41 |
выбирать из нескольких типов ядра. Их полный список и описание находится в |
42 |
<uri link="/doc/en/gentoo-kernel.xml">руководстве по выбору ядра Gentoo (англ.)</uri>. |
43 |
</p> |
44 |
|
45 |
<p> |
46 |
Системы, основанные на MIPS могут использовать только одно ядро, |
47 |
<c>mips-sources</c>. Данный набор патчей отличается от тех, которые |
48 |
используются другими архитектурами и содержит множество патчей, |
49 |
специфичных для архитектуры MIPS. |
50 |
</p> |
51 |
|
52 |
<pre caption="Установка исходных кодов ядра"> |
53 |
# <i>emerge mips-sources</i> |
54 |
</pre> |
55 |
|
56 |
<impo> |
57 |
На некоторых системах (Origin 200/2000, Indigo2 Impact (R10000), |
58 |
Octane/Octane2 и O2) необходимо 64-битное ядро для загрузки. Для |
59 |
таких систем, вы должны выполнить <c>emerge kgcc64</c>, чтобы установить |
60 |
кросс-компилятор для построения 64-битных ядер. |
61 |
</impo> |
62 |
|
63 |
<pre caption="Устанавливаем kgcc64"> |
64 |
# <i>emerge kgcc64</i> |
65 |
</pre> |
66 |
|
67 |
<p> |
68 |
Просмотрев содержимое каталога <path>/usr/src</path>, вы увидите символьную |
69 |
ссылку <path>linux</path>, которая указывает на каталог с исходными кодами ядра. |
70 |
В данном случае, установленный исходный код ядра указывает на |
71 |
<c>mips-sources-<keyval id="kernel-version"/></c>. Имейте в виду, что ваша версия может отличаться. |
72 |
</p> |
73 |
|
74 |
<pre caption="Просмотр папки с исходными кодами ядра"> |
75 |
# <i>ls -l /usr/src/linux</i> |
76 |
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-<keyval id="kernel-version"/> |
77 |
</pre> |
78 |
|
79 |
<p> |
80 |
Пришло время настроить и скомпилировать ваше ядро. |
81 |
</p> |
82 |
|
83 |
</body> |
84 |
</subsection> |
85 |
</section> |
86 |
<section> |
87 |
<title>Компиляция и установка ядра</title> |
88 |
<subsection> |
89 |
<title>Введение</title> |
90 |
<body> |
91 |
|
92 |
<p> |
93 |
Ранее мы описывали ручную настройку исходных кодов ядра. Однако это стало |
94 |
непрактичным после того, как возрасло число поддерживаемых нами систем. |
95 |
Данный раздел описывает различные источники получения примерных конфигураций ядра. |
96 |
</p> |
97 |
|
98 |
</body> |
99 |
</subsection> |
100 |
<subsection> |
101 |
<title>Использование примерных конфигураций в исходных кодах ядра</title> |
102 |
<body> |
103 |
|
104 |
<p> |
105 |
Многие из поддерживаемых систем имеют примерные файлы .config, скрытые в |
106 |
исходных кодах ядра. Не все системы имеют конфигурацию распространяемую |
107 |
таким образом. Те, которые имеют, могут быть сконфигурированы командами, |
108 |
показанными в таблице ниже. |
109 |
</p> |
110 |
|
111 |
<table> |
112 |
<tr> |
113 |
<th>Система</th> |
114 |
<th>Команда конфигурации</th> |
115 |
</tr> |
116 |
<tr> |
117 |
<ti>Cobalt Servers</ti> |
118 |
<ti><c>make cobalt_defconfig</c></ti> |
119 |
</tr> |
120 |
<tr> |
121 |
<ti>Indy, Indigo2 (R4k), Challenge S</ti> |
122 |
<ti><c>make ip22_defconfig</c></ti> |
123 |
</tr> |
124 |
<tr> |
125 |
<ti>Origin 200/2000</ti> |
126 |
<ti><c>make ip27_defconfig</c></ti> |
127 |
</tr> |
128 |
<tr> |
129 |
<ti>Indigo2 Impact (R10k)</ti> |
130 |
<ti> |
131 |
<c>make ip28_defconfig</c> |
132 |
</ti> |
133 |
</tr> |
134 |
<tr> |
135 |
<ti>O2</ti> |
136 |
<ti><c>make ip32_defconfig</c></ti> |
137 |
</tr> |
138 |
</table> |
139 |
|
140 |
</body> |
141 |
</subsection> |
142 |
|
143 |
<subsection> |
144 |
<title>Использование конфигурации рабочего ядра с установочного диска</title> |
145 |
<body> |
146 |
|
147 |
<p> |
148 |
Все образы для установки Gentoo включают в себя конфигурацию ядра как часть |
149 |
образа. Конфигурация находится в <path>/proc/config.gz</path>. Во многих случаях |
150 |
данный файл можно использовать. Лучше, если ваши исходные коды ядра почти |
151 |
совпадают с ядром, которое в настоящее время работает. Чтобы распаковать |
152 |
данный файл, просто пропустите его через <c>zcat</c>, как показано ниже. |
153 |
</p> |
154 |
|
155 |
<pre caption="Распаковываем .config из /proc/config.gz"> |
156 |
# <i>zcat /proc/config.gz > .config</i> |
157 |
</pre> |
158 |
|
159 |
<impo> |
160 |
Данная конфигурация ядра настроена для образа netboot. Поэтому она будет ожидать, |
161 |
что где-то рядом находится образ корневой файловой системы, либо как каталог |
162 |
для initramfs, либо устройство-петля для initrd. Когда вы запустите |
163 |
<c>make menuconfig</c> (ниже), не забудьте зайти в General Setup и выключить |
164 |
опции для initramfs. |
165 |
</impo> |
166 |
|
167 |
</body> |
168 |
</subsection> |
169 |
|
170 |
<subsection> |
171 |
<title>База данных совместимости оборудования</title> |
172 |
<body> |
173 |
|
174 |
<p> |
175 |
Чтобы помочь пользователям найти рабочие настройки, была создана база данных |
176 |
совместимости оборудования. Данная база данных описывает поддержку различных |
177 |
MIPS-устройств, и позволяет пользователям делиться конфигурациями ядра, |
178 |
которые точно работают. Адрес данного сайта |
179 |
<uri>http://stuartl.longlandclan.hopto.org/gentoo/mips</uri>. |
180 |
</p> |
181 |
|
182 |
<p> |
183 |
Если вы сочтете данный сервис полезным, вы можете поделиться своими мыслями |
184 |
и файлами .config, чтобы другие могли выиграть от вашего опыта. Однако |
185 |
следует отметить, что нет никакой гарантии, что какие-либо из файлов |
186 |
конфигурации, скачанные с данного сайта, вообще будут работать. |
187 |
</p> |
188 |
|
189 |
</body> |
190 |
</subsection> |
191 |
|
192 |
<subsection> |
193 |
<title>Изменяем конфигурацию под ваши запросы</title> |
194 |
<body> |
195 |
|
196 |
<p> |
197 |
Как только вы нашли конфигурацию, скачайте ее в каталог с вашим исходным |
198 |
кодом ядра, и переименуйте ее в <path>.config</path>. Далее вы можете |
199 |
запустить <c>make oldconfig</c> чтобы обновить конфигурацию, и получить |
200 |
возможность изменить ее до компиляции. |
201 |
</p> |
202 |
|
203 |
<pre caption="Конфигурация ядра"> |
204 |
# <i>cd /usr/src/linux</i> |
205 |
# <i>cp /path/to/example-config .config</i> |
206 |
# <i>make oldconfig</i> |
207 |
<comment>(Просто нажмите ENTER на каждую подсказку, чтобы выбрать опцию</comment> |
208 |
<comment>по умолчанию... мы изменим их позже)</comment> |
209 |
# <i>make menuconfig</i> |
210 |
</pre> |
211 |
|
212 |
<impo> |
213 |
В разделе Kernel Hacking есть опция, названная "Are You Using A Cross Compiler?". |
214 |
Она сообщает ядру, что нужно добавить "<c>mips-linux-</c>" (либо |
215 |
<c>mipsel-linux</c> ... и т.д.) к командам <c>gcc</c> и <c>as</c> при |
216 |
компиляции ядра. Это нужно выключить, даже если вы и правда делаете |
217 |
кросс-компиляцию. Вместо этого, если вам нужно вызвать кросс-компилятор, |
218 |
укажите префикс, используя переменную <c>CROSS_COMPILE</c>, как показано |
219 |
в следующем разделе. |
220 |
</impo> |
221 |
|
222 |
<impo> |
223 |
Существует известная ошибка с JFS и ALSA на системах Octane, когда ALSA не |
224 |
работает. Из-за недостаточной стабильности JFS на MIPS, рекомендуется пока |
225 |
не использовать JFS. |
226 |
</impo> |
227 |
|
228 |
</body> |
229 |
</subsection> |
230 |
<subsection id="compiling"> |
231 |
<title>Компиляция и установка</title> |
232 |
<body> |
233 |
|
234 |
<p> |
235 |
Теперь ваше ядро сконфигурировано, нужно скомпилировать и установить его. |
236 |
Выйдите из конфигурации и начните процесс компиляции: |
237 |
</p> |
238 |
|
239 |
<note> |
240 |
На 64-битных машинах вам нужно указать |
241 |
<c>CROSS_COMPILE=mips64-unknown-linux-gnu-</c> (или <c>mips64el-...</c> на системе |
242 |
little-endian) для использования 64-битного компилятора. |
243 |
</note> |
244 |
|
245 |
<pre caption="Компиляция ядра"> |
246 |
<comment>(Обычная компиляция)</comment> |
247 |
# <i>make vmlinux modules modules_install</i> |
248 |
|
249 |
<comment>(Кросс-компиляция на целевой системе)</comment> |
250 |
<comment>(Измените как вам нужно mips64-unknown-linux-gnu-)</comment> |
251 |
# <i>make vmlinux modules modules_install CROSS_COMPILE=mips64-unknown-linux-gnu-</i> |
252 |
|
253 |
<comment>(При компиляции на другой системе, например, x86, используйте)</comment> |
254 |
<comment>(следующие команды для компиляции ядра и установки модулей в)</comment> |
255 |
<comment>(отдельный каталог, который потом можно передать на целевую систему)</comment> |
256 |
# <i>make vmlinux modules CROSS_COMPILE=mips64-unknown-linux-gnu-</i> |
257 |
# <i>make modules_install INSTALL_MOD_PATH=/somewhere</i> |
258 |
</pre> |
259 |
|
260 |
<impo> |
261 |
При компиляции 64-битного ядра для Indy, Indigo2 (R4k), Challenge S и O2, |
262 |
используйте цель <c>vmlinux.32</c> вместо <c>vmlinux</c>. В противном случае |
263 |
ваша система не сможет загрузиться. Это для того, чтобы обойти PROM, который |
264 |
не понимает формат ELF64. |
265 |
</impo> |
266 |
|
267 |
<pre caption="Используем цель vmlinux.32"> |
268 |
# <i>make vmlinux.32</i> |
269 |
<comment>(Данная команда создаст vmlinux.32 - который будет вашим конечным ядром)</comment> |
270 |
</pre> |
271 |
|
272 |
<p> |
273 |
Когда компиляция ядра закончится, скопируйте образ ядра в <path>/boot</path>. |
274 |
</p> |
275 |
|
276 |
<note> |
277 |
На серверах Cobalt, начальный загрузкик ожидвкт увидеть запакованный образ |
278 |
ядра. Помните выполнить <c>gzip -9</c> для образа, прежде чем положить |
279 |
его в <path>/boot</path>. |
280 |
</note> |
281 |
|
282 |
<pre caption="Установка ядра"> |
283 |
# <i>cp vmlinux /boot/kernel-<keyval id="kernel-version"/></i> |
284 |
|
285 |
<comment>(Сервера Cobalt - сжатие образа ядра)</comment> |
286 |
# <i>gzip -9v /boot/kernel-<keyval id="kernel-version"/></i> |
287 |
</pre> |
288 |
|
289 |
</body> |
290 |
</subsection> |
291 |
</section> |
292 |
<section id="kernel_modules"> |
293 |
<title>Модули ядра</title> |
294 |
|
295 |
<subsection> |
296 |
<include href="hb-install-kernelmodules.xml"/> |
297 |
</subsection> |
298 |
|
299 |
</section> |
300 |
</sections> |
301 |
|
302 |
<!-- *$Localization: |
303 |
target-language: Russian |
304 |
target-date: 2013-03-16 |
305 |
source-cvs-revision: 1.34 |
306 |
moved-by: Vladimir Romanov [blueboar2@×××××.com] |
307 |
--> |