LINUX.ORG.RU

портирование Linux


0

0

Доброе время суток всем. Я ищу единомышленников заинтересованных сабжем. http://www.linux.org.ru/view-message.jsp?msgid=2320244 в данном топике поднималась похожая тема, но она не получила достойного развития. Что бы не тратить Ваше и свое время расскажу что умею я и что хочу получить в итоге. Я занимаюсь разработкой встраиваемых систем. Имею некоторый опыт как в разработке железа так и написании софта для этого железа. Опыта работу с Linux системами у меня нет. В результате этой работы я хочу начать применять Linux в своих разработках в масимально сжатые сроки. В обмен на Вашу помощь и содействие я предоставлю к Вашим услугам свой опыт. мой адрес для связи desh#front.ru


Дабы все написанное выше не было пустым звоном опишу как я себе представляю этот процесс. Допустим я хочу провести портирование операционки на имеющееся у меня железо в виде кпк, мобильного телефона, специализированной отладочной платы или самодельного устройства. Так как последние два варианта очень специфичны, а для некоторых девбордов уже существуют портированные версии uCLinux, то на них я останавливаться не буду. Для начала нахожу принципиальую схему устроитва и изучаю ее на предмет возможности программирования и отладки. Для этих целей во многих современных процессорах существует интерфейс JTAG. Но мало где он выведен на поверхность платы. Это большой минус потому как программирование через RS232 процесс очень муторный а иногда просто не возможный в силу особенностей конкретного бута. Про отладку говорить даже не приходиться. И так найдено подходящее железо с интерфейсом JTAG, допустим это сотовый телефон panasonic gd67 (если мне не изменяет памыть то модель называется именно так). Дальше необходимо майти документацию на микросхемы CPU, FLASH, RAM (в некоторых моделях FLASH и RAM находятся в одном корпусе) и контроллер питания. Если все это имеется в руках то думаю можно подумать об дальнейших изысканиях.

vau
() автор топика
Ответ на: комментарий от vau

Очень странное желание.

Начать надо с постановки задачи (портировать куда-то линукс, чтобы было — это не задача, а развлечение).

Далее надо понять какими инструментами выгоднее всего решить поставленную задачу. Я более чем уверен, что 99,99% задач обойдутся без портирования линукса.

Если вы попали в оставшиеся маргинальные проценты, то начните со спецификаций на железо. Какая архитектура, какая периферия? Ваши изыскания про JTAG никакого отношения к портированию не имеют.

А вообще, лучше возьмите железо под которое линукс уже заточен, а сохраненное время потратьте на патчи в opensource проекты.

anonymous
()
Ответ на: комментарий от anonymous

Спасибо за обратную связь. Вы подняли очень интересные вопросы из области философии. У меня сложилось впечатление что Вы работаете нескольколько в другом направлении. Моя задача это поднять свой проффесиональный уровень в области электроники и программирования. Наработать опыт и продать его за определенно колличество денежных знаков :). Я не спрашиваю "зачем?". я интересуюсь "как?" и по мере сил отвечаю на эти вопросы сам себе

vau
() автор топика
Ответ на: комментарий от vau

Открываете схему, смотрите какой контроллер там и ищите на него даташит. Для вашего случая схему можно тут найти
http://www.shrak-mobile.com/eng/schem_panasonic.html
но при беглом осмотре я не увидел наименований микросхем. Если ядро на данную архитектуру портировано (в данном случае это арм7) то можно продолжать :) Если нет то так как "Опыта работу с Linux системами у меня нет" можно смело заканчивать на этом :) Потом по периферийным устройствам - так же ищутся даташиты и потом ищутся драйверы на эти или похожие утсройства чтобы потом переделать было легче.

koTuk
()


> Опыта работу с Linux системами у меня нет.

А с какими системами есть ? Что-то мне подсказывает что все эти досоподобные мониторы на ассемблере не подготовят вас для встречи с нормальной ОС :) Портирование любой системы, а особенно сложной и общего назначения, задача непростая. И требует перво наперво заниния как вообще эта ОС устроена и все в таком духе. Линукс давно уже выполз из детских штанишек - это уже не наколенная поделка.

Попробуйте сначала найти емулятор какого-нибудь устройства попроще, для
простоты эксперимента, и спортируйте линукс на него. Будет гораздо больше известных переменных в уравнении и процесс загрузки/отладки будет резко проще.

kernel ★★☆
()

http://www.tux.org/lkml/#s6-3

Quoting from a SparcLinux paper by Miguel de Icaza: "Thanks to having an international team of developers and support people, when the first Linux/SPARC distribution on CD went out we had a very strong port: a port that had taken only 22 months to engineer and complete (starting from scratch up to releasing the operating system on a bootable CD-ROM)."

Всего 22 месяца.

anonymous
()
Ответ на: комментарий от vau

Берём fpga, рисуем простенький процессор с виртуальной памятью, и, желательно, с системой команд, совместимой с каким-нить из существующих; плюс конечно же контролёр прерываний, уарт, таймер. (Ведь у тебя же есть опыт разработки железа?)

Берём компилятор/бинутилс, делаем бэк-энд для твоего проца

Начинаем портировать линукс. Ищем точку входа, вставляем логи, смотрим, где падает, фиксим, и всё по новой. Перед началом почитай какие-нить книжки по ядру (robert love - не помню, как называется; linux device drivers 3; o'reilly - understanding the linux kernel

В качестве примера - http://homebrewcpu.org/ :p

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.