Показать сообщение отдельно
Старый 31.03.2008, 01:58 Вверх   #1
Fedoraвод
 
Аватар для Злой
Злой вне форума
Доп. информация
По умолчанию Ставим ядро 2.6

Для начала нужно выкачать само ядро [точнее исходники] с сайта http://www.kernel.org
Качайте архив tar.bz2 - он меньше по размеру. Имя файла должно быть примерно таким - linux-2.6.7.tar.bz2 , размер файла около 33 Мбайт. Качайте всегда последнее стабильное ядро. Если на ядро Вам нужно наложить какие-либо заплатки, то возможно, Вам придется закачать предпоследнюю версию, т.к. заплатки для новой версии ядра появляются иногда не сразу, а через пару недель.
Если у Вас уже есть ядро 2.6.0, а Вам нужно поставить, например, 2.6.7, то необязательно качать снова 33 Мбайта, можно выкачать заплатки [их также называют еще "патчи", но давайте говорить на русском] и обновить исходники Вашего ядра до последней версии. В таком случае Вам нужно выкачать все заплатки по возрастанию номеров версии от вашей версии до последней. В данном примере это заплатки 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6 и 2.6.7. Файлы заплаток называются так - patch-2.6.1.bz2 . На главной странице всех их не найти, поищите их на ftp сервере ftp://ftp.kernel.org
Кроме самого ядра нам, возможно, понадобится выкачать дополнительные заплатки, расширяющие возможности ядра. К примеру, в ядре 2.6 нет поддержки lirc (пульты дистанционного управления). Чтобы эта поддержка была, на ядро нужно наложить соответствующую заплатку.
Для примера возьмем такие заплатки:
Bootsplash - графическая загрузка Линукса
Win4Lin - для одноименной программы, позволяющей запускать window$ 95, 98, Me в окошке почти без потери производительности.
Lirc - поддержка пультов дистанционного управления
Supermount - возможность работы со сменными носителями без их подключения/отключения
Иногда на официальном сайте заплаток нет или они сильно устарели, но Вы можете найти "неофициальные" заплатки с помощью поисковика http://www.google.ru
Будьте осторожны с применением заплаток, т.к. это может не в лучшую сторону изменить надежность и стабильность ядра.
Качать лучше заплатку для той версии ядра которую Вы хотите поставить, если их нет, то можно закачать для самой последней из имеющихся. В таком случае есть вероятность что заплатка не поставится. Причем вероятность этого тем больше, чем больше разница в версиях ядер. Предположим что мы ставим ядро 2.6.7 и получили такие файлы
linux-2.6.6.tar.bz2
patch-2.6.7.bz2
bootsplash-3.1.4-2.6.7.diff
Kernel-Win4Lin3-2.6.7.patch и mki-adapter26_1_3_6.patch
lirc-2.6.5-20040404.patch
supermount-2.0.4-2.6.6.patch.gz

Хорошо. Теперь подготовим папку, где будем собирать ядро. В Линуксе для сборки из исходников есть специальный каталог /usr/src. Однако по умолчанию писать туда рядовому пользователю запрещено, поэтому сначала дадим себе права. Самый простой способ - запустить консоль, получить права root и установить на эту папку владельцем обычного пользователя, под которым работаем в системе.
[mike@localhost mike]$ su -
Password:
[root@localhost root]# chown -R mike /usr/src
[root@localhost root]#

Сборка (как и работа в системе) под пользователем root является очень плохой привычкой и может в будущем сослужить Вам плохую службу. Как известно, лучший способ борьбы с вредными привычками - это не заводить их. Поэтому старайтесь сразу все делать правильно.
Копируем исходники ядра (linux-2.6.6.tar.bz2) в папку /usr/src
Теперь их надо распаковать. Если Вы пользуетесь файловым менеджером mc, на файле нажмите F2, а потом "x". Если Вы пользуетесь файловым менеджером gentoo (http://linux.alhimia.ru/projects/misc/gentoo/), то щелкните правой кнопкой и выберите Действия - РаспаковатьСюда. Для чистой консоли можно использовать такую команду:
[mike@localhost src]$ tar -xjf linux-2.6.6.tar.bz2

Получился каталог linux-2.6.6. Переименуйте его, например, в linux-2.6.7-my
Копируем все заплатки туда и переходим к следующему пункту.
2. Ставим заплатки

Сначала распакуем упакованные заплатки. В mc для этого файла нажмите F2 а потом "y" (для .gz архива) или "b"(для .bz2 архива). В gentoo выделите все файлы нажмите правую кнопку Действия-Распаковать. Для чистой консоли можете использовать такие команды:
[mike@localhost linux-2.6.7-my]$ gunzip *.gz
[mike@localhost linux-2.6.7-my]$ bzip2 -d *.bz2

Теперь, собственно, об установке заплаток. Сначала накладываем закладку для обновления версии ядра ( patch-2.6.7 ), потом остальные. В файловом менеджере Gentoo для установки можно просто щелкнуть правой кнопкой и выбрать Действия-Наложить. В консоли нужно дать следующую команду
patch -p1 -i <имя файла заплатки>
В нашем примере это будет выглядеть так
[mike@localhost linux-2.6.7-my]$patch -p1 -i patch-2.6.7
patching file CREDITS
patching file Documentation/DocBook/kernel-hacking.tmpl
patching file Documentation/DocBook/libata.tmpl
......
patching file sound/usb/usbaudio.h
patching file sound/usb/usbmixer.c
patching file sound/usb/usbquirks.h

[mike@localhost linux-2.6.7-my]$ patch -p1 -ibootsplash-3.1.4-2.6.7.diff
patching file drivers/char/keyboard.c
patching file drivers/char/n_tty.c
patching file drivers/char/vt.c
patching file drivers/video/Kconfig
patching file drivers/video/Makefile
patching file drivers/video/bootsplash/Kconfig
patching file drivers/video/bootsplash/Makefile
patching file drivers/video/bootsplash/bootsplash.c
patching file drivers/video/bootsplash/bootsplash.h
patching file drivers/video/bootsplash/decode-jpg.c
patching file drivers/video/bootsplash/decode-jpg.h
patching file drivers/video/bootsplash/render.c
patching file drivers/video/console/fbcon.c
patching file drivers/video/console/fbcon.h
patching file drivers/video/vesafb.c
patching file include/linux/console_struct.h
patching file include/linux/fb.h
patching file kernel/panic.c

[mike@localhost linux-2.6.7-my]$ patch -p1 -i Kernel-Win4Lin3-2.6.7.patch
patching file kernel/exit.c
patching file kernel/fork.c
patching file kernel/sched.c
patching file mm/vmscan.c
patching file arch/i386/Kconfig
patching file arch/i386/kernel/apm.c
patching file arch/i386/kernel/cpu/common.c
patching file arch/i386/kernel/entry.S
patching file arch/i386/kernel/head.S
patching file arch/i386/kernel/process.c
patching file arch/i386/kernel/signal.c
patching file arch/i386/kernel/vm86.c
patching file arch/i386/Makefile
patching file arch/i386/mki/Makefile
patching file arch/i386/mki/mki.c
patching file arch/i386/mm/fault.c
patching file include/asm-i386/desc.h
patching file include/asm-i386/mki.h
patching file include/asm-i386/mkiversion.h
patching file include/asm-i386/segment.h
patching file include/asm-i386/thread_info.h
patching file include/linux/init_task.h
patching file include/linux/sched.h

[mike@localhost linux-2.6.7-my]$ patch -p1 -i mki-adapter26_1_3_6.patch
patching file arch/i386/Makefile
patching file arch/i386/mki-adapter26/LICENSE
patching file arch/i386/mki-adapter26/Makefile
patching file arch/i386/mki-adapter26/mki26.c
patching file arch/i386/mki-adapter26/mki-adapter26.h
patching file arch/i386/mki-adapter26/mkifunc.h
patching file arch/i386/mki-adapter26/mki-main.c
patching file arch/i386/mki-adapter26/mkivnet.c
patching file arch/i386/mki-adapter26/README
patching file arch/i386/mki-adapter26/timer.c
patching file arch/i386/mki-adapter26/vneteth.h
patching file arch/i386/mki-adapter26/vnetint-pub.h

[mike@localhost linux-2.6.7-my]$ patch -p1 -i lirc-2.6.5-20040404.patch
patching file Documentation/lirc/lirc_it87
patching file drivers/char/Kconfig
Hunk #1 succeeded at 442 (offset -2 lines).
patching file drivers/char/lirc/Kconfig
patching file drivers/char/lirc/lirc_atiusb.c
patching file drivers/char/lirc/lirc_bt829.c
patching file drivers/char/lirc/lirc_dev.c
patching file drivers/char/lirc/lirc_dev.h
patching file drivers/char/lirc/lirc_gpio.c
patching file drivers/char/lirc/lirc_i2c.c
patching file drivers/char/lirc/lirc_it87.c
patching file drivers/char/lirc/lirc_it87.h
patching file drivers/char/lirc/lirc_mceusb.c
patching file drivers/char/lirc/lirc_parallel.c
patching file drivers/char/lirc/lirc_parallel.h
patching file drivers/char/lirc/lirc_serial.c
patching file drivers/char/lirc/lirc_sir.c
patching file drivers/char/lirc/Makefile
patching file drivers/char/Makefile
patching file include/linux/lirc.h

[mike@localhost linux-2.6.7-my]$ patch -p1 -i supermount-2.0.4-2.6.6.patch
patching file Documentation/filesystems/00-INDEX
patching file Documentation/filesystems/supermount.txt
patching file drivers/cdrom/cdrom.c
Hunk #3 succeeded at 874 (offset -12 lines).
Hunk #4 succeeded at 892 (offset -12 lines).
Hunk #5 succeeded at 975 (offset -12 lines).
Hunk #6 succeeded at 989 (offset -12 lines).
Hunk #7 succeeded at 1066 (offset -12 lines).
Hunk #8 succeeded at 1338 (offset -12 lines).
Hunk #9 succeeded at 2106 (offset -12 lines).
Hunk #10 succeeded at 2907 (offset -12 lines).
patching file drivers/cdrom/cdu31a.c
Hunk #1 succeeded at 3173 (offset -1 lines).
Hunk #2 succeeded at 3206 (offset -1 lines).
Hunk #3 succeeded at 3220 (offset -1 lines).
patching file drivers/cdrom/cm206.c
patching file drivers/cdrom/mcd.c
patching file drivers/cdrom/mcdx.c
patching file drivers/cdrom/sbpcd.c
patching file drivers/ide/ide-cd.c
Hunk #1 succeeded at 3410 (offset -2 lines).
Hunk #2 succeeded at 3462 (offset -2 lines).
patching file drivers/ide/ide-floppy.c
Hunk #4 succeeded at 1959 (offset 1 line).
Hunk #5 succeeded at 2027 (offset 1 line).
patching file drivers/scsi/sd.c
Hunk #2 succeeded at 469 (offset 8 lines).
Hunk #3 succeeded at 500 (offset 8 lines).
Hunk #4 succeeded at 660 (offset 9 lines).
Hunk #5 succeeded at 692 (offset 9 lines).
Hunk #6 succeeded at 744 (offset 9 lines).
patching file drivers/scsi/sr.c
Hunk #1 succeeded at 477 (offset 9 lines).
Hunk #2 succeeded at 527 (offset 9 lines).
Hunk #3 succeeded at 543 (offset 9 lines).
patching file fs/block_dev.c
Hunk #1 succeeded at 512 (offset -2 lines).
patching file fs/ext2/super.c
patching file fs/isofs/inode.c
patching file fs/Kconfig
Hunk #1 succeeded at 946 (offset 34 lines).
patching file fs/Makefile
Hunk #1 succeeded at 91 (offset -1 lines).
patching file fs/namespace.c
Hunk #1 succeeded at 852 (offset 64 lines).
patching file fs/super.c
Hunk #2 succeeded at 530 (offset 16 lines).
Hunk #3 succeeded at 659 (offset 16 lines).
Hunk #4 succeeded at 774 (offset 16 lines).
Hunk #5 succeeded at 829 (offset 16 lines).
patching file fs/supermount/changelog
patching file fs/supermount/dentry.c
patching file fs/supermount/file.c
patching file fs/supermount/filemap.c
patching file fs/supermount/init.c
patching file fs/supermount/Kconfig
patching file fs/supermount/Makefile
patching file fs/supermount/mediactl.c
patching file fs/supermount/namei.c
patching file fs/supermount/proc.c
patching file fs/supermount/subfs.c
patching file fs/supermount/super.c
patching file fs/supermount/supermount.h
patching file fs/udf/super.c
patching file include/linux/cdrom.h
Hunk #1 succeeded at 987 (offset 12 lines).
patching file include/linux/fs.h
Hunk #1 succeeded at 91 (offset -2 lines).
Hunk #2 succeeded at 115 (offset -2 lines).
Hunk #3 succeeded at 581 (offset 3 lines).
Hunk #4 succeeded at 772 (offset 3 lines).
Hunk #5 succeeded at 845 (offset 3 lines).
patching file include/linux/genhd.h
patching file include/linux/supermount_media.h

Обратите внимание на вывод команды patch. Если заплатка идеально подходит к ядру, то в выводе должны быть только строчки patching file ... . Если Вы видите строчку Hunk #1 succeeded at... это означает что заплатка наложена успешно, но место наложения сдвинуто на некоторое кол-во строк. Если же Вы увидите слово Failed - то значит заплатка не подходит, нужно искать более подходящую. В этом случае лучше удалить наш каталог /usr/src/linux-2.6.7-my и начать все сначала уже без этой заплатки.
Итак, исходники ядра готовы и ждут когда их соберут (скомпилируют).
3 Собираем

3.1 Подготовка

Для начала давайте посмотрим файл Makefile. Нас интересуют первые 4 строчки
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 7
EXTRAVERSION =
...

Измените четвертую строку на
EXTRAVERSION=-my

Это приведет к тому, что сделанное нами ядро будет называться linux-2.6.7-my. Если нам нужно будет несколько вариантов ядра 2.6.7, то можно снова изменить строчку EXTRAVERSION=my2, собрать ядро еще раз и получить ядро linux-2.6.7-my2. После этого при загрузке можно будет выбирать нужный вариант ядра.
3.2 Чистка

Запустите команду make mrproper
[mike@localhost linux-2.6.7-my]$ make mrproper

Эта команда нужна для удаления временных файлов, созданных при предыдущей сборке. Она удаляет также все настройки, которые Вы сделали во время прошлой сборки. (Настройки лежат в файле .config. Если есть желание сохранить выбор модулей, перенесите куда-нибудь этот файл, выполните чистку, а потом верните обратно)
3.3 Стратегия настройки ядра

А вот сейчас начинается самый ответственный момент, от которого зависит успех всего мероприятия. Здесь нужно знать хотя бы немного английский и знать начинку компьютера. Для начала немного теории.
Ядро может быть монолитным, а может быть модульным. Что это означает? Монолитное ядро - это просто один файл, который грузится при старте системы, и сидит в оперативной памяти до выключения компьютера. Те возможности, которые заложены в этом файле, не подлежат изменению. Если включить все возможности в ядро, получаем очень большое и очень медленное ядро. Если сделать маленькое и быстрое ядро, то придется пожертвовать возможностями. Кроме того с таким ядром не смогут работать такие коммерческие программы как Win4Lin . На таком ядре не поставить драйвер видеокарты от фирмы Nvidia, что ставит крест на использовании этих ядер на домашних игровых компьютерах с этими видеокартами. В чем же преимущество монолитного ядра? Оно хорошо своей более высокой защищенностью и более простым использованием. При старте ядро обладает всеми возможностями, которые в него заложены. Кроме этого, монолитное ядро не подвержено всевозможным троянским программам, которые осуществляют свою вредную деятельность путем замены стандартных модулей и внедрением своих. Поэтому монолитные ядра хороши для серверов. Ядро в этом случае располагается в каталоге /boot и имеет имя vmlinuz-xxxx.
Модульное ядро - это тот же файл, который грузится при загрузке с диске как и в случае с монолитным ядром, но плюс к есть нему набор файлов, которые называются модулями. Эти файлы по сути - возможности ядра, которые Вы можете подключить к ядру и отключить от него без перезагрузки компьютера. Ядро которое у Вас поставилось вместе с дистрибутивом - модульное. В модульном ядре все возможности, которые могут быть выведены в отдельный файл, т.е. модуль, - делаются модульными. Самый большой плюс модульного ядра - то что в него можно включить абсолютно все возможности, на что способно ядро, все устройства, все файловые системы и т.п. Ядро в результате получается небольшим (в оперативной памяти) , быстрым и гибким. Минусы такого подхода - собственно в необходимости работы с модулями, Вы не получите возможности модуля, пока его не загрузите. К счастью, большинство модулей грузиться автоматически, а остальные грузятся при старте системы загрузочными скриптами, избавляя Вас от необходимости грузить вручную десятки модулей. В этом случае ядро представлено тем же файлом /boot/vmlinuz-xxxx и содержимым каталога /lib/modules/<версия ядра>. Кроме того модульному ядру нужен специальный образ загрузки т.н. initrd. Этот образ содержит все необходимые модули которые позволяют ядру загрузить ситему. Без этих модулей оно неспособно подключить системный раздел жесткого диска и прочитать файлы. Initrd файл располагается в каталоге /boot и имеет имя initrd-xxxx.
Где же истина? Как всегда, посередине. Какие-то возможности лучше включить в ядро, а какие-то сделать модулями. Какие именно? Те возможности которые Вам нужны постоянно - лучше включить, например драйвер жесткого диска, на котором лежит система. Если к Вам приходит друг раз в месяц со своей usb фотокамерой - делайте драйвер usb и камеры модулями. Если сомневаетесь, нужна ли Вам та или иная особенность - ставьте модулем. Посмотреть какие модули сейчас загружены в систему Вы можете командой lsmod
Если ваш дистрибутив собран для 2.4 ядра (например АСПЛинукс 9.0 и 9.2), то у Вас могут быть проблемы с загрузкой модулей, связанные с тем что в 2.6 изменились названия модулей. Поэтому я рекомендую включать все, что Вам точно необходимо, в ядро.
Итак, настройка производится на выбор одной из команд
make xconfig
Для пользователей, у которых есть графика - запустится графическая программка для настройки. Этот вариант нам наиболее симпатичен.
make gconfig
То же что в первом случае, только для графичекой среды GNOME.
make menuconfig
Для консоли. Предлагает текстовые меню и кнопки.
make config
Для консоли. Задает 1000 и 1 вопрос.
make oldconfig
Для консоли. Этот вариант очень полезен если у нас уже есть сформированный файл настроек .config (можно использовать файл настроек от старого ядра). В этом варианте задаются только вопросы по возможностям, которые появились с той версии ядра, для которой сделан файл настроек.
3.4 Пример настройки ядра.

Итак вперед!
Если Вы хотите возможность оформить модулем, ставьте точку (m для консоли), Если включить в ядро, - галочку (* или y)
Для тех кто не знает английский, привожу примерную настройку рабочей станции. Естественно, оговорюсь, что я не считаю свой подход единственно правильным, не претендую на 100% понимание всего что есть в ядре, - как я это понимаю, так и привожу в этом документе
Code maturity level options "Завершенность кода"
Prompt for development and/or incomplete code/drivers - ДА
Включать незавершенный код. Включать ли в ядро драйверы с состоянием "Экспериментально". Такие модули рекомендуется включать с осторожностью. С другой стороны, существует много стабильно работающих модулей, которые официально находятся в экспериментальном состоянии. Если ответить на этот вопрос НЕТ, то все такие модули не будут включаться, они даже исчезнут из списка.
Select only drivers expected to compile cleanly - ДА
Выбирать только те драйвера, которые собираются без ошибок
Select only drivers that don't need compile-time external firmware - ДА
Выбирать только те драйвера, которые не требуют внешних прошивок
General setup "Общие"
Support for paging of anonymous memory - ДА (обязательно)
Поддержка swap, т.е. виртуальной памяти на жестком диске. Без этой памяти Вы будете ограничены только оперативной.
System V IPC - ДА (обязательно)
Механизм связи между процессами. Набор бибиотечных функций и вызовов ядра позволяющий процессам обмениваться информацией. Некоторые программы (например dosemu) требуют этого механизма
POSIX Message Queues - ДА или НЕТ
Очередь для сообщений формата POSIX с использованием приоритетов. Часть механизма связи между процессами. Нужно если запускать программы написанные под этот формат, например с ОС Solaris. Пока особого смысла включать эту опцию нет, но и вреда от этого не будет.
BSD Process Accounting - ДА (желательно)
Поддержка дополнительных сведений о процессах (время запуска, владелец, командная строка запуска, использование памяти). Полезно для контроля процессов.
Sysctl support - ДА (обязательно)
Механизм изменения параметров ядра на лету. Загрузочные скрипты используют этот механизм для установки параметров ядра. См. файл /etc/sysctl.conf. Если выключить, то изменять параметры можно будет через команду echo ( например echo 1 >/proc/... )
Auditing support - НЕТ или ДА
Включение механизма проверки ядра. Например используется системой SELinux (система расширенной безопасности для Linux). Если Вы не знаете, что это такое, то можете отключить. С другой стороны, если ваш дистрибутив поддерживает эту систему, то есть смысл включить. Для работы проверки необходимо включить системные вызовы проверки ниже.
Enable system-call auditing support - ДА
Включение системных вызовов для механизма проверки ядра.
Support for hot-pluggable devices - ДА (обязательно)
Поддержка устройств (например устройства USB), подключаемых на ходу, без выключения компьютера. Эта опция включает системные вызовы. Кроме этого для обработки событий подключения или отключения устройств у Вас должен быть настроен "агент горячего подключения". См man hotplug.
Kernel .config support - ДА (желательно)
Сохранять настройки ядра в нем самом. Это полезно, если у Вы удалите папку с исходниками ядра, а потом захотите немного изменить ядро.
Enable access to .config through /proc/config.gz - ДА (желательно)
Возможность скачать настройки загруженного в данный момент ядра из файла /proc/config.gz
Configure standard kernel features (for small systems) - НЕТ (обязательно)
Возможность отключения базовых функций ядра - для нестандартных ядер, применяемых в устройствах, ограниченных ресурсами.
Optimize for size - НЕТ
Оптимизация кода ядра не по скорости, а по размеру. Может быть полезно для создания загрузочных дискет. В случае, если у Вас старая версия компилятора, могкт возникнуть проблемы.
Loadable module support "Поддержка модулей ядра"
Enable loadable module support - ДА (обязательно)
Создание модульного ядра. Если ответить НЕТ, то ядро будет монолитным.
Module unloading - ДА (желательно)
Возможность выгрузки модулей. Однако, некоторые модули, которые используются в данный момент, все равно не могут быть выгружены.
Forced module unloading - ДА (для опытных пользователей)
Возможность принудительной выгрузки модуля, даже если оно еще нужно ядру. Для опытных.
Module versioning support (EXPERIMENTAL) - НЕТ (можно и ДА)
Возможность использования модулей от другой версии ядра. Для опытных.
Automatic kernel module loading - ДА (обязательно)
Автоматическая загрузка модуля в случае необходимости.
Processor type and features "Тип и характеристики процесора"
Subarchitecture Type - (PC-compatible)
Тип архитектуры - у Вас наверняка PC
Processor family - (Pentium-II/Celeron(pre-Coppermine))
Здесь поставьте тип Вашего процессора. Если Вы его не знаете, смотрите файлы /proc/cpuinfo и /var/log/dmesg (ищите слово "Processor")
Generic x86 support - НЕТ
Включение поддержки типов процессора, отличных от выбранного - для создания дистрибутивов.
HPET Timer Support - ДА
Поддержка внутреннего таймера ядра нового типа
Symmetric multi-processing support - НЕТ
Поддержка многопроцессорных компьютеров (как правило, используется только в серверах). Однако полезно для систем на базе процессора Pentium 4 с технологией hyperthreading. Эта опция позволит использовать один реальный процессор как 2 виртуальных.
(2) Maximum number of CPUs (2-255)
Количество процессоров. Для одного процессора Pentium4 Xeon поставьте значение 2.
SMT (Hyperthreading) scheduler support - ДА (для Pentium 4 Xeon)
Улучшенный планировщик для процессора Pentium4.
Preemptible Kernel - ДА (обязательно)
Приводит к заметному ускорению графических программ. Рекомендуется для рабочих станций, домашних компьютеров.
Local APIC support on uniprocessors -ДА (Желательно)
Если у Вас в процессоре есть контроллер прерываний. Если же его нет, то ничего плохого от включения не произойдет. Однако на опыте я столкнулся с тем, что если на некоторых материнских платах APIC реализован с ошибками, то это может привести к периодическому зависанию компьютера и неработоспособности некоторого встроенного оборудования. Если у Вас возникнут такие проблемы, то пересоберите ядро с отключенным APIC
IO-APIC support on uniprocessors - ДА (Желательно)
Расширение контроллера прерываний. Как правило для многопроцессорных систем. Если же его нет, то ничего плохого от включения не произойдет.
Machine Check Exception - ДА (Обязательно)
Проверка процессора на сбои или перегрев.
Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4 ДА (Желательно)
Возможность отлова и исправления не фатальных ошибок процессора
check for P4 thermal throttling interrupt ДА (Для владельцев Pentium 4)
В случае перегрева будет выведено сообщение.
Toshiba Laptop support - НЕТ
Dell laptop support - НЕТ
Всем, кроме владельцев соответствующих компьютеров можно поставить НЕТ
/dev/cpu/microcode - Intel IA32 CPU microcode support - НЕТ (можно и ДА)
Поддержка доступа к микрокоду процессора
/dev/cpu/*/msr - Model-specific register support - НЕТ
Поддержка регистров msr для многопроцессорных систем.
/dev/cpu/*/cpuid - CPU information support -НЕТ
Доступ к идентификатору процессора, как правило не нужно.
Firmware Drivers

BIOS Enhanced Disk Drive calls determine boot disk (EXPERIMENTAL) - НЕТ
Экспериментальная функция для определения с какого диска загружается BIOS.
High Memory Support - (off)
Если у Вас оперативной памяти больше 1 ГБ - поставьте размер (см /proc/meminfo)
Math emulation - НЕТ (Обязательно)
Эмуляция математического сопроцессора - только для 386 и 486SX.
MTRR (Memory Type Range Register) support - ДА (Обязательно)
Ускоряет до 2,5 раз скорость передачи изображений видеокарте
Boot from EFI support (EXPERIMENTAL) - НЕТ
Загрузка с EFI. Нам не нужно
Use register arguments (EXPERIMENTAL) - НЕТ (Обязательно)
Сборка ядра с опцией компилятора gcc -mregparm=3. Поддерживается только версией gcc 3.0 и выше. (см. gcc --version )
Power management options (ACPI, APM) "Управление питанием"
Power Management support - ДА (Обязательно)
Включение управления питанием.
Software Suspend (EXPERIMENTAL) - НЕТ
Программный "ждущий" режим - только для опытных. Позволяет сбросить память на раздел swap, выключить компьютер, а потом продолжить работу с момента перехода . Этот режим не использует функции ACPI.
Suspend-to-Disk Support - НЕТ, можно и ДА
Возможность сброса всей оперативной памяти на swap раздел и переход в режим пониженного энергопотребления. Использует функции ACPI.
Default resume partition ()
Можно указать раздел диска, куда сохранять оперативную память
ACPI (Advanced Configuration and Power Interface) Support
ACPI Support - ДА (Рекомендуется)
поддержка управлением питанием через ACPI - если у Вас древний компьютер, то такой поддержки может и не быть
Sleep States (EXPERIMENTAL) - НЕТ (Обязательно)
Спящий режим - во избежание глюков лучше отключить
AC Adapter - НЕТ (можно и ДА)
Контроль напряжения сети - для ноутбуков.
Battery - НЕТ (можно и ДА)
Контроль батареи - для ноутбуков
Button - ДА (желательно)
возможность обработки нажатия на кнопок питания, sleep (спящий режим)
Fan - ДА (желательно)
Для получения информации о состоянии вентиляторов
Processor - ДА (желательно)
Когда процессор не используется, перевести его в режим пониженного энергопотребления
Thermal Zone - ДА (Обязательно)
Защита от перегрева. Без этой защиты процессор может "сгореть на работе"
ASUS/Medion Laptop Extras - НЕТ
Toshiba Laptop Extras - НЕТ
Поддержка соответствующих моделей лаптопов.
Debug Statements - НЕТ (Желательно)
Если Вы не разработчик и у Вас ACPI работает стабильно, то лучше выключить эту опцию, чтобы сэкономить место в памяти
Power Management Timer Support - ДА (желательно)
Счетчик управления питанием. Эта часть ACPI должна работать без проблем, даже если у Вас проблемы с другими модулями ACPI. Хорош как точный источник времени, не подверженный воздействию таких событий как изменение частоты или напряжения процессора, состояния простоя процессора.
APM (Advanced Power Management) BIOS support - НЕТ
Если у Вас есть ACPI, то можно не включать. Иначе включите
Ignore USER SUSPEND - НЕТ (можно ДА)
Исправление ошибки некоторых глючных bios`ов (ноутбуки NEC Versa M)
Enable PM at boot time - НЕТ (Желательно)
Включение управления питания при загрузке. Может привести к зависанию на некоторых компьтерах (NEC UltraLite Versa 33/C; Toshiba T400CDT)
Make CPU Idle calls when idle - ДА (Желательно)
Позволяет экономить электроэнергию во время простоя процессора.
Enable console blanking using APM - НЕТ
Метод выключения консоли при простое. Если у Вас установлена графическая система, Вам это не нужно.
RTC stores time in GMT - НЕТ
Если системные часы показываю время по Лондону.
Allow interrupts during APM BIOS calls - НЕТ
Разрешает прерывания во время вызовов APM BIOS. Если у Вас компьютер виснет при переходе в ждущий режим - включите эту опцию.
Use real mode APM BIOS call to power off - НЕТ
Если у Вас компьютер не выключается сам при использовании APM - попробуйте эту опцию.
CPU Frequency scaling НЕТ (Для ноутбуков - ДА)
Позволяет экономить батареи переключаясь на более низкую частоту
/proc/cpufreq interface (deprecated) - НЕТ
Метод управления через /proc/cpufreq
Default CPUFreq governor - (performance)
Используемый по умолчанию регулятор частоты (лучше выбрать performance для большей производительности)
'performance' governor - ДА (Желательно)
Регулятор по производительности.
'powersave' governor - ДА (Желательно)
Регулятор частоты по энергосбережению
/proc/sys/cpu/ interface (2.4. / OLD) НЕТ (Можно и ДА)
Для доступа к регулятору 'userspace' через /proc/sys/cpu/
CPU frequency table helpers - ДА (Желательно)
Многим драйверам регуляторов нужна эта опция
CPUFreq processor drivers
Драйверы для смены частоты процессора
ACPI Processor P-States driver
Драйвер для изменения частоты процессорачерез ACPI
AMD Mobile K6-2/K6-3 PowerNow!
  Ответить с цитированием
 
Время генерации страницы 0.17062 секунды с 10 запросами