Возможно вы искали: 'Sportfischen Professional'

May 15 2025 19:23:08
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Установка Linux ядра из исходных текстов. (linux kernel install)

Установка Linux ядра из исходных текстов. (linux kernel install)

Ключевые слова: linux, kernel, install, (найти похожие документы)

From: Ananas <http://linuxportal.ru>
Date: Mon, 23 Feb 2004 14:31:37 +0000 (UTC)
Subject: Установка Linux ядра из исходных текстов.

Оригинал: http://linuxportal.ru/entry.php/P709_0_3_0/

Установка нового ядра

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

Сборка ядра

Первое, что необходимо сделать - скачать исходные коды ядра. Их можно
взять с http://www.kernel.org Для тех, у кого установлен
дистрибутив с оригинальным ядром (например Slackware) достаточно будет
только выкачать патчи, обновляющие ядро до новой версии. Тем же, у
кого ядро только от дистрибутива рекомендуется выкачивать тарбол с
исходными кодами в полном объеме, так как наложение патчей на
дистрибутивные ядра не всегда приводит к ожидаемому результату.

Нумерация версий ядра следующая: номер состоит из трех чисел -
MAJOR_VER.MINOR_VER.SUB_VER

Первые два MAJOR_VER и MINOR_VER определяют ветку ядра, SUB_VER - это
номер релиза в ветке. Следует помнить, что для стабильных веток
MINOR_VER - четное число. Не стоит брать нестабильные (aka
девелоперские) версии ядра, если вы конечно не собираетесь стать
kernel-hacker-ом ;)

После получения исходных кодов ядра распакуйте тарбол в директорий
/usr/src/linux-MAJOR_VER.MINOR_VER.SUB_VER и создайте симлинк
/usr/src/linux на этот директорий.

cd /usr/src
tar -zvxf /path/to/linux-MAJOR_VER.MINOR_VER.SUB_VER
rm -f linux
ln -s linux-MAJOR_VER.MINOR_VER.SUB_VER linux

Если вы скачали патч, обновляющий ядро до следующей версии, наложить
его можно следующей командой

cd /usr/src/linux-MAJOR_VER.MINOR_VER.OLD_SUB_VER
zcat /path/to/patch.gz | patch -p1
mv ../linux-MAJOR_VER.MINOR_VER.OLD_SUB_VER
../linux-MAJOR_VER.MINOR_VER.SUB_VER

Кроме этого, вы возможно захотите расширить функциональность ядра за
счет каких-либо разработок третьих сторон (например - пакет
lm-sensors, позволяющий работать с датчиками температуры, скорости
вращения вентиляторов и пр.) или добавить драйверы для специфического
оборудования, доступные в виде патчей к ядру. Скачайте их, если надо,
и выполните установочные действия, описанные в документации к таким
пакетам.

Очень неплохая страница с патчами для ядра (как для оптимизации
работы, так и для расширения функциональности) -
http://members.optusnet.com.au/ckolivas/kernel

При смене ветки ядра обычно нужно обновлять некоторые прикладные
пакеты, например пакет modutils, предоставляющий утилиты для
управления модулями ядра. Эти пакеты тоже можно взять на
http://www.kernel.org

После этого необходимо убедиться, что директории /usr/include/asm и
/usr/include/linux - это симлинки на соответсвующие директории из
/usr/src/linux/include/usr/src/linux/include/asm - это тоже симлинк на
директорий с ассеблерными хидерами для вашей архитектуры. Если не
удалить старые заголовочные файлы ядра, то впоследствии вас могут
ожидать очень неприятные сюрпризы при сборке софта, использующего
ядерные заголовочные файлы.

Теперь можно приступить к конфигурированию ядра. Перед этим вам
необходимо точно выяснить спецификации вашего компьютера
* тип процессора;
* чипсет материнской платы;
* тип видеокарты;
* тип сетевой платы;
* тип саунд-карты;
* тип жестких дисков;
* usb-устройства;
и т.д.

Процесс создания конфига ядра достаточно прозрачен. Запуск
конфигуратора осуществляется командой make menuconfig (консольный
вариант) или make xconfig (графический вариант) из корневого
директория с исходными кодами ядра (/usr/src/linux). Лично я
предпочитаю графический вариант, так как он более нагляден - видны все
возможные опции, а не только доступные, как в консольном. Но это -
дело вкуса. Для каждого пункта настройки имеется помошь, правда на
английском, но - такова жизнь. Без знания технического английского в
понимании юниксов (да и вообще) далеко не продвинешься.

Краткое описание подсистем ядра дано ниже.
При создании конфига главное - определиться, какие функции и драйверы
встроить в ядро, а какие собрать модулями. Принцип тут прост -
редкоиспользуемые функции и драйверы, а также драйверы, которые
требуют передачи дополнительных параметров (например - старые звуковые
платы на шине ISA) лучше собирать модулями. Остальное - встраивать в
ядро. Особенно это касается драйверов для вашего жесткого диска и
поддержки основной файловой системы - они должны быть встроены в ядро.

После создания конфига (файл /usr/src/linux/.config) сделайте его
резервную копию и можно приступать к сборке. Вот команда,
осуществляющая сборку ядра

make dep clean bzImage modules modules_install

После завершения работы команды необходимо скопировать собраное ядро и
System.map (это файл с таблицей символов, экспортируемых ядром) в
нужное место. Обычно - это директорий /boot.

cp System.map /boot/System.map-MAJOR_VER.MINOR_VER.SUB_VER
cp arch/i386/boot/bzImage /boot/vmlinuz-MAJOR_VER.MINOR_VER.SUB_VER
rm -f /boot/System.map
ln -s System.map-MAJOR_VER.MINOR_VER.SUB_VER /boot/System.map

В RedHat-based системах последняя команда необязательна, так как
создание этого симлинка предусмотрено в загрузочных скриптах. Эта фича
полезна в том случае, если в системе несколько ядер разных версий.
Фича реализуется следующими командами, добавленными в init-скрипт
(после монтирования файловой системы)

if [ -L /boot/System.map -a -r /boot/System.map-`uname -r` -a
! /boot/System.map -ef /boot/System.map-`uname -r` ] ; then
ln -s -f System.map-`uname -r` /boot/System.map
fi
if [ ! -e /boot/System.map -a -r /boot/System.map-`uname -r` ] ; then
ln -s -f System.map-`uname -r` /boot/System.map
fi

Для чистюль - после этого можно еще раз выполнить make clean :)
Если у вас RPM-based дистрибутив - вес процесс сборки можно выполнить
командой make rpm. После отработки у вас будет готовый rpm-пакет,
находящийся в /usr/src//RPMS/i386. Вам достаточно просто установить
его при помощи rpm -Uvh. Этот способ более правилен, чем сборка и
установка вручную.

Следующий этап - указать новое ядро загрузчику.
Если вы используете lilo, добавьте в /etc/lilo.conf строки

image = /boot/vmlinuz-MAJOR_VER.MINOR_VER.SUB_VER
Label = New
read-only
root = /dev/
и выполните /sbin/lilo

Если в качестве загрузчика используется grub, в его конфиг (обычно
/boot/grub/grub.conf)

title New
root (hd0,)
kernel /boot/vmlinuz-MAJOR_VER.MINOR_VER.SUB_VER ro
root=/dev/hda2

Все. Ядро установлено и доступно при загрузке под меткой New. можно
перезагружаться и наслаждаться новым ядром. Ну или kernel panic, как
это частенько бывает у новичков. При появлении kernel panic главное
помнить - don't panic :) Скорее всего вы несколько неправильно
сконфигурировали ядро. Проанализируйте ситуацию, при которой возник
panic, попытайтесь понять, чего не хватает, перезагрузитесь со старым
ядром и повторите процесс конфигурирования сборки и установки ядра.

Загрузка модулей при старте

Бывают ситуации, когда поддержка необходимых для загрузки устройств
была собрана модулем. Например, для rescue компакт-диска, когда
неизвестно, какие диски будут на машине, всключать поддержку всех
возможных вариантов в ядро не хочется, а работать должно везде. Для
этих целей служат так называемые загрузочные рамдиски (initial
ramdisks). Это файлы-образы для создания виртуальных дисков в памяти,
которые содержат модули, необходимые для нормальной загрузки системы.
Рамдиски создаются при помощи команды mkinitrd. Подробное описание
ключей и принципов использования команды можно прочитать в
соответсвующей ман-страничке. Для задания рамдиска который нужно
использовать при загрузке используется параметр initrd в
конфигурационном файле загрузчика (как для lilo, так и для grub).

Загрузочные дискеты

Загрузочные дискеты (или образы загрузочных дискет) создаются при
помощи команд mkbootdisk или mkrescue. Если же Вы желаете создать этот
образ вручную (например, для загрузочного cdrom-а) необходимо создать
файл образа (при помощи команды dd), подмонтировать его через
устройство loop и создать на нем файловую систему msdos. После чего
скопировать туда ядро и необходимые конфигурационные файлы и
воспользоваться утилитой syslinux для создания загрузочного сектора
образа. Подробности можно посмотреть по man syslinux.
Взять пакет syslinux можно на [83]http://syslinux.zytor.com Этот пакет
позволяет создавать загрузочные образы для дискет, cdrom-ов и сетевых
карт.

Краткое описание подсистем ядра

Я сознательно не описываю детально все конфигурационные опции ядра, а
даю лишь общее описание пунктов в главном меню ядерного конфигуратора.
Включать или не включать - решайте сами. Эксперименты - лучший способ
набраться опыта.

Code maturiry level options - включение поддержки новых
экспериментальных подсистем и драйверов.

Loadable module support - поддержка модульной структуры ядра и
возможности автозагрузки модулей.

Processor type and features - тип процессора, памяти и поддержка
многопроцессорности (SMP).

General setup - Включение подержки различных подсистем, в том числе
сетевой. Поддержка шин PCI и PCMCIA и управления питанием. Поддержка
различных форматов исполняемых файлов.

Memory technology devices - поддержка различных типров памяти,
например FLASH, в основном необходима для встраиваемых устройств.

Parallel port support - поддержка параллельного интерфейса.

Plug and play configuration - поддержка устройств PLUG-N-PLAY на шинах PCI и ISA.

Block devices - поддержка блочных устройств (всевозможных дисков), в
том числе и loopback устройств, необходимых для работы с обычным
файлом, как с отдельным диском.

Multi-device support - поддержка RAID.

Networking options - сетевая подсистема, поддержка различных сетевых
протоколов и файрвол (iptables).

Telephony support - поддержка телефонных карт для связи VOICE-OVER-IP.

ATA/IDE/MFM/RLL support - IDE подсистема и драйвера для различных

IDE-контроллеров. А также эмуляция SCSI для atapi-устройств.

SCSI suppot - SCSI подсистема и драйвера SCSI-адаптеров.

IEEE 1394 (FireWire) support - поддержка шины FireWire.

I2O device support - поддержка архитектуры Intelligent Input/Output

Network device support - драйвера сетевых карт.

Amateur radio suppport - поддержка устройст для связи по X.25

IrDA (infrared) support - поддержка интерфейса для работы
инфра-красным портом.

ISND support - поддержка ISDN адаптеров.

Old CD-ROM drivers - поддержка старых типов cdrom-ов.

Input core support - необходимо для устройст, работающих через USB HID
(таких, как мышь, клавиатура, UPS и т.д.)

Character devices - поддержка символьных устройств, таких как
последоватьный порт AGP, принтер, псевдотерминалы (необходимы для xterm).

Multimedia devices - поддержка fm-карт и устройств захвата аудио и
видеоизображения.

File systems - поддержка различных типов файловых систем, в том числе
и сетевых.

Console drivers - поддержка консоли. В том числе и фреймбуфера для консоли.

Sound - драйвера для звуковых карт.

USB support - поддержка USB и различных устройств, работающих через
этот интерфейс.

Bluetooth support - поддержка устройств для беспроводной связи.

Kernel hacking - включение отладочного кода ядра, в частности - Magic SysRq.


Маленькие хитрости

* Если вам необходимо держать две разных конфигурации одной и той-же
версии ядра, вы можете добавить свои суффиксы к версии. Для этого в
/usr/src/linux/Makefile пропишите свой суффикс в переменной
EXTRAVERSION. Это нужно для того, чтобы держать модулю для каждого
экземпляра ядра в отдельной директории.

* spec-файл для rpm-пакета генерируется скриптом
/usr/src/linux/scripts/mkspec. При необходимости добавить свои поля
или секции в spec-файл подредактируйте этот скрипт.

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

#! /bin/sh
if [ $# != 1 ]; then
echo "Usage: $0 on|off"
exit 1
fi
case $1 of
on)
mount /mnt/cdrom
;;
off)
eject
modprobe -r isofs
modprobe -r ide-cd
;;
*)
echo "Usage: $0 on|off"
exit 1
;;
esac

Некоторые интересные ссылки

Пакет lm-sensors - http://secure.netroedge.com/~lm78
Графическая загрузка -http://www.bootsplash.org
949 Прочтений •  [Установка Linux ядра из исходных текстов. (linux kernel install)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Установка Linux ядра из исходных те... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка