Как настроить ядро линукс

Как настроить ядро линукс

Вы можете получить исходные тексты с помощью анонимного ftp с ftp.funet.fi в директории /pub/Linux/PEOPLE/Linus , с его зеркала, или с другого сервера. Они обычно обозначены как linux-x.y.z.tar.gz , где x.y.z номер версии. Более новые (лучшие?) версии и заплатки (patches) обычно находятся в поддиректориях, таких как ` v1.1 ‘ и ` v1.2 ‘. Самый большой номер имеет последняя версия и обычно является «тестовой версией», это значит, что если вы нелегко плохо чувствуете себя с альфа или бета версиями, то вы должны использовать стабильную версию.

Я настоятельно рекомендую вам использовать сервера-зеркала вместо использования ftp.funet.fi. Здесь приведен короткий список серверов-зеркал и других серверов:

В общем зеркало сервера sunsite.unc.edu является хорошим местом, где можно взять исходные тексты ядра. Файл /pub/Linux/MIRRORS содержит список известных серверов-зеркал. Если у вас нет доступа к ftp, то список систем BBS, которые распространяют linux периодически посылается в группу comp.os.linux.announce; постарайтесь получить его.

Если вы ищете общую информацию о Linux и его дистрибутивах, то посмотрите на http://www.linux.org .

Войдите в систему как администратор или выполните команду su , и перейдите в директорию /usr/src .Если вы устанавливали исходные тексты ядра при установке linux (как делает большинство), то том у вас уже есть директория названная ` linux ‘, которая содержит полное дерево устаревших исходных текстов. Если у вас есть свободное дисковое пространство, то вы можете сохранить эту директорию. Хорошая идея&nbsp— определить какая версия ядра запущена и соответственно переименовать директорию. Команда ` uname -r ‘ выдает номер текущей версии ядра. Поэтому, если команда ` uname -r ‘ выдала ` 1.0.9 ‘, то вы должны переименовать (с помощью ` mv ‘) ` linux ‘ в ` linux-1.0.9 ‘. Если вы не чувствуете, что поступаете опрометчиво, то просто сотрите всю директорию. В любом случае убедитесь, что никакой директории ` linux ‘ в /usr/src до распаковки полного исходного кода ядра.

Теперь распакуйте в /usr/src исходные тексты, пользуясь командой ` tar zxpvf linux-x.y.z.tar.gz ‘ (если вы получили просто файл .tar без расширения .gz на конце, то работает команда ` tar xpvf linux-x.y.z.tar ‘). Содержимое архива будет распаковано. После окончания процесса, будет существовать новая директория ` linux ‘ в /usr/src . Перейдите linux и посмотрите файл README . Там будет раздел с заголовком ` INSTALLING the kernel (Установка ядра) ‘. Выполните соответствующие инструкции&nbsp— символические ссылки должны быть на своем месте, удалите старые .o файлы, и т.п.

Замечание : Некоторое из этого являются повторенниями/пояснениями подобного раздела файла README поставляемого Linus.

Команда ` make config ‘ выполненная в /usr/src/linux запускает скрипт настройки, которая задает вам много вопросов. Она требует наличия bash, так что проверьте что bash находятся в /bin/bash , /bin/sh , или $BASH .

Существуют некоторые альтернативы команде ` make config ‘ и вы можете найти их более удобными и легкими для использования. Те, кто работает в X могут попробовать ` make xconfig ‘, если у вас установлен Tk (`click-o-rama’ — Nat). ` make menuconfig ‘&nbsp— это для тех, у кого установлен (n)curses и предпочитает текстовые меню. Эти интерфейсы имеют одно явное преимущество: если вы сделали неправильный выбор в течении настройки, то очень легко вернуться и исправить ее.

Теперь вы готовы отвечать на вопросы, обычно ответы выглядят как ` y ‘ (да) или ` n ‘ (нет). Драйвера устройств обычно имеют опцию ` m ‘. Это означает «module (модуль)», обозначая, что система будет компилировать этот драйвер, но не вставит его прямо в ядро, а сделает загружаемым модулем. Более комично эта опция описывается как «maybe (может быть)». Некоторые более ясные и некритичные опции здесь не описаны; смотрите раздел «Другие опции настройки» для их краткого описания.

В версиях 2.0.x и более поздних, существует опция `?’, которая обеспечивает краткое описание параметра настройки. Эта информация скорее всего наиболее свежая.

Эмуляция математических функций ядром

Если у вас нет математического сопроцессора (у вас голый 386 или 486SX), то вы должны ответить ` y ‘ на этот вопрос. Если у вас есть сопроцессор и вы все равно ответили ` y ‘, то не беспокойтесь&nbsp— сопроцессор все рано будет использоваться, а эмуляция будет проигнорирована. Единственное следствие этого в том, что ядро будет больше (расход ОЗУ). Я упоминал о том, что эмуляция очень медлена; хотя это не очень часто влияет, но все равно вспомните это, если столкнетесь с малой производительностью системы X-windos.

Читайте также:  Malwarebytes для windows server

Поддержка обычных (MFM/RLL) дисков и дисков/cdrom IDE

Вам вероятно необходима эта поддержка; это означает, что ядро будет поддерживать стандартные жесткие диски PC, которые имеет большинство людей. Этот драйвер не включает поддержку SCSI дисков; их выбор идет далее в настройке.

Затем у вас спросят о драйверах «old disk-only (только старых дисков)» и «new IDE (новых IDE)». Вы захотите выбрать один из них; основное отличие в том, что старые диски поддерживают только два диска на одном интерфейсе, а новые поддерживают вторичный (secondary) интерфейс и накопители IDE/ATAPI cdrom. Новый драйвер на 4k больше старого и также предположительно «улучшен», убирая некоторое количество ошибок, он может улучшить производительность вашего диска, особенно если у вас новое оборудование (типа EIDE).

Поддержка сети

В принципе вы должны ответить ` y ‘, если ваша машина подключена к сети, такой как internet, или вы хотите использовать SLIP, PPP, term и т.п. для dial up доступа к internet. Однако много пакетов (таких как оконная система X) требует поддержку сети, даже если вы не подключены ни к какой сети, вы должны сказать ` y ‘. Позже у вас спросят, хотите ли вы поддержку TCP/IP; далее скажите ` y ‘, если вы абсолютно уверены в своем выборе.

Ограничить память до менее 16MB

Существуют работающие с ошибками контролеры DMA на машинах с процессором 386, которые имеют проблемы с адресацией больше 16 Мб ОЗУ; вы можете ответить ` y ‘ в случае (редком) если у вас такой контроллер.

System V IPC

Одно из лучших определений IPC (Interprocess Communication, Межпроцессного сообщения) данов в глоссарии книги по Perl. Не удивительно, что некоторые программисты на Perl используют этот механизм чтобы позволить процессу общаться с другими процессами, так же как и другие пакеты (самый заметный из них это DOOM), так что ответ n не является хорошей идеей, пока вы не будете точно уверены в том, что вы делаете.

Тип процессора (386, 486, Pentium, PPro)

(в старых ядрах: используйте флаг -m486 для оптимизации для процессора 486)

Традиционно, это делает некоторую оптимизацию для выбранного процессора; ядра работают быстрее, но ядро может быть несколько больше. В новых ядрах, это однако больше не является правдой, так что вы должны ввести процессор для которого вы компилируете ядро. Ядро для «386» будет работать на всех машинах.

Поддержка SCSI

Если у вас есть устройства SCSI, то ответьте ` y ‘. У вас запросят дополнительную информацию, такую как поддержку CD-ROM, дисков, и какой тип адаптера SCSI у вас имеется. Смотрите SCSI-HOWTO для дополнительной информации.

Поддержка сетевых устройств

Если у вас есть сетевая карта, или вы хотите использовать SLIP, PPP, или адаптер параллельного порта для подключения к Internet, то ответьте ` y ‘. Скрипт настройки запросит у вас тип карты и какие протоколы вы хотите использовать.

Файловые системы

Затем настроечный скрипт запросит у вас поддержку для каких файловых систем вы хотите иметь в своей системе:

Стандартная (minix) — Более новые дистрибутивы не создают файловые системы minix, и много людей не используют ее, но все равно хорошая идея настроить ее. Некоторые программы с «дисками для восстановления (rescue disk)» используют ее и все еще много гибких дисков могут использовать файловую систему minix, поскольку файловая система minix менее мучительная для использования на гибких дисках.

Extended fs — это была первая версия расширенной файловой системы, которая сейчас не является широко используемой. Если вы не знаете точно, что она вам нужна и сомневаетесь, то скорее всего она вам не нужна.

Second extended — эта файловая система широко используется в новых дистрибутивах. У вас скорее всего она есть и вам нужно ответить ` y ‘.

файловая система xiafs — одно время она не была необычно, но во время написания этого документа я не знал никого использующего эту файловую систему.

msdos — если вы хотите использовать разделы вашего жесткого диска с MS-DOS, или монтировать гибкие диски, отформатированные под MS-DOS, то ответьте ` y ‘.

umsdos — эта файловая система расширяет возможности файловой системы MS-DOS обычными Unix-подобными возможностями, такими как длинные имена. Это не является полезным для людей (таких как я), кто «не работает в DOS.»

/proc — одна из величайших вещей со времен изобретения порошкового молока (я так предполагаю, идея была бесстыдно украдена у Bell Labs). Она не создает файловую систему proc на диске; она является интерфейсом в виде файловой системы к ядру и процессам. Много программ, выдающих список процессов (таких как ` ps ‘) используют ее. Как нибудь попробуйте выполнить ` cat /proc/meminfo ‘ или ` cat /proc/devices ‘. Некоторые командные процессоры (в частности rc) используют /proc/self/fd (известный как /dev/fd в других системах) для ввода/вывода. Вы должны почти всегда ответить ` y ‘ на этот вопрос; много важных утилит для linux зависят от этого выбора.

Читайте также:  Затемнение экрана для windows

NFS — если ваша машина работает в сети и вы хотите использовать файловые системы находящиеся на других машинах с помощью NFS, то ответьте ` y ‘.

ISO9660 — имеется на большинстве CD-ROM. Если у вас есть привод CD-ROM и вы хотите использовать его в Linux, то ответьте ` y ‘.

OS/2 HPFS — во время написания работает как файловая система только для чтения для OS/2 HPFS.

System V и Coherent — для разделов машин с System V и Coherent (это другие варианты Unix для PC).

Но я не знаю какие файловые системы мне нужны!

Хорошо, наберите команду ` mount ‘. Ее вывод будет выглядеть примерно так:

Посмотрите на каждую строку; слово идущее за словом ` type (тип) ‘ является типом файловой системы. В моем примере мои файловые системы / и /usr являются файловыми системами типа second extended, я использую /proc , и есть гибкий диск смонтированный используя файловую систему msdos.

Вы можете попробовать выполнить ` cat /proc/filesystems ‘, если у вас в настоящее время разрешено использование /proc ; эта команда перечислит файловые системы, поддержку которых имеет ваше ядро.

Настройка редко используемых, не критических файловых систем может вызвать раздувание вашего ядра; смотрите раздел о модулях чтобы избежать этого и раздел «Ловушки» о том, почему раздувшееся ядро является нежелательным.

Символьные устройства

В этом разделе вы выбираете драйвера для вашего принтера (параллельного принтера), шинной мыши, мыши для PS/2 (многие notebook используют протокол мыши PS/2 для своих встроенных трекболов), некоторые ленточные накопители и другие такие же «символьные» устройства. Ответьте ` y ‘ где необходимо.

Замечание: Selection это программа, которая позволяет вам использовать мышь вне системы X window для вырезания и вставки между виртуальными консолями. Она работает довольно хорошо, если у вас мышь для последовательного порта, потому-что она хорошо работает с X, но вам необходимо выполнить некоторые действия, для того чтобы работали другие типы мышей. Поддержка Selection одно время была опцией настройки, но сейчас она является стандартом.

Замечание 2: Сейчас Selection считается устаревшей. Имя новой программы «gpm». Она может делать более фантастические вещи, такие как трансляцию протокола мыши, работать с несколькими мышами, ..

Звуковые карты

если вы чувствуете огромное желание слышать рявканье biff , то ответьте ` y ‘, и далее другая программа настройки будет скомпилирована и будет задавать вам вопросы о вашей звуковой карте. (Примечание о настройке звуковой карты: когда программа спросит у вас устанавливать ли полную версию драйвера, то ответьте ` n ‘ и сохраните некоторое количество памяти в ядре выбором только необходимых возможностей драйвера). Я сильно рекомендую вам посмотреть в Sound-HOWTO для более детальной информации о поддержке звука, если у вас есть звуковая карта.

Другие опции настройки

Не все опции настройки перечислены здесь потому-что они слишком часто меняются или являются очевидными (например, поддержка 3Com 3C509 для компиляции драйвера для данной карты ethernet). Существует довольно полный список всех опций (плюс способ поместить их в скрипт Configure ), который собран Axel Boldt ( axel@uni-paderborn.de ) по следующему адресу:

или через анонимный FTP по адресу:

где x.yz это номер версии.

Для последних ядер (2.0.x и более поздних), этот список был интегрирован в дерево исходных текстов.

Работа над ядром (Kernel hacking)

Из Linus README:

действие опции настройки «kernel hacking» обычно проявляется в более большом или медленном ядре (или оба симптома), и может даже сделать ядро менее стабильным из-за настройки некоторых подпрограмм на попытку активно сломать плохой код, чтобы найти проблемы с ядром (kmalloc()). Таким образом вам скорее всего надо ответить `n’ на этот вопрос для «production» ядер.

После того как make config выдаст сообщение о том, что ваше ядро было настроено, вы можете «проверить (настроить) основной Makefile для дополнительных настроек», и т.п.

Теперь вы можете посмотреть в Makefile . Вам вероятно не понадобится изменять его, но вы не повредите его если посмотрите. Вы можете также изменить опции в нем с помощью команды ` rdev ‘ после того как поместите ядро на его место.

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Читайте также:  Linux viewing environment variables

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Пошаговое руководство как собрать ядро Linux с нуля

4 минуты чтения

Ядро Linux является основой Unix-подобных операционных систем. Ядро отвечает за связь между оборудованием и программным обеспечением и за распределение доступных ресурсов.

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Все дистрибутивы Linux основаны на предопределенном ядре. Но если вы хотите отключить несколько параметров и драйверов или попробовать экспериментальные исправления, вам необходимо собрать ядро Linux.

В этом пошаговом руководстве вы узнаете, как собрать и скомпилировать ядро Linux с нуля.

Сборка ядра Linux

Процесс создания ядра Linux состоит из семи простых шагов. Однако процедура требует значительного времени для завершения, в зависимости от скорости системы.

Примечание. Если версия на веб-сайте ядра не совпадает с версией из приведенных ниже шагов, используйте эти команды и замените номер версии ядра.

Шаг 1. Загрузите исходный код

1. Посетите официальный сайт ядра www.kernel.org и загрузите последнюю версию. Загруженный файл содержит сжатый исходный код.

2. Откройте терминал и используйте команду wget для загрузки исходного кода ядра Linux:

По завершении загрузки в выходных данных отображается сообщение «saved».

Шаг 2: извлеките исходный код

Когда файл будет готов, запустите команду tar , чтобы извлечь исходный код:

Вывод отображает извлеченный исходный код ядра:

Шаг 3: Установите необходимые пакеты

Перед сборкой ядра установите дополнительные пакеты. Для этого запустите эту команду:

Команда, которую мы использовали выше, устанавливает следующие пакеты:

  • git — отслеживает и записывает все изменения исходного кода во время разработки. Это также позволяет отменить изменения.
  • fakeroot — упаковочный инструмент, создающий фальшивую корневую среду.
  • build-essential — Устанавливает инструменты разработки, такие как C, C++, gcc и g++.
  • ncurses-dev — Библиотека программирования, предоставляющая API для текстовых терминалов.
  • xz-utils — обеспечивает быстрое сжатие и распаковку файлов.
  • libssl-dev — поддерживает SSL и TSL, которые шифруют данные и делают интернет-соединение безопасным.
  • bc (Basic Calculator) — математический язык сценариев, поддерживающий интерактивное выполнение операторов.
  • flex (Fast Lexical Analyzer Generator) — генерирует лексические анализаторы, преобразующие символы в токены.
  • libelf-dev — выдает общую библиотеку для управления файлами ELF (исполняемые файлы, дампы ядра и объектный код)
  • bison — генератор парсера GNU, который преобразует описание грамматики в программу на языке C.

Шаг 4: Настройте ядро

Исходный код ядра Linux поставляется с конфигурацией по умолчанию. Однако вы можете настроить его под свои нужды. Для этого выполните следующие действия:

1. Перейдите к каталогу linux-5.9.6. с помощью команды cd :

2. Скопируйте существующий файл конфигурации с помощью команды cp :

3. Чтобы внести изменения в файл конфигурации, выполните команду make :

Команда запускает несколько скриптов, которые затем открывают меню конфигурации:

4. Меню конфигурации включает в себя такие параметры, как прошивка, файловая система, сеть и параметры памяти. Используйте стрелки, чтобы сделать выбор, или выберите HELP, чтобы узнать больше о вариантах. Когда вы закончите вносить изменения, выберите SAVE, а затем выйдите из меню.

Примечание. Изменение настроек некоторых параметров может привести к тому, что ядро не будет работать. Если вы не знаете, что изменить, оставьте настройки по умолчанию.

Шаг 5: Соберите ядро

1. Начните сборку ядра, выполнив следующую команду:

Процесс сборки и компиляции ядра Linux занимает некоторое время.

Терминал перечисляет все компоненты ядра Linux: управление памятью, драйверы оборудования, драйверы файловой системы, сетевые драйверы и управление процессами.

2. Установите необходимые модули с помощью этой команды:

3. Наконец, установите ядро, набрав:

Вывод показывает готово, когда закончено:

Шаг 6. Обновите загрузчик (необязательно)

Загрузчик GRUB — это первая программа, которая запускается при включении системы.

Команда make install выполняет этот процесс автоматически, но вы также можете сделать это вручную.

1. Обновите initramfs до установленной версии ядра:

2. Обновите загрузчик GRUB с помощью этой команды:

Терминал выведет процесс и подтверждающее сообщение:

Шаг 7: перезагрузите и проверьте версию ядра

Когда вы выполните описанные выше действия, перезагрузите компьютер.

Когда система загрузится, проверьте версию ядра с помощью команды uname :

Терминал покажет текущую версию ядра Linux.

В этом пошаговом руководстве вы узнали, как собрать ядро Linux с нуля и установить необходимые пакеты.

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Полезно?

Почему?

😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.

😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.

Источник

Оцените статью