Возможно вы искали: 'Larry Ragland 4x4 Chal...'

May 15 2025 17:55:57
  • Как сделать 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 ядра для ARM машины (linux kernel cpu arm compile)

Компиляции Linux ядра для ARM машины (linux kernel cpu arm compile)

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

From: Russell King <http://www.nixsys.narod.ru>
Date: Mon, 24 Mar 2005 18:21:07 +0000 (UTC)
Subject: Компиляции Linux ядра для ARM машины

Оригинал: http://www.nixsys.narod.ru/kerncomp2s.html (сайт зарыт?)

Создание своего ядра для своей машины может показаться сложной
задачей. Эта дока описывает процесс компиляции ядра для ARM машины и
целевой системы.

примечание:
* "bash$" и "bash#" это приглашение оболочки (shell), т.е. не
команды.
* "host" машина на которой вы строите ядро для ARM.
* "target" машина для которой вы строите ARM ядро.

1. Выбор директория для сборки ядра Сначала вам надо решить где вы
будете собирать ядро для ARM Linux. По умолчанию ядро собирается в
директории /usr/src/arm. Если вы хотите строить ядро в другой
директории, переместите /usr/src/arm в предпочтительную для вас
директорию. Пожалуйста имейте ввиду, что построение
ядра в /usr/src/linux не рекомендуется.

Вам необходимо создать директорий /usr/src/arm перед загрузкой
исходных текстов и патчей, если он уже не существует. Эта
дирктория должна принадлежать любому не root пользователю. Что бы
сделать это, зайдите как пользователь root:

bash$ su
Password:
bash# cd /usr/src
bash# mkdir arm
bash# chown myuser.mygroup arm
bash# exit
bash$


2. Выбор версии ядра Сначала, вам необходимо решить какую версию ядра
вы будете компилировать. Наиболее часто выбирают последнюю
стабильную версию ядра. Для того, что бы вам помочь определиться с
выбором версии ядра, разработчики ядра используют систему
нумерования версий ядра. Для любых версий ядра x.y.z,
+ x - старший номер ядра
+ y - младший номер, где:
чётный номер обозначает стабильную версию ядра
нечётный номер обозначает "не стабильная" или "beta" версия
ядра
+ z - номер патча ядра

На момент создания доки последняя версия для ARM - 2.4.2 (?)

По дереву версий ARM ядра вы можете найти суффикс для номера
версии '-rmkn', где 'n' есть номер версии ядра для ARM. Это
главный ARM патч, который всегда применяется.
Другие патчи поддержки подобно Николасу Питру (Nicolas Pitre)
производят дополнительные патчи, и они добавляют суффикс версии. К
названию патча Николаса Питра (Nicolas Pitre's) добавлен суффикс
'-np'.

Когда выбирается версия ядра, всегда работает от индивидуального
разработчика главного дерева.(When choosing a kernel version,
always work from the individual maintainer towards the main tree.)
Не обращайте внимания на последнее дерево ядра ftp.*.kernel.org -
вполне может быть что у нас нет к ним патчей!

3. Загрузка специфических патчей от индивидуальных разработчиков. При
некоторых обстоятельствах, вы нуждаетесь в специальных
(индивидуальных) патчах от разработчиков. Дополнительные
специфические патчи от разработчиков могут добавляют/улучшать
поддержку устройств, но патчи могут сделать ядро менее стабильным.

В основном, разработчики пересылают часть своих патчей в дерево
-rmk и они довольны этим изменением.
Пожалуйста, зайдите поссылке [10]список машин [11]список машин для
получения информации о дополнительных патчах.

4. Загрузка патчей для ARM. Вам понадобится загрузка патчей ядра,
которые содержат все специфические для ARM обновления для
конкретной версии ядра. Патчи могут находится на
ftp://ftp.arm.linux.org.uk/pub/armlinux/source/kernel-patches/
Релизы ядра разделены на дериктории соответствующие major/minor
номеру ядра.

Индивидуальные файлы названы patch-x.y.z-rmkn.gz, где 'x', 'y',
'z' и 'n' номера версий упомянутых выше. Вы должны выбрать
последнюю версию патча и загрузить в /usr/src/arm. Это один,
который будет иметь наилучшие характеристики, или обнаруженные
баги. Вам нужна будет последняя версия патча, когда вы найдёте
последнюю версию ядра (???).

примечание: некоторые файлы могут быть названы
pre-patch-x.y.z-rmkn.gz. Это альфа или бета версии патчей, которые
вероятно не стабильны. Вы не должны их использовать если в них не
уверены и не знаете что вы делаете.

примечание 2: Некоторые ядра основаны на серии ядра Алана Кокса
(Alan Cox). Имена этих ядер похожи на patch-x.y.z-acm-rmkn.gz где
x.y.z номер версии ядраis Линуса (Linus') и m номер версии ядра
Алана (Alan's). В этом случае вам необходимо получить
соответствующий патч Алана Кокса с сервера kernel.org, в
директории /pub/linux/kernel/people/alan/linux-2.4/.

5. Загрузка основных исходников ядра Файлы патчей обычно не содержат
полностью компилируемый код, а являются заплатками для исходного текста
ядра. Следовательно вам необходимо получить основной текст ядра.
Исходные тексты ядра могут быть найдены на kernel.org FTP сайте.

Там много сайтов разбросанных по всему миру, и имена соответсвуют
обьединённой схемой наименования. Все сайты начинаются с 'ftp.' и
заканчиваются '.kernel.org'. В середине этого места идентификатор
страны. Для примера:

+ ftp.uk.kernel.org
+ ftp.us.kernel.org
+ ftp.de.kernel.org

и так далее. Вы можете найти больше информации о тех сайтах зайдя
на сайт http://www.kernel.org. Как только вы зайдёте на сайт, вам
надо будет найти исходные тексты ядра. Они хранятся в
поддиректории: /pub/linux/kernel. Каждый релиз ядра сопровождается
несколькоми файлами:

+ linux-x.y.z.tar.gz
+ linux-x.y.z.tar.bz2
+ patch-x.y.z.gz
+ patch-x.y.z.bz2

Вы должны скачать файл linux-x.y.z.tar.gz, снова в вашу
/usr/src/arm директорию. Этот файл большой (почти 45MB или
больше), если у вас модем, то это займет много времени.

6. Распаковка исходников ядра ARM Распакуйте tar архив который вы
скачали, испрользуя команду:

bash$ tar zxvf linux-x.y.z.tar.gz


Сейчас, измените в директории linux, и примените файлы патчей:

bash$ zcat ../patch-x.y.z-rmkn.gz | patch -p1


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

Дерево исходных текстов ядра готово сейчас готово для
конфигурирования.

7. Конфигурирование дерева исходных текстов ядра Во-первых, если вы
не компилировали ядро полностью "с нуля", тогда вам необходимо
модифицировать верхний уровень makefile ядра. Вам необходимо
изменить определения "ARCH" и "CROSS_COMPILE". Замените строчку
начинающуюся с ARCH := с ARCH := arm. Установите начало
CROSS_COMPILE = что бы путь и префикс средств вашего компилятора
(например, CROSS_COMPILE = /usr/local/bin/arm-linux- ).

Также прочтите linux/Documentation/README и
linux/Documentation/arm/README перед компиляцией.

Диапазон 'make' целевых систем который позволяет установить по
умолчанию выбранную машину для которой вы компилируете. Некоторые
примеры приведены ниже:

+ a5k_config
+ ebsa110_config
+ footbridge_config
+ rpc_config
+ brutus_config
+ victor_config
+ empeg_config

Выберите одну их них как "основную" конфигурацию следующим
образом: make footbridge_config. Затем, используйте make config
или make menuconfig для "обогощения" конфигурации. Большинство
опций конфигурации имеют помощь, поэтому если вы не уверены что
надо ответить, пожалуйста прочитайте помощь.
примечание: Если вы хотите изменить конфигурацию через make
xxx_config, пожалуйста переместите файл linux/.config немедленно
перед запуском команды.

8. Компилирование исходников ядра Если вы установили дерево исходных
текстов ядра только для программ, тогда вы закончили. Если вы
хотите перекомпилировать ядра "с нуля", выполните слудующие
команды:

bash$ make clean
bash$ make dep
bash$ make zImage
bash$ make modules


Последние две команды реально перекомпилируют ядро и модули (для ветки 2.4)

9. Установка ядра После успешной компиляции ядра, у вас есть образ
ядра, arch/arm/boot/zImage. Создайте зависимости если вы провели
кросс компиляцию.

Если вы сделали кросс компиляцию перейдие к секции: "[14]Установка
кросс компиляции ядра". (?)

Если вы строили "с нуля" (т.е., на таргете для таргета; таргет -
целевая система), читайте далее.

10. Установка ядра созданного "с нуля" С того моента как вы
собираетесь обновить системные файлы, зайдите в систему под рутом
("root") 'root'. Для того, что бы сделать это наберите:

bash$ su
Password:
bash#


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

Ниже приведён пример создания бакапа (for a 2.4.3-rmk1 kernel):

bash# cd /lib/modules
bash# ls
bash# mv 2.4.3-rmk1 2.4.3-rmk1.old
bash# cd /boot
bash# mv vmlinuz vmlinuz.bak
bash# mv System.map System.map.bak
bash#


Сейчас, установите новые модуля ядра:

bash# cd /usr/src/arm/linux
bash# make modules_install
bash#


Фактически копируются модули ядра в директорию /lib/modules/x.y.z.
Затем, установите образ ядра (обычно в /boot):

bash# cd /boot
bash# cat /usr/src/arm/linux/arch/arm/boot/zImage >vmlinuz
bash# cp /usr/src/arm/linux/System.map .
bash#


Обратите внимание, что используется команда копирования модулей
ядра cat, а не обычная cp. Традиционно Unix не выделяется
пространство в секции файлов содержащие нулевые данные, но заместо
создаются "дырки" в файлах. Некоторые загрузчики ядра не понимают
дырок в ядре, а следовательно используют cat в этом пути
проверяется что это не случиться.

11. Запуск loadmap Loadmap это часть Линуксового загрузчика на Acorn
машине, а также EBSA285 машины EBSA285BIOS используещие IDE диск.
Для других машин, пожалуйста смотрите документацию на другие
машины.

Редактируйте конфигурационный файл загрузчика /etc/boot.conf так
что вы можете загружать любой vmlinuz.bak или vmlinuz образ. Если
вы устанавливаете первое ядро vmlinuz, тогда это ядра должно быть
использованным загрузчиком по умолчанию.

Больше информации вы можете найти используя команду man boot.conf.
Запустите утилиту boot load map:

bash# loadmap -v
bash#


для обновления map.

Вы закончили и сейчас готовы перезагрузить машину с вашим новым
ядром! Если у вас будут проблемы пожалуйста зайдите на ссылку
"Проблемы" следующий шаг.

12. Установка кросс компилированного ядра Установка модулей в
/usr/src/arm/ ниже:

bash$ make modules_install INSTALL_MOD_PATH=/usr/src/arm/
bash$


Эти модули установятся в /usr/src/arm/lib/modules/x.y.z директорию
хоста, который может быть помещён в любое место диска, или передан
на файловую систему целевой машины. (отметте что
/usr/src/arm/lib/modules/x.y.z становиться /lib/modules/x.y.z на
целевой машине). Пожалуйста отметте что вы не устанавливаете
модули этого ядра на свою файловую систему, поскольку они не
совместимы с ядром вашего хоста.

Ядро доступно на /usr/src/arm/linux/arch/arm/boot/zImage и
символьная информация ядра в /usr/src/arm/linux/System.map. Точная
информация, как установить ядро на целевую систему находится за
рамками этого документа.

Важно, что бы вы безопасно сохранили файл System.map - содержит
символьную инфорацию про это ядро, которая потребуется, если вы
столнётесь с проблемами.

13. Сообщения о проблемах Пожалуйста ниже REPORTING-BUGS руководство
дереве исходников ядра. Тем не менее, используйте
linux-arm-kernel почтовые рассылки для сообщения опроблемах,
предпочтительнее чем почтовые рассылки linux-kernel
(http://www.nixsys.narod.ru/armlinux/mailinglists.php) (сайт зарыт?).


Last modified: September 15, 2001
© 2004 Russell King All rights reserved.
1552 Прочтений •  [Компиляции Linux ядра для ARM машины (linux kernel cpu arm compile)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Компиляции Linux ядра для ARM машин... 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 | Донейт | Статистика | Команда | Техническая поддержка