- Как настроить ядро линукс
- Эмуляция математических функций ядром
- Поддержка обычных (MFM/RLL) дисков и дисков/cdrom IDE
- Поддержка сети
- Ограничить память до менее 16MB
- System V IPC
- Тип процессора (386, 486, Pentium, PPro)
- Поддержка SCSI
- Поддержка сетевых устройств
- Файловые системы
- Но я не знаю какие файловые системы мне нужны!
- Символьные устройства
- Звуковые карты
- Другие опции настройки
- Работа над ядром (Kernel hacking)
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Пошаговое руководство как собрать ядро Linux с нуля
- Сборка ядра Linux
- Шаг 1. Загрузите исходный код
- Шаг 2: извлеките исходный код
- Шаг 3: Установите необходимые пакеты
- Шаг 4: Настройте ядро
- Шаг 5: Соберите ядро
- Шаг 6. Обновите загрузчик (необязательно)
- Шаг 7: перезагрузите и проверьте версию ядра
- Полезно?
- Почему?
Как настроить ядро линукс
Вы можете получить исходные тексты с помощью анонимного 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 ‘, которая содержит полное дерево устаревших исходных текстов. Если у вас есть свободное дисковое пространство, то вы можете сохранить эту директорию. Хорошая идея — определить какая версия ядра запущена и соответственно переименовать директорию. Команда ` 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 (Установка ядра) ‘. Выполните соответствующие инструкции — символические ссылки должны быть на своем месте, удалите старые .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 ‘ — это для тех, у кого установлен (n)curses и предпочитает текстовые меню. Эти интерфейсы имеют одно явное преимущество: если вы сделали неправильный выбор в течении настройки, то очень легко вернуться и исправить ее.
Теперь вы готовы отвечать на вопросы, обычно ответы выглядят как ` y ‘ (да) или ` n ‘ (нет). Драйвера устройств обычно имеют опцию ` m ‘. Это означает «module (модуль)», обозначая, что система будет компилировать этот драйвер, но не вставит его прямо в ядро, а сделает загружаемым модулем. Более комично эта опция описывается как «maybe (может быть)». Некоторые более ясные и некритичные опции здесь не описаны; смотрите раздел «Другие опции настройки» для их краткого описания.
В версиях 2.0.x и более поздних, существует опция `?’, которая обеспечивает краткое описание параметра настройки. Эта информация скорее всего наиболее свежая.
Эмуляция математических функций ядром
Если у вас нет математического сопроцессора (у вас голый 386 или 486SX), то вы должны ответить ` y ‘ на этот вопрос. Если у вас есть сопроцессор и вы все равно ответили ` y ‘, то не беспокойтесь — сопроцессор все рано будет использоваться, а эмуляция будет проигнорирована. Единственное следствие этого в том, что ядро будет больше (расход ОЗУ). Я упоминал о том, что эмуляция очень медлена; хотя это не очень часто влияет, но все равно вспомните это, если столкнетесь с малой производительностью системы X-windos.
Поддержка обычных (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 зависят от этого выбора.
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 с нуля
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 – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.
Источник