<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https://mediawiki.zina.run/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D1%8F%D0%B4%D1%80%D0%B0_Linux</id>
	<title>Компиляция ядра Linux - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zina.run/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D1%8F%D0%B4%D1%80%D0%B0_Linux"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zina.run/index.php?title=%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D1%8F%D0%B4%D1%80%D0%B0_Linux&amp;action=history"/>
	<updated>2026-10-12T12:28:51Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://mediawiki.zina.run/index.php?title=%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D1%8F%D0%B4%D1%80%D0%B0_Linux&amp;diff=228&amp;oldid=prev</id>
		<title>&gt;WikiSysop: /* Ссылки */</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zina.run/index.php?title=%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D1%8F%D0%B4%D1%80%D0%B0_Linux&amp;diff=228&amp;oldid=prev"/>
		<updated>2009-06-12T15:35:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Ссылки&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 1. Подготовка ==&lt;br /&gt;
&lt;br /&gt;
Узнайте текущую версию ядра, установленного на вашем компьютере:&lt;br /&gt;
 uname -r&lt;br /&gt;
&lt;br /&gt;
Авторизуйтесь как root бессрочно:&lt;br /&gt;
 sudo -s -H&lt;br /&gt;
&lt;br /&gt;
== 2. Установка пакетов, необходимых для компиляции ядра ==&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get install kernel-package libncurses5-dev fakeroot wget bzip2&lt;br /&gt;
&lt;br /&gt;
Также рекомендуется установить ccache - это позволит сократить время перекомпиляции и компилировать в несколько потоков:&lt;br /&gt;
 apt-get install ccache&lt;br /&gt;
 export CONCURRENCY_LEVEL=&amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== 3. Скачайте исходные тексты ядра ==&lt;br /&gt;
&lt;br /&gt;
Нужно на http://www.kernel.org/ найти ссылку на ядро в архиве .bz2 и скачать в папку /usr/src. &lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Затем распаковать исходники и создать символическую ссылку на папку с исходниками ядра.&lt;br /&gt;
&lt;br /&gt;
 tar -jxvf linux-2.6.29.tar.bz2&lt;br /&gt;
 ln -s linux-2.6.29 linux&lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
&lt;br /&gt;
== 4. Конфигурирование ядра ==&lt;br /&gt;
&lt;br /&gt;
Хорошей мыслью будет использование конфигурации вашего текущего ядра в качестве основы для конфигурирования нового ядра. Скопируйте текущую конфигурацию в /usr/src/linux:&lt;br /&gt;
&lt;br /&gt;
 cp /boot/config-`uname -r` ./.config&lt;br /&gt;
&lt;br /&gt;
Дальше есть 2 пути: &lt;br /&gt;
&lt;br /&gt;
# Скомпилировать ядро с настройками из существующего &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt;: &amp;lt;pre&amp;gt;make oldconfig&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Сконфигурировать вручную: &amp;lt;pre&amp;gt;make menuconfig&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вы попадете в меню конфигурации ядра. Выберите &amp;quot;Load an Alternate Configuration File&amp;quot;, затем выберите .config (который содежит вашу текущую конфигурацию ядра) в качестве файла конфигурации.&lt;br /&gt;
&lt;br /&gt;
Затем просмотрите меню конфигурации ядра и… сделайте ваш выбор! (о том, что нужно убрать, а что – оставить, можно книгу написать. В 2.6.18 много экспериментальных фич, многое из поддержки железа вам не понадобится в силу того, что этого железа у вас не и не будет… смотрите сами). Когда вы закончите, выберите Exit и на последующий вопрос (Do you wish to save your new kernel configuration?) ответьте Yes.&lt;br /&gt;
&lt;br /&gt;
См. [[Параметры компиляции в Linux]]&lt;br /&gt;
* [http://wiki.kryukov.biz/wiki/%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B_%D1%8F%D0%B4%D1%80%D0%B0_Linux Параметры ядра Linux]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Отключить ненужное ===&lt;br /&gt;
&lt;br /&gt;
В секции Block layer я отключаю строку&lt;br /&gt;
&lt;br /&gt;
 [ ] Support for Large Block Devices&lt;br /&gt;
&lt;br /&gt;
за ненадобностью: ну нет у меня дисковых устройств более 2 терабайт объемом.&lt;br /&gt;
&lt;br /&gt;
В секции Processor family следует подобрать возможно близкий тип процессора. В моем случае (32-битный Sempron) это будет, очевидно,&lt;br /&gt;
&lt;br /&gt;
 (X) Athlon/Duron/K7&lt;br /&gt;
&lt;br /&gt;
Сам по себе Sempron в списке доступных типов процессоров отсутствует.&lt;br /&gt;
&lt;br /&gt;
Здесь же можно отключить такие явно ненужные вещи, как&lt;br /&gt;
&lt;br /&gt;
 &amp;lt; &amp;gt; Toshiba Laptop support  &lt;br /&gt;
 &amp;lt; &amp;gt; Dell laptop support&lt;br /&gt;
&lt;br /&gt;
Если, конечно, ядро не собирается именно для этих ноутбуков. Ну и такие Intel-специфические вещи, как&lt;br /&gt;
&lt;br /&gt;
 &amp;lt; &amp;gt; /dev/cpu/microcode - Intel IA32 CPU microcode support &lt;br /&gt;
 &amp;lt; &amp;gt; /dev/cpu/*/msr - Model-specific register support &lt;br /&gt;
 &amp;lt; &amp;gt; /dev/cpu/*/cpuid - CPU information support&lt;br /&gt;
&lt;br /&gt;
также выглядят лишними. В общем, для отключения в ядре архитектурных излишеств - перспективы огромные. Главное - не увлечься и не отключить что-либо критически важное. И еще: поскольку ранее решено было отказаться от initrd при загрузке, следует очень внимательно проверить, что поддержка устройств и файловых систем, несущих корневую файловую систему, была встроена в ядро, а не собиралась как загружаемый модуль.&lt;br /&gt;
&lt;br /&gt;
То же самое относится к чипсету - очевидно, что в конкретной машине он будет один, наример, в моем случае&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;*&amp;gt; ATI IXP chipset IDE support&lt;br /&gt;
&lt;br /&gt;
Поддержку же прочих, не имеющих быть в наличии, чипсетов можно спокойно отключить. Аналогично поступив и с многочисленными SCSI-адаптерами - хотя сама по себе поддержка SCSI-интерфейса&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;M&amp;gt; SCSI device support&lt;br /&gt;
&lt;br /&gt;
родового класса SCSI-устройств&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;M&amp;gt; SCSI disk support&lt;br /&gt;
&lt;br /&gt;
и SCSI-дисков&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;M&amp;gt; SCSI generic support&lt;br /&gt;
&lt;br /&gt;
в разделе SCSI device support следует оставить - они обеспечивают работу с USB-накопителями любого рода и носителями цифровых камер.&lt;br /&gt;
&lt;br /&gt;
В большинстве случаев можно смело отключать и опцию&lt;br /&gt;
&lt;br /&gt;
 [*] Multiple devices driver support (RAID and LVM)&lt;br /&gt;
&lt;br /&gt;
в разделе Multi-device support (RAID and LVM). Если, конечно, LVM и программный RAID действительно не используются.&lt;br /&gt;
&lt;br /&gt;
Наконец, нет ни малейшей необходимости в поддержке всего наличного изобилия сетевых устройств и протоколов.&lt;br /&gt;
&lt;br /&gt;
=== Linux kernel variables (others) ===&lt;br /&gt;
&lt;br /&gt;
Источник: http://exs.elm.ru/wordpress/?p=259&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;dev.rtc.max-user-freq&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;dev.hpet.max-user-freq&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Определяет количество опросов таймеров обычной и высокой точности в секунду. Значение по-умолчанию небольшое, всего 64, в принципе для сервера вполне потянет, в серверах не часто используется непосредственное взаимодействие с таймерами ядра. Однако, если у вас не сервер, а система, которая пользуется медиа подсистемой (воспроизводит и/или записывает например звук и/или видео), то это значение наверняка стОит поднять. Обычно рекомендуют значение 1024, однако я предлагаю значение чуть более высокое 3072 или даже 4096.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;kernel.threads-max&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Задаёт количество потоков которые может обслужить ядро. Достаточно часто сервера бд, в частности Oracle, рекомендуют повысить это значение, но ставить что-то типа 16777216 я бы не советовал, ибо переключение между потоками тоже отжирает некоторое количество ресурсов процессора, значения 16384 или на крайняк 32768как правило вполне достаточно даже в очень тяжёлых случаях.&lt;br /&gt;
&lt;br /&gt;
== 5. Компиляция ядра ==&lt;br /&gt;
&lt;br /&gt;
Чтобы скомпилировать ядро, выполните следующие команды:&lt;br /&gt;
&lt;br /&gt;
 make-kpkg clean&lt;br /&gt;
 fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers&lt;br /&gt;
&lt;br /&gt;
Здесь &lt;br /&gt;
* fakeroot задает &amp;quot;правильное&amp;quot; root-окружение, &lt;br /&gt;
* make-kpkg выполняет собственно сборку ядра и модулей (подменяя собой обычные make vmlinuz и make modules), &lt;br /&gt;
* --append_to_version, --sempron и --revision=rev.01 задают дополнения к имени собираемого пакета, каковым в качестве basename выступает kernel_image.&lt;br /&gt;
&lt;br /&gt;
После –append-to-version= вы можете вписать все что угодно – все, что поможет вам в дальнейшем идентифицировать «ваше» ядро, но это название должно начинаться на минус («-») и не содержать пробелов.&lt;br /&gt;
&lt;br /&gt;
Теперь потерпите – компиляция ядра может занять несколько часов, все зависит от того, как вы сконфигурировали ядро и от того, насколько быстр ваш процессор.&lt;br /&gt;
&lt;br /&gt;
== 6. Инсталляция нового ядра ==&lt;br /&gt;
&lt;br /&gt;
После того, как компиляция нового ядра успешно завершится, в директории /usr/src появятся два deb-файла:&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 ls -l&lt;br /&gt;
&lt;br /&gt;
Установить их:&lt;br /&gt;
 dpkg -i ./*.deb&lt;br /&gt;
&lt;br /&gt;
Теперь можно проверить grub - в него добавится новое ядро:&lt;br /&gt;
&lt;br /&gt;
 vi /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
&lt;br /&gt;
* [[Оптимизация Linux]]&lt;br /&gt;
* [[Apt-build]]&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
&lt;br /&gt;
* [http://welinux.ru/post/298 Ускоряем debian]&lt;br /&gt;
* [http://linux.xlibs.net/2006/11/20/howto-compile-a-kernel-the-ubuntu-way/ HowTo: Компиляция ядра - The Ubuntu Way]&lt;br /&gt;
* [http://citkit.ru/articles/222/ Собери свой Ubuntu]&lt;br /&gt;
* [http://guruadmin.ru/page/kak-izmenit-yadro-ubuntu-linux Как изменить ядро Ubuntu Linux]&lt;br /&gt;
* [http://jedi-linux.blogspot.com/2007/09/blog-post_3999.html Компилируем ядро]&lt;br /&gt;
* [http://www.lissyara.su/?id=1326 Оптимизация make.conf]&lt;br /&gt;
* [http://www.linuxnsk.ru/content/view/101/36/ Ставим ядро 2.6, или Ядерная физика для домохозяйки. Версия 2.0]&lt;br /&gt;
* [http://mydebianblog.blogspot.com/2006/12/blog-post_20.html Некоторые замечания о сборке ядра Linux: как собрать ядро в Линукс]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Параметры ядра Linux&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.kryukov.biz/wiki/%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B_%D1%8F%D0%B4%D1%80%D0%B0_Linux Параметры ядра Linux]&lt;br /&gt;
* [http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/i386-and-x86_002d64-Options.html Intel 386 and AMD x86-64 Options]&lt;br /&gt;
* [http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Optimize-Options.html Options That Control Optimization]&lt;br /&gt;
* http://en.gentoo-wiki.com/wiki/Safe_Cflags&lt;br /&gt;
&lt;br /&gt;
[[Категория:Linux]]&lt;/div&gt;</summary>
		<author><name>&gt;WikiSysop</name></author>
	</entry>
</feed>