Перейти к содержанию
    

Linux на LH79524

Друзья! Взываю к вам о помощи!

 

История такая. Есть готовая работающая железяка с процом LH79524, на нем крутится Nucleus RTOS и под ним вся остальная программная начинка девайса. Все прекрасно, никаких проблем. Но вот встала задача разработать новую железяку, с новым процом (LH79524 не тянет по ряду причин) и, возможно, под Linux. Проект находится на стадии изыскания, готового прототипа новой железяки под рукой нет (строго говоря, не под рукой, а вообще нет), зато есть сомнения в том, подойдет ли нам Линукс (есть вопросы сможет ли он обеспечить real-time в нужном объеме, ну и скока он будет кушать системных ресурсов; правда, сейчас не об этом). Так вот, есть большой соблазн для начала поднять линукс на готовой старой железяке (та что с LH79524 внутри) и погонять различные тесты (тем более, что функциональность новой и старой железяки во многом схожи).

 

Теперь, собственно, суть вопроса. Написал я в NXP и выкатили они мне ссылку на образ диска с BSP для LH79xxx (версия 1.2.14, если кому еще нужно, могу куда-нибудь залить). Почитал я readme с этого диска и увидел что они рекомендуют собирать все это безобразие под Debian, плюс требуется gcc-3.x и ncurses. И, по идее, после этого можно смело писать make build и оно должно собраться в конфигурации по умолчанию, попутно собрав и все необходимые инструменты. Что ж, поставил я и Debian (5.04) и gcc-3.4 и ncurses, но вот беда - проект не собирается. Вылезают ошибки (причем еще на стадии сборки инструментария), лог прилагаю:

 

tiba@debian:~/arm/bsp_lh/bsp$ make build L=1
/bin/sh: line 0: [: ==: unary operator expected
BUILD  sharutils-native
BUILD  gzip-native
BUILD  tar-native
BUILD  gettext-native
BUILD  wget-native
BUILD  fakeroot-native
BUILD  diffutils-native
BUILD  bzip2-native
BUILD  make-native
BUILD  coreutils-native
BUILD  patch-native
BUILD  debianutils-native
BUILD  findutils-native
BUILD  cpio-native
BUILD  m4-native
BUILD  flex-native
BUILD  bison-native
BUILD  grep-native
BUILD  perl-native
make -C /home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/build/perl-native/perl-5.8.4
make[3]: *** No rule to make target `<command-line>', needed by `miniperlmain.o'.  Stop.
make[2]: *** [build] Error 2
BUILD  autoconf
( cd /home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/build/autoconf/autoconf-2.59; \
  /bin/sh ./configure\
        --prefix=/home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr\
        )
checking for a BSD-compatible install... /home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for expr... /home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr/bin/expr
checking for gm4... no
checking for gnum4... no
checking for m4... /home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr/bin/m4
checking whether m4 supports frozen files... yes
checking for perl... no
configure: error: perl is not found
make[2]: *** [configure] Error 1
BUILD  zlib-native
BUILD  cvs-native
BUILD  automake
( cd /home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/build/automake/automake-1.7.9; \
  /bin/sh ./configure\
        --prefix=/home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr\
        )
checking for a BSD-compatible install... /home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for perl... no
configure: error: perl not found
make[3]: *** [configure-1.7] Error 1
make[2]: *** [v1.7] Error 2
BUILD  libtool-native
BUILD  expat-native
BUILD  perl-xmlparser
( cd /home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/build/perl-xmlparser/XML-Parser-2.34;\
  perl Makefile.PL PREFIX=/home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr INSTALLDIRS=perl \
    EXPATINCPATH=/home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr/include \
    EXPATLIBPATH=/home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr/lib )
/bin/sh: perl: command not found
make[2]: *** [configure] Error 127
BUILD  intltool
( cd /home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/build/intltool/intltool-0.33; \
  /bin/sh ./configure\
        --prefix=/home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr\
        )
checking for a BSD-compatible install... /home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for perl... no
configure: error: perl not found
make[2]: *** [configure] Error 1
BUILD  pkgconfig
( cd /home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/build/pkgconfig/pkgconfig; \
  /bin/sh ./autogen.sh\
        --prefix=/home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr\
    )

You must have autoconf installed to compile pkg-config.
Download the appropriate package for your distribution,
or get the source tarball at ftp://ftp.gnu.org/pub/gnu/

You must have automake installed to compile pkg-config.
Get ftp://ftp.cygnus.com/pub/home/tromey/automake-1.2d.tar.gz
(or a newer version if it is available)
make[2]: *** [configure] Error 1
BUILD  crosstool38
BUILD  libtool-target
BUILD  gawk-native
BUILD  ncurses-native
BUILD  apex
BUILD  kernel
BUILD  uboot
BUILD  zlib
BUILD  libpng
BUILD  ncurses
BUILD  readline
BUILD  tslib
BUILD  freetype
BUILD  jpeg
BUILD  libgpg-error
BUILD  libgcrypt
BUILD  gettext
BUILD  xproto-native
BUILD  xextensions-native
BUILD  xtrans-native
BUILD  xau-native
BUILD  libx11-native
tar: Skipping to next header
tar: Archive contains obsolescent base-64 headers

gzip: stdin: invalid compressed data--crc error
tar: Child returned status 1
tar: Error exit delayed from previous errors
make[2]: *** [tools] Error 2
BUILD  xext-native
BUILD  qt2-tools-native
BUILD  opie
BUILD  konqueror-embedded
BUILD  gd
BUILD  splash
BUILD  busybox
BUILD  coreutils
BUILD  dash
BUILD  e2fsprogs
BUILD  sysvinit
BUILD  util-linux
BUILD  strace
BUILD  gawk
BUILD  sysklogd
BUILD  popt
BUILD  pump
BUILD  inetutils
BUILD  iproute2
BUILD  ntp
BUILD  samba
BUILD  directfb
BUILD  gdb
make[2]: Nothing to be done for `all'.
BUILD  gdb-native-arm
make "LDFLAGS=-L/home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr/lib -Wl,-rpath,/home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr/lib" \
  -C /home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/build/gdb-native-arm/gdb-5.3 all
make[5]: Nothing to be done for `all'.
make[4]: Nothing to be done for `all'.
make  all-recursive
Making all in doc
make[6]: Nothing to be done for `all'.
Making all in po
make[6]: Nothing to be done for `all'.
make[6]: Nothing to be done for `all-am'.
make  all-recursive
Making all in po
make[6]: Nothing to be done for `all'.
make[6]: Nothing to be done for `all-am'.
make[4]: Nothing to be done for `all'.
make[4]: Nothing to be done for `all'.
make[4]: Nothing to be done for `all'.
make[5]: Nothing to be done for `default'.
gcc -c -I/home/tiba/arm/bsp_lh/bsp-sharplh7-1.2.14/tools-native/usr/include    -I. -I. -I./config -DLOCALEDIR="\"/usr/share/locale\"" -DHAVE_CONFIG_H -I./../include/opcode -I./../readline/.. -I../bfd -I./../bfd  -I./../include -I../intl -I./../intl  -DMI_OUT=1 -DUI_OUT=1 -Wimplicit -Wreturn-type -Wcomment -Wtrigraphs -Wformat -Wparentheses -Wpointer-arith -Wuninitialized  gdbtypes.c
cc1: warning: -Wuninitialized is not supported without -O
gdbtypes.c: In function �recursive_dump_type’:
gdbtypes.c:2961: error: lvalue required as increment operand
make[4]: *** [gdbtypes.o] Error 1
make[3]: *** [all-gdb] Error 2
make[2]: *** [build-5.3] Error 2

 

Я видел на этом форуме древние темы в которых обсуждался BSP от NXP для LH79524/5. У кого-нибудь в итоге получилось это собрать и использовать? Какие-нибудь советы, как мне осилить сборку этого BSP? Помогите, пожалуйста!

 

Заранее спасибо!

 

С уважением,

Тимофей

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не собрался perl-5.8.4. Дальше все посыпалось из-за этого.

 

Пробовали LH79520 и LH7A404 когда они еще были SHARP.

bsp-1.2.11 собирался без проблем, основан был на cross-tool от Kegel. Рулил всем Mark Singer, все его наработки были на buici.

Дальше мы на эти камни забили - перешли на EP93xx.

 

Требование debian-а для сборки не совсем понятно. У нас собиралось на мандриве 2006 и 2007. В bsp-1.2.11 был файлик с рекомендациями по выбору дистров.

 

Советовать что-то не получится, а вот ответить на конкретные вопросы - это можно попытаться сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То, что не собрался перл - это понятно. Не очень понятно, в чем именно проблема. На образе диска все необходимые пакеты (в том числе и перл этот) лежат в виде архивов, при сборке они просто распаковываются и собираются. По идее, все это вроде бы тестировалось производителем (в корне диска даже есть чистенький лог сборки). Да и ошибка какая-то непонятная совсем:

make[3]: *** No rule to make target `<command-line>', needed by `miniperlmain.o'.  Stop.

Полазил по мейкфайлу, на первый взгляд, каких-то явных ошибок вроде не наблюдается...

 

Немного смущает еще и первое сообщение, которое вылезает при сборке

/bin/sh: line 0: [: ==: unary operator expected

Что бы это могло значить?

 

На buici я был по ссылке с этого форума, еще до того как NXP прислали мне BSP 1.2.14. На buici лежит архив c 1.2.11, но он весьма урезан. По ходу большинство необходимых пакетов из него удалено и при сборке они закачиваются (причем, похоже закачиваются последние версии этих пакетов). В общем, 1.2.11 с наскока у меня тоже не собрался тогда (собирал под тем? что было под рукой в тот момент - Ubuntu). Debian же потом поставил именно исходя из того, что было написано в файлике с рекомендациями по выбору дистрибутива. В нем было написано, что пакет разрабатывался и тестировался под Debian (то есть Debian - это не требование, а рекомендация). А Вы 1.2.11 собирали из того, что на buici лежит, или полный образ диска с BSP использовали? Если есть полный образ 1.2.11, не могли бы Вы его куда-нибудь выложить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То, что не собрался перл - это понятно. Не очень понятно, в чем именно проблема.

...

Немного смущает еще и первое сообщение, которое вылезает при сборке

/bin/sh: line 0: [: ==: unary operator expected

Что бы это могло значить?

Там где-то криво создаются ссылки на host utils в host-bin. Какая-то из этих утилей вызывается при сборке, а ее результат подставляется в test. Скорее всего все связано с кривыми ссылками.

На buici я был по ссылке с этого форума, еще до того как NXP прислали мне BSP 1.2.14. На buici лежит архив c 1.2.11, но он весьма урезан. По ходу большинство необходимых пакетов из него удалено и при сборке они закачиваются (причем, похоже закачиваются последние версии этих пакетов). В общем, 1.2.11 с наскока у меня тоже не собрался тогда (собирал под тем? что было под рукой в тот момент - Ubuntu). Debian же потом поставил именно исходя из того, что было написано в файлике с рекомендациями по выбору дистрибутива. В нем было написано, что пакет разрабатывался и тестировался под Debian (то есть Debian - это не требование, а рекомендация). А Вы 1.2.11 собирали из того, что на buici лежит, или полный образ диска с BSP использовали? Если есть полный образ 1.2.11, не могли бы Вы его куда-нибудь выложить?

Есть 1.2.9.iso и 1.2.11.tar.bz2 как апдейт к этому исошнику. Если склероз не изменяет, то брал с buici. Dev-board была от LPD с разными SOM (LH79520 и LH7A404). У них тоже что-то брал. Их лоадер снес почти сразу, поставил apex.

 

ЗЫ: Раскопал свой архив, сделал make buildclean. Запустил make build. Место с перловкой проскочил, glibc собирает.

Изменено пользователем faa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А Вы не могли бы куда-нибудь (файлообменник, торрент и т.п.) этот архив выложить, если конечно подключение позволяет? Буду очень благодарен.

(на Buici сейчас исошника нет (по крайней мере не нашел), есть только очень сильно урезанные архивы от 1.2.8 до 1.2.11; 1.2.11 оттуда не собирается, сегодня проверил еще раз)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А Вы не могли бы куда-нибудь (файлообменник, торрент и т.п.) этот архив выложить, если конечно подключение позволяет? Буду очень благодарен.

(на Buici сейчас исошника нет (по крайней мере не нашел), есть только очень сильно урезанные архивы от 1.2.8 до 1.2.11; 1.2.11 оттуда не собирается, сегодня проверил еще раз)

Сделал make buildclean своему bsp и сделал ему tar -jcf <file> bsp --exclude=download --exclude=sources --exclude=nfsroot

Лежит тут

Исключенные каталоги должен создать сам при make build и загрузить туда все необходимые пакеты. Часть из них устарела, но все это работало.

 

ЗЫ: По большому счету исо-шник и не нужен. Все есть в архиве на buici. Только докачивать много и ошибки править. Часть пакетов у меня свежее, чем в исходном 1.2.11.

Изменено пользователем faa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...