Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Хочу собрать линух для PowerPC
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
3.14
Имеется отладочная плата ML403 - Virtex4-FX, который содержит внутри корку PowerPC, и все прочее для нормальной работы линуха. Кстати, в примерах к ней уже идет линух (MontaVista), QNX, но это все образами.
В общем, самое простое это найти дистрибутивы MontaVista, но смущает очередное "воровство" и к тому же Harbour бросил в них камушек http://electronix.ru/forum/index.php?showtopic=20178
Насколько я проникся способом создания ядра, суть сего сводится к созданию тулчайна (в моем случае он уже имеется в EDK), приложению патча к исходникам ядра.
Для начала прошу совета какой патч прикладывать (насколько понимаю основной источник http://ppckernel.org).
3.14
Пошли ламерские вопросы ...
Вот здесь http://www.ppckernel.org/tree.php?id=8 вроде как лежат патчи к ядрам судя по http://rsync.ppckernel.org/ что-то вроде linux-official-stable-ac-2.6.11ac7.tar.bz2 как раз и есть то чтонадо (а в чем разница ac и mm патчей?), но он почему-то содержит бинарные файлы ...
Harbour
ppc не юзал, но рекомендации те же что и для любой не-x86 платформы.

- разворачиваем libc
- разворачиваем и конфигурим ядро
- собираем binutils (--target=имя_платформы)
- собираем и ставим сам gcc (make all-gcc install-gcc)
- собираем и ставим libc
- дособираем и ставим gcc (make all;make install)
- собираем ядро

как бы все примитивно, так же может имеет смысл поискать готовые free'шные дистры, там обычно все одной командой сделать можно.
3.14
Извиняюсь, не понял что значит "разворачиваем"?
Еще, зачем собирать binutils если все вроде как уже собрано в EDK?
HardJoker
Цитата(Harbour @ Aug 25 2006, 10:27) *
ppc не юзал, но рекомендации те же что и для любой не-x86 платформы.

- разворачиваем libc
- разворачиваем и конфигурим ядро
- собираем binutils (--target=имя_платформы)
- собираем и ставим сам gcc (make all-gcc install-gcc)
- собираем и ставим libc
- дособираем и ставим gcc (make all;make install)
- собираем ядро

как бы все примитивно, так же может имеет смысл поискать готовые free'шные дистры, там обычно все одной командой сделать можно.


Sorry, понимаю, что прошу многого, но не могли бы Вы изложить свой опыт сборки/настройки среды проектирования ввиде развернутой инструкции с пошаговым описанием (пункты выше) и комментариями основных моментов типа "зачем, как и почему". Пусть даже на примере одной платформы, но снимутся многие частные вопросы.
Doka
Цитата(HardJoker @ Aug 25 2006, 14:50) *
Sorry, понимаю, что прошу многого, но не могли бы Вы изложить свой опыт сборки/настройки среды проектирования ввиде развернутой инструкции с пошаговым описанием (пункты выше) и комментариями основных моментов типа "зачем, как и почему". Пусть даже на примере одной платформы, но снимутся многие частные вопросы.
ну для PowerPC в V-4 есть уже собранный toolchain в составе пакета EDK
а что касается других платформ и общих принципов, то есть такой вот документик, довольно подробно излагающий всю последовательность (на примере ядра MIPS):
Нажмите для просмотра прикрепленного файла
HardJoker
Цитата(Doka @ Aug 25 2006, 17:03) *
Цитата(HardJoker @ Aug 25 2006, 14:50) *
Sorry, понимаю, что прошу многого, но не могли бы Вы изложить свой опыт сборки/настройки среды проектирования ввиде развернутой инструкции с пошаговым описанием (пункты выше) и комментариями основных моментов типа "зачем, как и почему". Пусть даже на примере одной платформы, но снимутся многие частные вопросы.
ну для PowerPC в V-4 есть уже собранный toolchain в составе пакета EDK
а что касается других платформ и общих принципов, то есть такой вот документик, довольно подробно излагающий всю последовательность (на примере ядра MIPS):
Нажмите для просмотра прикрепленного файла


То, что доктор прописал. Правда, gcc 2.95... Спасибо, буду разбираться.
Doka
Цитата(HardJoker @ Aug 25 2006, 19:03) *
То, что доктор прописал. Правда, gcc 2.95... Спасибо, буду разбираться.
ну что до версии тузлов - это все предвзятости).. у меня на адсл-модеме прошивка собранная уважаемым McMCC этим toolchain'ом неделями работает без перевключений и сбоев.. и не у меня одного smile.gif
Harbour
Ну после такого файлика, я думаю, вопросы все отпали wink.gif

P.S. gcc-2.95 это классный компилятор, для тех кто не юзает bleeding edge софт и c++ - до сих пор самые последние версии gcc его догнать по скорости не могут. В нем есть пара глюков - но они всем известны и многие софтины (kernel например) имеют специальные ifdef'ы для их обхода. Тем не менее ядро 2.6 собрать gcc-2.95 уже нельзя.
Petrovich
Есть плата ML410, EDK 9.2 SP2. С помощью EDK сгенерированы "библиотеки" (драйвера) для linux_2_6. Для кагого именно ядра они генерируются и где его взять???

Спасибо.
?ELF
Мне когда-то очень помогла дока по LFS (Linux From Scratch)
http://www.linuxfromscratch.org/
Может, и Вам пригодится что-нибудь оттуда?

Есть ветка по кросс-компиляции.

CLFS :: Cross Linux From Scratch provides the means to cross-compile an LFS system on many types of systems.

Цитата
http://trac.cross-lfs.org/

What is Cross Linux From Scratch?

Cross Linux From Scratch (CLFS) is a project that provides you with step-by-step instructions for building your own customized Linux system entirely from source.


Документация:
http://cross-lfs.org/files/BOOK/1.0.0/

Download:
http://trac.cross-lfs.org/wiki/download
Petrovich
Цитата(?ELF @ Jan 29 2008, 20:18) *
Мне когда-то очень помогла дока по LFS (Linux From Scratch)
http://www.linuxfromscratch.org/
Может, и Вам пригодится что-нибудь оттуда?

Есть ветка по кросс-компиляции.

CLFS :: Cross Linux From Scratch provides the means to cross-compile an LFS system on many types of systems.
Документация:
http://cross-lfs.org/files/BOOK/1.0.0/

Download:
http://trac.cross-lfs.org/wiki/download


Кросс-сборка ядра и изготовление "linux from scratch" проблемы не составляет. Проблемы с драйверами. Насколько я понимаю, Xilinx-овский EDK генерирует драйвера для своих IP-cores. (С учетом конкретной конфигурации FPGA-шного проекта.) Это несколько десятков файлов, которые нужно скопировать в дерево исходников ядра Linux. Вопрос в том, где это дерево исходников взять? Естественно, "стандартные" ядра не подходят. (Не компиллируются после вставки Xilinx-овских драйверов.) Похоже на то, что Xilinx поддерживает свою дружественную компанию Montavista, вынуждая покупать ее ядро Linux-а. Этого делать почему-то не хочется smile.gif Неужели нет выхода?
LMT
Есть такая ссылочка
_http://git.xilinx.com/
Petrovich
Цитата(LMT @ Jan 30 2008, 13:55) *
Есть такая ссылочка
_http://git.xilinx.com/


Это ядро я тоже пробовал и с ним те-же проблемы. Т.е. Xilinx поддерживает разработку ядра, которое несовместимо с его-же EDK. Очень странно.
AndrewN
Цитата(Petrovich @ Jan 30 2008, 14:43) *
Это ядро я тоже пробовал и с ним те-же проблемы. Т.е. Xilinx поддерживает разработку ядра, которое несовместимо с его-же EDK. Очень странно.


Еще одна ссылка: http://source.mvista.com/
но что такое rsync:// не знаю...

--
AN
luckyman
Цитата(Petrovich @ Jan 30 2008, 14:43) *
Это ядро я тоже пробовал и с ним те-же проблемы. Т.е. Xilinx поддерживает разработку ядра, которое несовместимо с его-же EDK. Очень странно.


Не совсем так. Просто для этой ветки ядра нужно скопировать из каталога BSP\arch\ppc\platforms\4xx\xparameters файл xparameters_ml40x.h в соответствующий каталог ядра. После чего изменить его имя на xparameters_ml403.h. Драйвера под основные устройства уже входят в это ядро.

Для сборки ядра нужно сконфигурировать его под ML-403 (файл конфигурации по умолчанию входит в ядро) и запустить сборку.

Правда мне пришлось добавлять вручную в xparameters_ml40x.h константу частоты шины и править определение структуры temac, после чего ядро собралось.
Petrovich
Цитата(luckyman @ Feb 5 2008, 19:21) *
Не совсем так. Просто для этой ветки ядра нужно скопировать из каталога BSP\arch\ppc\platforms\4xx\xparameters файл xparameters_ml40x.h в соответствующий каталог ядра. После чего изменить его имя на xparameters_ml403.h. Драйвера под основные устройства уже входят в это ядро.

Для сборки ядра нужно сконфигурировать его под ML-403 (файл конфигурации по умолчанию входит в ядро) и запустить сборку.

Правда мне пришлось добавлять вручную в xparameters_ml40x.h константу частоты шины и править определение структуры temac, после чего ядро собралось.


Спасибо. Удалось добиться компиляции ядра без каких-либо ручных правок исходников. Достаточно скопировать xparameters_ml40x.h и переименовать его в xparameters_ml41x.h. (Ядро сконфигурировано под ML-41x.) Проблема была в том, что раньше синтезировали не все необходимые для Linux-а устройства. (Пытались сделать систему "попроще".) Соответственно в xparameters_ml40x.h не было некоторых нужных констант.

Сейчас боремся с новой проблемой - драйвер SystemACE вылетает при загрузке ядра wacko.gif
fido_max
А где нарыть инфу про linux на ixp420 ARM XScale?
vanokuten
Цитата(fido_max @ Feb 21 2008, 09:21) *
А где нарыть инфу про linux на ixp420 ARM XScale?


Смотрите на http://www.nslu2-linux.org/ - там поддержка Linux на базе ixp4xx

Regards,
Ivan
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.