Я вообще сомневаюсь что codesourcery который идет с v2r, собирает под armv5, все говорит об armv4, даже если ставить -march.
Ничего не оставалось как отказаться от codesourcery и собрать все на родном uclibc и gcc.
Собственно вот результат, 2 прошивки.
Это тестовый прошивки, возможно что-то не будет работать.
Облегченная, практически копия что в SDK
http://rcstv.ru/static/v2r/v2r-uclibc-lite-1.0.img.bz2
Тяжелая, с GCC и необходимыми dev файлами и утилитами.
http://rcstv.ru/static/v2r/v2r-uclibc-full-1.0.img.bz2
Процесс установки аналогичен стандартной прошивки.
Скачиваем, распаковываем и img файл заливаем на micro-sd, допустим это /dev/sdf
- Код: Выделить всё
bunzip2 v2r-uclibc-lite-1.0.img.bz2
dd if=./v2r-uclibc-lite-1.0.img of=/dev/sdf
кстати у dd во время заливки можно узнать прогресс, послав например из другой консоли сигнал USR1
- Код: Выделить всё
killall -USR1 dd
Так же я подготовил пример C программы и скелет для сборки в SDK.
http://rcstv.ru/static/v2r/example_hello.tar.bz2
Как им пользоваться.
Качаем, распаковываем, получаем папку hello.
В ней файлы hello.mk, Config.in, hello-0.1.tar.bz2 необходимы для сборки в родной SDK, как это сделать я опишу далее.
Папка hello-0.1 ваш проект на C, с примером программы и Makefile.
Для тестов на моей full прошивке достаточно папки hello-0.1, редактируем hello.c, собираем проект make, устанавливаем make install, очищаем make clean, все стандартно.
Это очень удобно, пишем и проверяем работу сразу же на устройстве.
Как все готово, всю папку hello копируем в SDK в fs/package.
Запускаем скрипт make_dist_file.sh, который делает архив из вашего проекта hello-0.1, необходимый для сборки buildroot.
В SDK заходим в папку fs и в ней делаем make hello, проект должен собраться в папке fs/output/build/hello-0.1 и проинсталируется в fs/output/target/usr/bin/hello это будущая ваша прошивка.
Рекомендую делать сборку своих пакетов, после того как сделали make build всего SDK, для того чтобы все необходимые библиотеки были уже собраны.
Если вам необходимо пересобрать ваш проект, необходимо удалить из папки dl файл hello-0.1.tar.bz2, лично я делаю симлинк на него из packages и удалить папку fs/output/build/hello-0.1