Gentoo Archives: gentoo-commits

From: "Vladimir Romanov (blueboar)" <blueboar@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in xml/htdocs/doc/ru/handbook: hb-install-mips-kernel.xml
Date: Sat, 29 Jun 2013 17:10:20
Message-Id: 20130629171014.711932171C@flycatcher.gentoo.org
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 -&gt; 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 -->