Jump to content

    
Sign in to follow this  
timmych

Linux на LH79524

Recommended Posts

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

 

История такая. Есть готовая работающая железяка с процом 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? Помогите, пожалуйста!

 

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

 

С уважением,

Тимофей

Share this post


Link to post
Share on other sites

Не собрался 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 был файлик с рекомендациями по выбору дистров.

 

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

Share this post


Link to post
Share on other sites

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

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, не могли бы Вы его куда-нибудь выложить?

Share this post


Link to post
Share on other sites
То, что не собрался перл - это понятно. Не очень понятно, в чем именно проблема.

...

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

/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 собирает.

Edited by faa

Share this post


Link to post
Share on other sites

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

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

Share this post


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

(на 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.

Edited by faa

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this