Возможно вы искали: 'Shogun: Total War - Th...'

May 15 2025 18:47:16
  • Как сделать 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 compile)

Сборка и компилирование ядра Linux (linux kernel compile)

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

From: Dr.Pixel <usama13@rambler.ru.>
Newsgroups: email
Date: Mon, 23 May 2005 18:21:07 +0000 (UTC)
Subject: Сборка и компилирование ядра Linux

[1]---// Intro

Замечательной чертой Linux-подобных осей является то, что при необходимости
можно не только изменить некоторые системные параметры, но и полностью
перекомпилировать всю ось! Чем мы в сущности и займемся...

[2]---// Этапы сборки ядра

-> 1 Приобретение исходников ядра.
-> 2 Подготовка каталогов с исходниками ядра.
-> 3 Конфигурирование ядра.
-> 4 Компиляция ядра и установка модулей.
-> 5 Перемещение ядра.
-> 6 Настройка и запуск lilo.

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


1. Приобретение исходников ядра:

Исходники своего ядра можно найти на дистрибутиве со своей осью. Но на нем не
всегда последняя версия ядра =(. Исходники последней версии ядра для Linux можно
найти на ftp://ftp.kernel.org (или на каком-нибудь зеркале). Там ядра лежат в
/pub/linux/. Загрузи ядро себе на хард и помести его в каталог /usr/src. Там-же
создай каталог для файлов и каталогов ядра (обычно создают что-то типа
linux-2.X.X, где 2.X.X - версия нового ядра) командой mkdir linux-2.X.X. После
этого создай связь с каталогом linux (ln -s linux-2.X.X linux).
Если каталог linux-2.X.X уже существует, то его предварительно надо удалить.
Ну все, вроде сырцы нашли, да папку создали... Продолжаем...


2. Подготовка каталогов с исходниками ядра.

После успешно завершенного этапа 1 пришло время подготовить древо каталогов для
файлов исходных кодов ядра.

Синтаксис команды для восстановления древа зависит от формата скаченного файла.
В нашем случае это могут быть файлы linux-2.X.X.tar.gz и linux-2.X.X.tar.bz2.
Для каждого из файлов используется определенный набор команд.

Для linux-2.X.X.tar.gz:

tar xzvf linux-2.X.X.tar.gz


Для linux-2.X.X.tar.bz2:

bzcat linux-2.X.X.tar.bz2 | tar xv


При выполнении этих команд содержимое файлов развернется в каталог,
определенный связью linux. После этого командой cd перейди в каталог linux
(cd linux). Этот каталог называется каталогом верхнего уровня исходного древа.

В нем много каталогов, одним из которых является Documentation, в котором
хранится дополнительная информация по ядру.

Для начала компиляции нового ядра выполни команду:

make mrproper


Ядро скомпилировано... Попробуем его настроить для своих потребностей...


3. Конфигурирование ядра.

На этом этапе придется выбрать опции, которые будут использоваться в новом
ядре. Не обязательно вникать в подробности массы опций. В большинстве из них
можно воспользоваться настройками по умолчанию (плохо не посоветуют =)).

Существуют три метода создания файла конфигурации, используемого при сборке
нового ядра (подробно опишу метод 3):

1 make config
2 make menuconfig
3 make xconfig


make config - это наиболее простой пошаговый сценарий.

make menuconfig - это более удобный метод (требует наличие ncurses).

make xconfig - это графическая утилита для настройки ядра. Перед тем, как ей
воспользоваться необходимо перейти в среду X Window. После выполнения этой
команды сначала скомпилируются необходимые элементы, затем появится диалоговое
окно.

Для каждой из представленных опций есть 3 установочных параметра: y,m,n.
y(yes) - Включает или встраивает опцию в ядро.
m(module) - Создает для выбранной опции загружаемый в динамическом режиме
модуль (без reboot'a). Существует не для всех опций.
n(no) - Отключает поддержку опции.

Для использования конфигуратора на базе X в системе должны буть установлены
библиотеки TCL/TK.

Вроде все... Ядро настроено...


4. Компиляция ядра и установка модулей.

В свою очередь этот этап делится на шаги:
1 Подготовка

-> make dep
-> make clean


2 Непосредственно сборка ядра

-> make bzImage|bzdisk|bzlilo


3 Сборка и установка модулей

-> make modules
-> make modules_install


Первый из них - make dep и make clean - являются типа подготовкой. После
выполнения make dep создаются файлы зависимостей (.depend), которые располаются
в каждом из подкаталогов древа исходных кодов. Если нет нарушений в расположении
компонентов древа, то процесс пройдет спокойно. Далее используется команда
make clean, которая удалит все лишние (вспомогательные) файлы, созданные от
предыдущих процессов компиляции.

Далее идет шаг, при котором необходимо непосредственно собрать ядро. Для сборки
ядра придется выбрать одну из 3-х команд: make bzImage, make bzdisk или make
bzlilo. Каждая из команд выполняет фактически одну и ту-же операцию, только
две последние выполняют одно дополнительное действие.

Рассмотрим подробнее каждую из команд:

make bzImage - стандартная операция, при которой будет только скомпилировано
ядро. Если все прошло без проблем, то созданное в результате компиляции ядро
будет расположено в каталоге /usr/src/linux/arch/i386/boot. В этом случае ядру
присваивается имя bzImage. Диспетчер загрузки lilo|grub должен найти это ядро и
загрузить его. Для этого достаточно скопировать файл bzImage и выполнить команду
lilo для переустановки диспетчера загрузки.

make bzdisk - этот метод позволяет выполнить практически ту-же задачу, что и
bzImage, но после завершения компиляции будет автоматически выполнено
копирование нового ядра на дискету. В дальнейшем эту дискету можно будет
использовать для загрузки системы.

make bzlilo - это рекомендуемый метод формирования и инсталляции нового ядра,
требующий предварительной подготовки lilo. При использовании этого метода
map-файл ядра не перемещается в другой каталог. Более того новое ядро может быть
записано поверх уже существующего, причем записано с ошибками, поэтому его
использование не рекомендуется. Этот метод очень похож на bzImage и отличается
только наличием дополнительной операцией, которая выполняется после совершения
компиляции ядра. После компиляции ядра происходит копирование файлов созданного
ядра в каталог / в качестве vmlinuz (при этом сохраняется резервная копия
файла vmlinuz), затем выполняется команда lilo, в результате чего происходит
переустановка диспетчера загрузки (и распознавание нового ядра).

Третим шагом является сборка и установка модулей ядра.

Этот процесс выполняется с помощью 2-х команд make modules и
make modules_install. Название команды make modules говорит само за себя: при
выполнении этой команды происходит сборка модулей, которые соответствуют ядру,
созданному на предыдущем этапе. Команда make modules_install, в сою очередь,
перемещает созданные модули из исходного древа ядра в каталог
/lib/modules/<kernel-version>/kernel/<module-type>. В качестве типа модуля
(<module-type>) используется имя категории, к которой относятся созданные
модули (Например: block, misk, net, pcmcia, etc...).


5. Перемещение ядра.

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

cp System.map /boot/System.map-2.X.X


Затем точно так-же скопируй (или перемести) и само ядро:

cp arch/i386/boot/bzImage /boot/bzImage-2.X.X


Когда ядро и map-файл будут на своем новом месте жительства тебе останется
выполнить только два коротких действия, после которых ты сможешь перезагрузиться
уже с новым ядром (или со старым, если возникнут траблы =)).


6. Настройка и запуск lilo.

Диспетчер загрузки lilo дает возможность определить несколько образов загрузки.
Вставив новый раздел образа в файло /etc/lilo.conf можно получить дополнительный
образ загрузки. Для этого необходимо продублировать последние 6 строк файла и
изменить адрес до загружаемого ядра.

старый lilo.conf, последние 6 строк)

image = /boot/<Уже стоящее в системе ядро>
lable = linux
root = /dev/hda1
vga = 274
read-only
append = "debug=2 noapic nosmp"


Покоцано (Модифицированный lilo.conf с )

image = /boot/<Уже стоящее в системе ядро>
lable = linux.orig
root = /dev/hda1
vga = 274
read-only
append = "debug=2 noapic nosmp"
image = /boot/<Новое ядро>
lable = linux
root = /dev/hda1
vga = 274
read-only
append = "debug=2 noapic nosmp"


Обрати внимание на lable = linux.orig (это метка старого ядра).
После конфигурации файла /etc/lilo.conf следует пеановить диспетчер
начальной загрузки системы. Для этого выполни следующие команды:

# lilo
Added linux *
Added linux.orig


Все. Если все прошло без ошибок, то пора перезагрузить систему.
В случае, если новое ядро является причиной некорректной работы системы во
время ее загрузки, то ты можешь воспользоваться исходным ядром. Для загрузки
системы необходимо ввести имя метка желаемого образа загрузки. Чтобы вывести
на экран перечень доступных меток следует нажать на клавишу <Tab>.


[3]---// Outro

все... Надеюсь что все вышеописанное в статье вам как-либо образом поможет...

/=====================================
| (С) DKCS security team
| Автор: Dr.Pixel
| E-mail: usama13@rambler.ru
| Url: http://DKCS.void.ru
=====================================/
1607 Прочтений •  [Сборка и компилирование ядра Linux (linux kernel compile)] [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 | Донейт | Статистика | Команда | Техническая поддержка