ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: проблема при сборке ядра  (Прочитано 14030 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Andrew

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 130
проблема при сборке ядра
« : 25 Июня, 2009, 16:16:03 »

Здравтсвуйте! У меня тион про2.
Собираю ядро кратером 1.0.0
при команде makeвыдает ошибку:
S -o i386/resolve.o
i386/resolve.S: Assembler messages:
i386/resolve.S:27: Error: unrecognized symbol type ""
i386/resolve.S:30: Error: bad instruction `pusha'
i386/resolve.S:31: Error: bad instruction `lea 0x20(%esp),%eax'
i386/resolve.S:32: Error: bad instruction `pushl 4(%eax)'
i386/resolve.S:33: Error: bad instruction `pushl (%eax)'
i386/resolve.S:36: Error: bad instruction `call .L24'
i386/resolve.S:38: Error: bad instruction `popl %ebx'
i386/resolve.S:39: Error: bad instruction `addl $_GLOBAL_OFFSET_TABLE_+[.-.L24],%ebx'
i386/resolve.S:40: Error: bad instruction `movl _dl_linux_resolver'
i386/resolve.S:41: Error: bad instruction `call *%ebx'
i386/resolve.S:45: Error: bad instruction `movl %eax,0x28(%esp)'
i386/resolve.S:47: Error: bad instruction `addl $0x8,%esp'
i386/resolve.S:48: Error: bad instruction `popa'
i386/resolve.S:49: Error: bad instruction `ret $4'
make[3]: *** [i386/resolve.o] Error 1
make[3]: Leaving directory `/root/crater-1.0.0_svn557/build/uClibc-0.9.28.3/ldso/ldso'
make[2]: *** [ldso] Error 2
make[2]: Leaving directory `/root/crater-1.0.0_svn557/build/uClibc-0.9.28.3/ldso'
make[1]: *** [_dir_ldso] Ошибка 2
make[1]: Leaving directory `/root/crater-1.0.0_svn557/build/uClibc-0.9.28.3'
make: *** [/root/crater-1.0.0_svn557/build/root/lib/libc.so.0] Ошибка 2


Как ее исправить?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: проблема при сборке ядра
« Ответ #1 : 25 Июня, 2009, 18:22:03 »

Уже решили?
Записан

Andrew

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 130
Re: проблема при сборке ядра
« Ответ #2 : 25 Июня, 2009, 18:26:14 »

нет. удалось собрать ядро только под кратером 1.0.3
но с ним проблемы - убут, который он выплевывает странно работает. наложить патч под тион 2 не удается. Ядро успешно заливается под бутом 1.3.3, но пишет starting kernel  и висит!!!
Что делать не знаю
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: проблема при сборке ядра
« Ответ #3 : 25 Июня, 2009, 18:48:34 »

При сборке crater-1.0.0_svn557 (1) какие переменные окружения (команда env), (2) конфигурацию из файла .config
Записан

Andrew

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 130
Re: проблема при сборке ядра
« Ответ #4 : 25 Июня, 2009, 19:15:13 »

env:

KDE_MULTIHEAD=false
SSH_AGENT_PID=3948
DM_CONTROL=/var/run/xdmctl
SHELL=/bin/bash
DESKTOP_STARTUP_ID=
TERM=xterm
XDM_MANAGED=/var/run/xdmctl/xdmctl-:0,maysd,mayfn,sched,rsvd,method=classic
GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/root/.gtkrc-2.0:/root/.kde/share/config/gtkrc-2.0
GTK_RC_FILES=/etc/gtk/gtkrc:/root/.gtkrc:/root/.kde/share/config/gtkrc
GS_LIB=/root/.fonts
WINDOWID=56738362
OLDPWD=/root
KDE_FULL_SESSION=true
USER=root
SSH_AUTH_SOCK=/tmp/ssh-yYOeyD3908/agent.3908
SESSION_MANAGER=local/Andrew-Pavlov:/tmp/.ICE-unix/4002
DESKTOP_SESSION=kde
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/root/crater-1.0.0_svn557
LANG=ru_RU.KOI8-R
KDE_SESSION_UID=0
PS1=\h:\w\$
HOME=/root
SHLVL=2
XCURSOR_THEME=default
LOGNAME=root
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-oDXDGGfMbu,guid=288ec8fb1d9f369629f6ca8e4a4301dc
DISPLAY=:0.0
COLORTERM=gnome-terminal
_=/usr/bin/env





.config:
не нашел
Записан

Andrew

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 130
Re: проблема при сборке ядра
« Ответ #5 : 25 Июня, 2009, 19:19:02 »

.config:

#
# Automatically generated make config: don't edit
#
HAVE_DOT_CONFIG=y

#
# Build options
#
ELF_TOOLCHAIN_DIR="/usr/local/arm/3.2.1-elf"
TOOLCHAIN_DIR="/4.1.1-920t"
DOWNLOAD_SITE="http://arm.cirrus.com/files/linux/packages"
JLEVEL=1

#
# Linux kernel for EP9XXX
#
# KERNEL_VERSION_2_6_8_1 is not set
# KERNEL_VERSION_2_6_17_14 is not set
KERNEL_VERSION_2_6_20_4=y
DEFAULT_KERNEL_VERSION="2.6.20.4"
PACKAGE_ZIMAGE=y
# KERNEL_EP9301 is not set
# KERNEL_EP9302 is not set
# KERNEL_EP9302A is not set
# KERNEL_EP9307 is not set
# KERNEL_EP9307A is not set
# KERNEL_EP9312 is not set
# KERNEL_TION is not set
# KERNEL_TION_PRO is not set
KERNEL_TION_PRO2=y
# KERNEL_EP9315 is not set
# KERNEL_EP9315A is not set
ZIMAGE_CONFIG_FILE=""
TARGET_ZIMAGE_COPYTO=""
DEFAULT_PACKAGE_BSP="9312"

#
# Bootloader Options
#
PACKAGE_DOWNLOAD=y
TARGET_DOWNLOAD_COPYTO=""
# PACKAGE_REDBOOT is not set

#
# Individual Package Selection for the target
#

#
# Basic Root Filesystem
#
PACKAGE_BUSYBOX=y
PACKAGE_BUSYBOX_CONFIG="packages/busybox/busybox.config"
PACKAGE_UCLIBC=y
ENABLE_LOCALE=y
PACKAGE_ZLIB=y

#
# Other
#
PACKAGE_MODULE_TOOLS=y
PACKAGE_GDB_SERVER=y
PACKAGE_OPENSSL=y
PACKAGE_GREP=y

#
# Group packages
#
NETWORK_SUPPORT=y
# PACKAGE_WIRELESS_TOOLS is not set
# PACKAGE_LINUX_WLAN_NG is not set
# PACKAGE_RT73_LINUX is not set
# PACKAGE_WPA_SUPPLICANT is not set
PACKAGE_LIBPCAP=y
# AUDIO_SUPPORT is not set
GRAPHIC_SUPPORT=y
PACKAGE_QT=y
PACKAGE_OPIE=y
PACKAGE_LIBPNG=y
PACKAGE_LIBJPEG=y
HW_SUPPORT=y
PACKAGE_TSLIB=y
# PACKAGE_IRDA_TOOLS is not set
PACKAGE_MTD=y
PACKAGE_MTD_FLASH_ERASE=y
PACKAGE_MTD_FLASH_ERASEASLL=y
PACKAGE_MTD_FLASH_INFO=y
PACKAGE_MTD_FLASH_LOCK=y
PACKAGE_MTD_FLASH_UNLOCK=y
PACKAGE_MTD_FLASHCP=y
PACKAGE_MTD_JFFS2DUMP=y
PACKAGE_MTD_SUMTOOL=y
# PACKAGE_MTD_FTL_CHECK is not set
# PACKAGE_MTD_FTL_FORMAT is not set
# PACKAGE_MTD_NFTL_FORMAT is not set
# PACKAGE_MTD_NFTLDUMP is not set
PACKAGE_MTD_MKFSJFFS2=y
# PACKAGE_MTD_MKFSJFFS is not set
# PACKAGE_MTD_NANDDUMP is not set
# PACKAGE_MTD_NANDWRITE is not set
PACKAGE_MTD_MTD_DEBUG=y
PACKAGE_MTD_DOCFDISK=y
# PACKAGE_MTD_DOC_LOADBIOS is not set
PACKAGE_FBSET=y
PACKAGE_LIRC=y
# PACKAGE_LIRC_EDB9302A is not set
# PACKAGE_LIRC_EDB9307 is not set
# PACKAGE_LIRC_EDB9307A is not set
PACKAGE_LIRC_EDB9312=y
# PACKAGE_LIRC_EDB9315 is not set
# PACKAGE_LIRC_EDB9315A is not set
PACKAGE_LIBUSB=y
PACKAGE_USBUTILS=y
PACKAGE_DOSFS_TOOLS=y
PACKAGE_E2FSPROGS=y

#
# Example Applications
#
PACKAGE_FUBAR=y

#
# Target Options
#
TARGET_ROOTFS_EXT2=y
TARGET_ROOTFS_EXT2_BLOCKS=0
TARGET_ROOTFS_EXT2_INODES=0
TARGET_ROOTFS_EXT2_RESBLKS=0
TARGET_ROOTFS_EXT2_SQUASH=y
# TARGET_ROOTFS_EXT2_GZ is not set
TARGET_ROOTFS_EXT2_COPYTO=""
TARGET_ROOTFS_JFFS2=y
TARGET_ROOTFS_JFFS2_EBSIZE=0x20000
TARGET_ROOTFS_JFFS2_PAD=y
TARGET_ROOTFS_JFFS2_PADSIZE=0x0
TARGET_ROOTFS_JFFS2_SQUASH=y
TARGET_ROOTFS_JFFS2_COPYTO=""
# TARGET_ROOTFS_CRAMFS is not set
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: проблема при сборке ядра
« Ответ #6 : 25 Июня, 2009, 19:50:45 »

Попробуйте без ENABLE_LOCALE

PS. В KDE под root'ом?!
Записан

Andrew

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 130
Re: проблема при сборке ядра
« Ответ #7 : 25 Июня, 2009, 19:52:44 »

не помогло:((
Да, под ним:))
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: проблема при сборке ядра
« Ответ #8 : 25 Июня, 2009, 20:21:58 »

LIRC тоже выключите, потом 'make clean' и 'make'.

Стоило начать с "конфигурации по умолчанию".
Записан

Andrew

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 130
Re: проблема при сборке ядра
« Ответ #9 : 26 Июня, 2009, 14:24:04 »

собрал нулевое (все отключено) ядро 6.20.4 под кратером 1-0-3. Все успешно. переделал mkimage в uImage & uramdisk.gz. Загрузил все во флешь. перезагрузил... пишет:
U-Boot 1.3.3-svn602 (Jun 17 2009
   Load Address: 00000000                         
   Entry Point:  00000000EP9315 rev. E2           
   Verifying Checksum ... OK  64 MB           
Flash: 6

Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
Copy ramdisk to RAM...
## Booting kernel from Legacy Image at 60080000 ...
   Image Name:   Kernelllll
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2123104 Bytes =  2 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK
## Loading init Ramdisk from Legacy Image at 00800000 ...
   Image Name:   RammmmmmDisk
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    179171 Bytes = 175 kB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK

Starting kernel ...

и висит!!!!
и так со всеми ядрами!
подскажите, что я не так делаю???
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: проблема при сборке ядра
« Ответ #10 : 26 Июня, 2009, 14:40:19 »

Возможно, выбрали 9315?

Ядро собирается и без Crater'а.
Записан

Andrew

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 130
Re: проблема при сборке ядра
« Ответ #11 : 26 Июня, 2009, 14:58:02 »

Выбрал именно 9315 - так написано на плате.

Собрать-то я его могу и без кратера, а как потом к нему приделать рамдиск?!

Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: проблема при сборке ядра
« Ответ #12 : 26 Июня, 2009, 15:07:05 »

У них не такая уж сильная зависимость.

Вы выбрали edb9315 (отладочная плата), а на плате ep9315 (процессор)
см. http://www.zao-zeo.ru/dokuwiki/doku.php/linux-faq#собранные_образы_ядра_linux_для_edb9315_не_работают_на_моей_плате
Записан

Andrew

  • Full Member
  • ***
  • Оффлайн Оффлайн
  • Сообщений: 130
Re: проблема при сборке ядра
« Ответ #13 : 26 Июня, 2009, 15:13:14 »

Спасибо.

делаю make menuconfig ->  выбираю kernel options -> EP9315 Правильно?
а в настройках убута EPB9312?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: проблема при сборке ядра
« Ответ #14 : 26 Июня, 2009, 15:26:45 »

Мы _не изменяли_ Crater 1.0.3, поэтому:
1. Ядро собирается отдельно, при использовании патча с нашего сайта, будет tion-pro2_defconfig
2. U-Boot, если вам это нужно, собирается отдельно (и не 4.1.1-920t), патч на сайте
3. КФС (ramdisk) можно собирать многими способами, лишь бы она была для ARM и с поддерживаемым ядром ABI

Я изменял Crater 1.0.0, который помечен "svn". Может быть современем обновлю, хотя смысла в этом особого не вижу.
В Crater 1.0.0 вы можете собрать OPIE и ядро, за все возможные варианты конфигурации не ручаюсь, но с "конф. по умолчанию"
должно собираться.
Записан