реклама на сайте
подробности

 
 
5 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Linux для AT91SAM9260, Проблемы с ядром
Bladerunner
сообщение Feb 29 2008, 02:07
Сообщение #1


Участник
*

Группа: Validating
Сообщений: 19
Регистрация: 2-05-06
Пользователь №: 16 663



Для начала заказал оценочную плату с данным процессором. Там на компакт диске шел демо Linux для этого процесора (впринципе он бы подошел если бы только не отсутсвие поддержки ethernet и usb gadget) . Поэтому решил собрать новое ядро и соотвественно toolchain.
Для сборки toolchain и Linux я воспользовался Buildroot (информация на linux4sam.org). С сборкой кроскомпилятора gcc и uclibc для ARM особых проблем не возниклою Удалось собрать загрузчики тоже без особых проблем. При сборке возникли небольшие проблемы с makefile для архитектуры ARM (ядро получалолсь просто невероятных размеров ), но их тоже решил.
Так вот проблема возникла в следующем:
- ядро загружается вполне штатно (так же как и работающий демоLinux для 9260) , но после того как он загрузился и подключил RAm диск не грузит консоль:

NET: Registered protocol family 1
NET: Registered protocol family 17
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 4096KiB [1 disk] into ram disk... done.
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 100K

по идее дальше должен обрабатыватся либо init либо linuxrc (в настройках ядра указано что init=/linuxrc), но это не происходит.

Что делать и как это исправить?

з.ы. сначала думал что какие то проблемы с фс , но нет , она прекрасно монтируется под обычным линуксом. Пробовал использовать ядро от демоLinux для 9260 оно нормально подключает мою фс и начинает обрабатывать init и тд
Go to the top of the page
 
+Quote Post
amw
сообщение Feb 29 2008, 08:33
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 4096KiB [1 disk] into ram disk... done.
VFS: Mounted root (ext2 filesystem).

Тут же написано что фс смонтирована.
А на этой фс есть все необходимые устройства?
В частности /dev/console, /dev/loop*, /dev/ram*, /dev/null.
И еще, что используетс в качестве init? busybox?
Думаю - не хватает библиотек, а точнее пути к ним не сконфигурированы.
Скомпилируете busybox (ну или что Вы используете как init) статически. Там есть в конфигурации опция.
BTW. linuxrc - это скрипт, как я понимаю. То есть для его исполнения нужен /bin/sh, то же статически слинкованый.
А динамические библиотеки подключите позже.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
Bladerunner
сообщение Feb 29 2008, 10:03
Сообщение #3


Участник
*

Группа: Validating
Сообщений: 19
Регистрация: 2-05-06
Пользователь №: 16 663



да если фсэку подмантировать к host системе и посмотреть содержимое то там уже есть все устройства типа console loop null.
Пробовал разные фс ничего не меняется (cramfs, jffs,ext2)
после

VFS: Mounted root (ext2 filesystem).
Freeing init memory: 100K

и все ... Попробую сделать свою фс без всяких библиотек со стаичным busybox...

з.ы. осталосось то всего ничего ... ядро в принципе работает ... если воткнуть флэху то он пишет логи ее подключения к usb-host (ядро откомпилено с дебаг )
Go to the top of the page
 
+Quote Post
amw
сообщение Feb 29 2008, 10:14
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(Bladerunner @ Feb 29 2008, 12:03) *
да если фсэку подмантировать к host системе и посмотреть содержимое то там уже есть все устройства типа console loop null.
Пробовал разные фс ничего не меняется (cramfs, jffs,ext2)
после

VFS: Mounted root (ext2 filesystem).
Freeing init memory: 100K

и все ... Попробую сделать свою фс без всяких библиотек со стаичным busybox...

з.ы. осталосось то всего ничего ... ядро в принципе работает ... если воткнуть флэху то он пишет логи ее подключения к usb-host (ядро откомпилено с дебаг )

А покажите-ка /etc/inittab.
Может init настраивается не на ту консоль? У Вас консоле на последовательном порту?
Попробуйте так:
Код
ttyS0:respawn:/bin/sh

Не помню точно, гляньте в документации busybox точное количество двоеточий и их порядок.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
Bladerunner
сообщение Mar 4 2008, 01:07
Сообщение #5


Участник
*

Группа: Validating
Сообщений: 19
Регистрация: 2-05-06
Пользователь №: 16 663



Цитата(amw @ Feb 29 2008, 13:14) *
А покажите-ка /etc/inittab.
Может init настраивается не на ту консоль? У Вас консоле на последовательном порту?
Попробуйте так:
Код
ttyS0:respawn:/bin/sh

Не помню точно, гляньте в документации busybox точное количество двоеточий и их порядок.


непонятно то что я беру фс от демаLinux, тот который идет на сд с китом , он тоже никак не хочет запускать init
Go to the top of the page
 
+Quote Post
andron86
сообщение Mar 6 2008, 07:11
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



Цитата(amw @ Feb 29 2008, 11:14) *
А покажите-ка /etc/inittab.
Может init настраивается не на ту консоль? У Вас консоле на последовательном порту?
Попробуйте так:
Код
ttyS0:respawn:/bin/sh

Не помню точно, гляньте в документации busybox точное количество двоеточий и их порядок.


Могу только подтвердить. У меня была такая проблемка, консоль на другой порт перестраивалась. глянь /etc/inittab, в общем, полазь в /etc/
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 12 2008, 09:19
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Вот содержимое:
Код
cat inittab

# /etc/inittab
#
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
#
# Note: BusyBox init doesn't support runlevels.  The runlevels field is
# completely ignored by BusyBox init. If you want runlevels, use
# sysvinit.
#
# Format for each entry: <id>:<runlevels>:<action>:<process>
#
# id        == tty to run on, or empty for /dev/console
# runlevels == ignored
# action    == one of sysinit, respawn, askfirst, wait, and once
# process   == program to run

# Startup the system
null::sysinit:/bin/mount -o remount,rw /
null::sysinit:/bin/mount -t proc proc /proc
null::sysinit:/bin/mount -a
null::sysinit:/bin/hostname -F /etc/hostname
null::sysinit:/sbin/ifconfig lo 127.0.0.1 up
null::sysinit:/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo
# now run any rc scripts
::sysinit:/etc/init.d/rcS

# Set up a couple of getty's
#tty1::respawn:/sbin/getty 38400 tty1
#tty2::respawn:/sbin/getty 38400 tty2

# Put a getty on the serial port
# ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
ttyS0::respawn:/bin/ash

# Logging junk
null::sysinit:/bin/touch /var/log/messages
null::respawn:/sbin/syslogd -n -m 0
null::respawn:/sbin/klogd -n
tty3::respawn:/usr/bin/tail -f /var/log/messages

# Stuff to do for the 3-finger salute
::ctrlaltdel:/sbin/reboot

# Stuff to do before rebooting
null::shutdown:/usr/bin/killall klogd
null::shutdown:/usr/bin/killall syslogd
null::shutdown:/bin/umount -a -r
null::shutdown:/sbin/swapoff -a


в строках:

Код
# ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
ttyS0::respawn:/bin/ash

Пробовал и первую и вторую (предложенную здесь)... во второй один раз ошибся, система даже не отругалась...
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 13 2008, 01:52
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Работать так и не хочет.... все в том же состоянии как и было...
Господа, у кого есть рабочее откомпиленное ядро для AT91SAM9260? киньте если не жалко. smile.gif

Сообщение отредактировал MTh - Mar 13 2008, 02:17
Go to the top of the page
 
+Quote Post
slava2005
сообщение Mar 13 2008, 06:43
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 423



Цитата(MTh @ Mar 13 2008, 04:52) *
Работать так и не хочет.... все в том же состоянии как и было...
Господа, у кого есть рабочее откомпиленное ядро для AT91SAM9260? киньте если не жалко. smile.gif


Есть то есть, и не жалко ни грамма smile.gif, только вот что в ядре нужно ?

А то вот напрмер: http://rapidshare.com/files/98402351/uImage.html - это рабочий вариант ядра для вот этого проекта http://electronix.ru/forum/index.php?showtopic=42507
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 13 2008, 08:38
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Э-э-э... а можно в другое место или на почту? Рапида закрыта... sad.gif

Может подскажете чем собирали (crosscompiler)? И из чего... если был какой-то мануал, может линк есть?

В ядре нужно:
Ethernet
USB Host+ communication device + storage device
Com (все) + RS485
NAND Flash
RTC (DS1682)
I2C
DataFlash
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 13 2008, 08:45
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(MTh @ Mar 12 2008, 11:19) *
Вот содержимое:
Код
cat inittab

# /etc/inittab
#
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
#
# Note: BusyBox init doesn't support runlevels.  The runlevels field is
# completely ignored by BusyBox init. If you want runlevels, use
# sysvinit.
#
# Format for each entry: <id>:<runlevels>:<action>:<process>
#
# id        == tty to run on, or empty for /dev/console
# runlevels == ignored
# action    == one of sysinit, respawn, askfirst, wait, and once
# process   == program to run

# Startup the system
null::sysinit:/bin/mount -o remount,rw /
null::sysinit:/bin/mount -t proc proc /proc
null::sysinit:/bin/mount -a
null::sysinit:/bin/hostname -F /etc/hostname
null::sysinit:/sbin/ifconfig lo 127.0.0.1 up
null::sysinit:/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo

Это лучше переместить в один из rc scripts, который будет вызываться из /etc/init.d/rcS
Цитата
Код
# now run any rc scripts
::sysinit:/etc/init.d/rcS

# Set up a couple of getty's
#tty1::respawn:/sbin/getty 38400 tty1
#tty2::respawn:/sbin/getty 38400 tty2

# Put a getty on the serial port
# ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
ttyS0::respawn:/bin/ash

Попробуйте так:
Код
ttyS0::askfirst:/bin/sh

Шелл - busybox? Если да - то убедитесь, что шелл по умолчанию в busybox сконфигурирован и есть соответствующий симлинк (/bin/sh -> /bin/ash)
Цитата
Код
# Logging junk
null::sysinit:/bin/touch /var/log/messages
null::respawn:/sbin/syslogd -n -m 0
null::respawn:/sbin/klogd -n
tty3::respawn:/usr/bin/tail -f /var/log/messages

# Stuff to do for the 3-finger salute
::ctrlaltdel:/sbin/reboot

# Stuff to do before rebooting
null::shutdown:/usr/bin/killall klogd
null::shutdown:/usr/bin/killall syslogd
null::shutdown:/bin/umount -a -r
null::shutdown:/sbin/swapoff -a


в строках:

Код
# ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
ttyS0::respawn:/bin/ash

Пробовал и первую и вторую (предложенную здесь)... во второй один раз ошибся, система даже не отругалась...

А как выглядит командная строкой ядра?
UARTы имеют имена ttyS* или ttyAT* ?
Если Вы видите на UART вывод сообщений ядра при загрузке, а судя по первому посту - Вы их видите, то ищите причину в конфигурации rootfs. Это может быть или скрипт, или настроечный файл, или сам busybox. Его лучше всего собрать статически, тогда он точно будет запускаться и Вы сможете увидеть его сообщения.

И дайте полный лог загрузочных сообщений ядра.
Убедитесь, что на rootfs есть /linuxrc. А лучше укажите init=/bin/init, или на крайний случай init=/bin/sh

Сообщение отредактировал amw - Mar 13 2008, 08:53


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 13 2008, 09:26
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Код
AT91Bootstrap loading from 0x8400...
>AT45DB642D detected
>Loading from Dataflash[0x00008400] to SDRAM[0x23F00000]
.......
>Loading complete, [0x00032000] bytes
>Start application at [0x23F00000]


U-Boot 1.2.0 (Feb 21 2008 - 16:29:37)

DRAM:  64 MB
NAND:  No NAND device found!!!
No NAND device found!!!
0 MiB
DataFlash:AT45DB642
Nb pages:   8192
Page Size:   1056
Size= 8650752 bytes
Logical address: 0xC0000000
Area 0: C0000000 to C0004144 (RO) bootstrap
Area 1: C0004200 to C00083FF      Environment
Area 2: C0008400 to C0041FFF (RO) U-BOOT 1.20
Area 3: C0042000 to C02FFFFF      KERNEL
Area 4: C0300000 to C0800000      FS
In:    serial
Out:   serial
Err:   serial
DM9161A PHY Detected
No link
MAC: error during RMII initialization
Hit any key to stop autoboot:  0
## Booting image at 21600000 ...
   Image Name:   Linux-2.6.23.1
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1498432 Bytes =  1.4 MB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux...........................................................................
....................... done, booting the kernel.
Linux version 2.6.23.1 (root@skb_p4) (gcc version 4.2.1) #1 Thu Feb 28 10:29:48 IRKT 2008
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: Atmel AT91SAM9260-EK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 198 MHz, master 99 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists in Zone order.  Total pages: 16256
Kernel command line: mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
console [ttyS0] enabled
Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
... MAX_LOCKDEP_SUBCLASSES:    8
... MAX_LOCK_DEPTH:          30
... MAX_LOCKDEP_KEYS:        2048
... CLASSHASH_SIZE:           1024
... MAX_LOCKDEP_ENTRIES:     8192
... MAX_LOCKDEP_CHAINS:      16384
... CHAINHASH_SIZE:          8192
memory used by lock dependency info: 1024 kB
per task-struct memory footprint: 1920 bytes
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 56576KB available (2748K code, 2396K data, 116K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Generic PHY: Registered new driver
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 4, 73728 bytes)
TCP bind hash table entries: 2048 (order: 4, 73728 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd
Freeing initrd memory: 3072K
JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler anticipatory registered (default)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: module loaded
Davicom DM9161E: Registered new driver
Davicom DM9161A: Registered new driver
Davicom DM9131: Registered new driver
ICPlus IP175C: Registered new driver
MACB_mii_bus: probed
eth0: Atmel MACB at 0xfffc4000 irq 21 (00:00:00:00:00:00)
eth0: attached PHY driver [Davicom DM9161A] (mii_bus:phy_addr=ffffffff:00, irq=-1)
No NAND device found!!!
usbmon: debugfs is not available
at91_ohci at91_ohci: AT91 OHCI
at91_ohci at91_ohci: new USB bus registered, assigned bus number 1
at91_ohci at91_ohci: irq 20, io mem 0x00500000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
drivers/usb/host/r8a66597-hcd.c: driver r8a66597_hcd, 29 May 2007
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
udc: at91_udc version 3 May 2006
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
at91_i2c at91_i2c: AT91 i2c bus driver.
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.14 (Fri Jul 20 09:12:58 2007 UTC).
ALSA device list:
  No soundcards found.
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Installing 9P2000 support
RAMDISK: cramfs filesystem found at block 0
RAMDISK: Loading 2912KiB [1 disk] into ram disk... done.
VFS: Mounted root (cramfs filesystem) readonly.
Freeing init memory: 116K
Go to the top of the page
 
+Quote Post
slava2005
сообщение Mar 13 2008, 09:37
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 423



Этта ... Вы бы printenv из u-boot бы привели... Телепатия мне подсказывает, что у Вас переменные не настроены.
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 13 2008, 09:48
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата
Kernel command line: mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw

То есть в качестве init у Вас используется либо /sbin/init, либо /bin/init.
Он слинкован статически?
Покажите карту памяти.
Цитата
Этта ... Вы бы printenv из u-boot бы привели... Телепатия мне подсказывает, что у Вас переменные не настроены.

Да, не помешало бы.

Сообщение отредактировал amw - Mar 13 2008, 09:49


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 14 2008, 00:53
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Переменные окружения:
Код
ARM M7 BOOT> printenv
baudrate=115200
ethaddr=04:05:fe:ed:00:18
ipaddr=XX.XX.XX.XX
gatewayip=XX.XX.XX.XX
netmask=255.255.255.0
hostname=at91sam9260_arm_test
bootcmd=cp.b 0xc0042000 0x21600000 0x1fffff; cp.b 0xc0300000 0x21100000 0x3fffff; bootm 0x21600000
bootdelay=1
serverip=10.10.10.11
stdin=serial
stdout=serial
stderr=serial

Environment size: 488/8188 bytes


Карта памяти:
Код
DataFlash:AT45DB642
Nb pages:   8192
Page Size:   1056
Size= 8650752 bytes
Logical address: 0xC0000000
Area 0: C0000000 to C0004144 (RO) bootstrap
Area 1: C0004200 to C00083FF      Environment
Area 2: C0008400 to C0041FFF (RO) U-BOOT 1.20
Area 3: C0042000 to C02FFFFF      KERNEL
Area 4: C0300000 to C0800000      FS

init слинкован НЕ статически
Сейчас пытаюсь собрать все еще раз с нуля так сказать... Если есть какие-то предложения, очень прошу написать ))
Про то что busybox должен быть статический я уже понял.

Сообщение отредактировал MTh - Mar 14 2008, 01:50
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 14 2008, 07:56
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



А то что busybox ругается когда его пытаешься скомпилить статически, ничего страшного? Говорит что бинарники могут быть битыми?
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 14 2008, 08:24
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(MTh @ Mar 14 2008, 09:56) *
А то что busybox ругается когда его пытаешься скомпилить статически, ничего страшного? Говорит что бинарники могут быть битыми?

Он предупреждает, что статически слинкованный busybox будет использовать системные вызовы dlopen и пр. при работе с DNS.
Пусть его, пускай использует.
Главное - при загрузке, когда доступа к shared libraryes еще может не быть, статически слинкованный init (т.е. busybox) не требует этих библиотек.
Есть какаято другая ругань? Кроме dlopen?


Цитата(MTh @ Mar 14 2008, 02:53) *
Карта памяти:
Код
DataFlash:AT45DB642
Nb pages:   8192
Page Size:   1056
Size= 8650752 bytes
Logical address: 0xC0000000
Area 0: C0000000 to C0004144 (RO) bootstrap
Area 1: C0004200 to C00083FF      Environment
Area 2: C0008400 to C0041FFF (RO) U-BOOT 1.20
Area 3: C0042000 to C02FFFFF      KERNEL
Area 4: C0300000 to C0800000      FS

Это, как я понимаю карта флаш памяти, а я имел в виду карту памяти типа
C0000000 - CFFFFFFF - Flash
20000000 - 24000000 - SDRAM
То есть проверить не накладывается ли образ initrd после распаковки на область памяти ядра.
Точнее наоборот.
Общаяя рекомендяция загрузки - ядро по младшим адресам ОЗУ, initrd по адресу RAM_Size - sizeof(initrd). Примерно так. Буквально выполнять не обязательно, но придерживаться идеологии.
Цитата
init слинкован НЕ статически
Сейчас пытаюсь собрать все еще раз с нуля так сказать... Если есть какие-то предложения, очень прошу написать ))
Про то что busybox должен быть статический я уже понял.

Сделайте именно статически. Динамичекой линковкой (а точнее подготовкой запуска динамически слинкованных приложений) можно будет заняться потом.

Сколько у Вас UART-ов? Можете глятуть на каждом?
Уберите все лишнее из /etc/inittab. оставте только
Код
ttyS0:askfirst:/bin/sh
ttyS1:askfirst:/bin/sh
ttyS2:askfirst:/bin/sh
ttyS3:askfirst:/bin/sh
ttyS4:askfirst:/bin/sh

И так по всем UARTам. Сколько их у Вас есть в процессоре а не на плате, включая DBGU (не помню точно есть ли он в Вашем процессоре).
Возможно Вы считаете номера UART не в том порядке, в каком их считает Linux.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
slava2005
сообщение Mar 14 2008, 09:50
Сообщение #18


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 423



[quote name='MTh' date='Mar 14 2008, 03:53' post='379129']
Переменные окружения:
Код
ARM M7 BOOT> printenv
baudrate=115200
ethaddr=04:05:fe:ed:00:18
ipaddr=XX.XX.XX.XX
gatewayip=XX.XX.XX.XX
netmask=255.255.255.0
hostname=at91sam9260_arm_test
bootcmd=cp.b 0xc0042000 0x21600000 0x1fffff; cp.b 0xc0300000 0x21100000 0x3fffff; bootm 0x21600000
bootdelay=1
serverip=10.10.10.11
stdin=serial
stdout=serial
stderr=serial

Environment size: 488/8188 bytes


А где bootargs ?
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 16 2008, 13:34
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



C bootargs был трабл.... сейчас он есть )) Завтра на работе скину последнее все что есть...
Дело в том что начал все это один человек (т.е. ядро-то грузится именно его), а продолжаю я... Пока разбираюсь что к чему и пытаюсь таки перекомпилить и запустить...
BuildRoot был собран на ASP Linux, его скачал... и допилил напильником BladeRunner (как я понял пилить пришлось много)
Я под Debian собрал buildroot который был на диске argussoft для оценочной платы. Собралось не без проблем, но собралось. Но вот ядро отказывается запускаться напрочь sad.gif
Завтра продолжу "извращения" и обновлю всю инфу.

Очень признателен за помощь. ))
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 17 2008, 02:51
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Каким-то неведомым образом оно завелось. т.е. все: ядро грузиться, приглашение появляется...
В чем была причина понять до конца так и не понял. Собирал buildroot с диска argussoft. Сделал статический busybox.... может причина и была в этом....

Всем большое спасибо за помощь. ))
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 17 2008, 08:22
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(MTh @ Mar 17 2008, 04:51) *
Сделал статический busybox.... может причина и была в этом....

Большинство проблем, похожих на Ваши, именно в этом и заключаются.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 17 2008, 08:50
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Теперь другой трабл: поднял сеть... все ок...
Пытаюсь скомпилить приложение:
Код
make ARCH=arm CROSS_COMPILE=/usr/local/arm/gcc-3.4.6-uclibc/bin/arm-linux-uclibc-

Приложение с кучей варнингов компилиться, копирую в коренвую систему, по tftp заливаю... пытаюсь запустить приложение:
Код
ls
hello  s.sh
# ./hello
-sh: ./hello: not found

написал небольшой скрипт, в нем вывод строки и запуск hello в двух вариантах:
Код
# ./s.sh
Just string
./s.sh: ./s.sh: 3: hello: not found
./s.sh: ./s.sh: 4: ./hello: not found
#


Что я делаю не так?
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 17 2008, 09:30
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(MTh @ Mar 17 2008, 10:50) *
Теперь другой трабл: поднял сеть... все ок...
Пытаюсь скомпилить приложение:
Код
make ARCH=arm CROSS_COMPILE=/usr/local/arm/gcc-3.4.6-uclibc/bin/arm-linux-uclibc-

Приложение с кучей варнингов компилиться, копирую в коренвую систему, по tftp заливаю... пытаюсь запустить приложение:
Код
ls
hello  s.sh
# ./hello
-sh: ./hello: not found

написал небольшой скрипт, в нем вывод строки и запуск hello в двух вариантах:
Код
# ./s.sh
Just string
./s.sh: ./s.sh: 3: hello: not found
./s.sh: ./s.sh: 4: ./hello: not found
#


Что я делаю не так?

1. Та же проблема, что и с busybox. Скомпилируйте статически. Если запускается - скопируйте нужные библиотеки на rottfs.
Как проверить можно посмотреть тут http://electronix.ru/forum/index.php?showtopic=44076 пост #5. Рекомендации и методы в данном вопросе не зависят от архитектуры. Библиотеки лучше всего ложить на rootfs в папку /lib. По крайней мере для начала. Не забывайте что libstdc++ не бывает статической. Таким образом все C++ приложения требуют библиотеку. Некоторые библиотеки зависят от других. Если Ваше приложение требует одну, то нужно копировать обе и т.д.
2. Как я понял Вы используете buildroot. Если да - смотрите в его доках как вставит свое приложение в систему. Не могу сказать подробнее, так как buildroot не использую вообще.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 18 2008, 09:02
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



amw спасибо smile.gif

Я использовал АРМовый компилер и вместо Makefile скомпилил все напрямую, т.е.:
/usr/local/arm/gcc-3.4.6-uclibc/bin/arm-linux-uclibc-gcc -c hello.c
/usr/local/arm/gcc-3.4.6-uclibc/bin/arm-linux-uclibc-gcc -o hello hello.o
Воткнул в rootfs, закинул по tftp и запустилось без проблем... Хотя в Makefile прописал опцию на вызов компилятора именно АРМ... Это и есть статическая линковка?
Правда я ядро пересобрал... и в /lib появились библиотеки...
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 18 2008, 09:31
Сообщение #25


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(MTh @ Mar 18 2008, 11:02) *
Я использовал АРМовый компилер и вместо Makefile скомпилил все напрямую, т.е.:
/usr/local/arm/gcc-3.4.6-uclibc/bin/arm-linux-uclibc-gcc -c hello.c
/usr/local/arm/gcc-3.4.6-uclibc/bin/arm-linux-uclibc-gcc -o hello hello.o
Воткнул в rootfs, закинул по tftp и запустилось без проблем... Хотя в Makefile прописал опцию на вызов компилятора именно АРМ... Это и есть статическая линковка?

Извините - не понял. Про АРМовский компилер.

Статическая линковка - это когда все функции и переменные из библиотек вставляются линкеров в исполняемый файл полностью.
Динамическая линковка - это когда линкер создает в исполняемом вайле только ссылки на имена функций в библиотеках.
При статической линковке - исполняемый файл содержит все, в том числе копии всех используемых им библиотечных функций.
При динамической линковке - исполняемый файл содержит только написаный Вами код. Для его запуска необходимы все библиотеки, из которых он использует функции.

Статическая линковка:
Код
/usr/local/arm/gcc-3.4.6-uclibc/bin/arm-linux-uclibc-gcc -Wl,-static -o hello hello.o

Динамическая линковка выполняется по умолчанию. (То есть Вы не указали что нужно линковать статически - значит динамически)
Цитата
... и в /lib появились библиотеки...

У Вас линковка динамическая. Но появились библиотеки.

PS: Для uClinux могут быть ньюансы по линковке. Однако тут я Вам помочь не смогу. uClinux не пользую.

Сообщение отредактировал amw - Mar 18 2008, 09:32


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 19 2008, 00:14
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Цитата(amw @ Mar 18 2008, 12:31) *
Извините - не понял. Про АРМовский компилер.


Компилятор собранный для компиляции прилады под ARM //*Масло маслянное но факт

Цитата(amw @ Mar 18 2008, 12:31) *
PS: Для uClinux могут быть ньюансы по линковке. Однако тут я Вам помочь не смогу. uClinux не пользую.


Это не uCLinux...

Спасибо за развернутый ответ smile.gif
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 19 2008, 08:15
Сообщение #27


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(MTh @ Mar 19 2008, 02:14) *
Компилятор собранный для компиляции прилады под ARM //*Масло маслянное но факт

Очепятка? Про масло я понял а вот про все остальное - нет smile.gif.
Цитата
Это не uCLinux...

Используете uClibc? Или просто компилятор стащеный?
Я как-то привык сам пересобирать компиляторы, потому плохо ориентируюся в том, что можно скачать.
Цитата
Спасибо за развернутый ответ smile.gif

Главное, чтоб в пользу smile.gif.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 21 2008, 08:04
Сообщение #28


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Господа, спасайте....
Собрал ядро и ФС... заработало... Потребовалось включить поддержку libusb и libtool... В buildroot в menuconfig включил соответствующие пункты. Собираю все... закидываю на АРМ - вешается после монтирования ФС... пишет freeing init memory 96K и все... тишина.... Правда на вводимые символы реагирует... т.е. echo работает. Иогда система пишет что неверный формат архива...

ФС лежит по адресу 0х21100000, ядро по 0х22200000 т.е. между ними около 20 МБ (знаю что много, пока поставил так,чтобы отладить smile.gif )
-rw-r--r-- 1 root root 1065698 2008-03-21 15:49 at91sam9260ek-linux-2.6.19-2008-03-21.gz
-rw-r--r-- 1 root root 3610702 2008-03-21 15:45 rootfs.arm_nofpu.ext2.gz

Версия ядра: 2.6.19.2
Версия buildroot: 2007116-RC2

Вот вывод printenv:
Код
baudrate=115200
bootdelay=1
boot_addr=0x21600000
ramdisk_addr=0x21100000
ld_root=run linux; run ramdisk; bootm $(boot_addr)
ethaddr=04:05:fe:ed:00:18
hostname=at91sam9260_arm_test
initrd=0x2118C000,6000000
OS=C0042000
endflash=c083ffff
ver=1
config=tftp  ${ramdisk} autoscript.${hostname}; autoscr ${ramdisk}
kernel-version=2.6.21.1
kernel-date=2007-06-05
fs-date=2007-06-05
get-ramdisk=tftp        ${ramdisk}      ${rd};          setenv rd-size  ${filesize}
store-ramdisk=cp.b      ${ramdisk}      ${FS}           ${rd-size}
load-ramdisk=cp.b       ${FS}           ${ramdisk}      ${rd-size}
flash-ramdisk=run       get-ramdisk;    run             store-ramdisk
get-kernel=tftp ${kernel}       ${linux};       setenv  kernel-size     ${filesize}
store-kernel=cp.b       ${kernel}       ${OS}           ${kernel-size};         saveenv
load-kernel=cp.b        ${OS}           ${kernel}       ${kernel-size};         saveenv
flash-kernel=run        get-kernel;     run             store-kernel
get=run get-kernel        ; run get-ramdisk
flash=run flash-kernel; run flash-ramdisk; saveenv
load=run load-kernel ; run load-ramdisk
fstype=ram
flashfs=/dev/mtdblock2
ramfs=/dev/ram
access=rw
ramdisk_size=15360
console=ttyS0,115200
mem=64M
update=os; fs; setargs
cmpk=run flash-kernel; cp.b ${OS} ${ramdisk} ${kernel-size}; cmp ${kernel} ${ramdisk} ${kernel-size}
rootfstype=ext2
FS=C0300000
bootcmd=run load; bootm 0x21600000
rd=rootfs.ext2.gz
linux=linuximage.gz
myboot=bootm ${kernel}
ramdisk=21100000
bootargs=root=/dev/ram0 initrd=0x21100000,3000000 console=ttyS0,115200 mem=64M
rd-size=1d3a14
filesize=1248b3
fileaddr=32000000
gatewayip=10.10.10.1
netmask=255.255.255.0
ipaddr=10.10.10.83
serverip=10.10.10.15
kernel-size=1248b3
kernel=22200000
stdin=serial
stdout=serial
stderr=serial


Заканчивается все вот так:
Код
RAMDISK: Compressed image found at block 0
RAMDISK: ran out of compressed data
invalid compressed format (err=1)
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 92K
EXT2-fs error (device ram0): ext2_check_page: bad entry in directory #624: rec_len is smaller than minimal - offset=0, inode=0, rec_len=0, name_len=0
Warning: unable to open an initial console.
EXT2-fs error (device ram0): ext2_check_page: bad entry in directory #568: rec_len is smaller than minimal - offset=0, inode=0, rec_len=0, name_len=0


Больше всего меня пугает, то что концовка меняется... т.е. она не постоянно такая...

busybox собран статически:
Код
#arm-linux-uclibc-readelf -d busybox

В этом файле нет динамического раздела.


Сообщение отредактировал MTh - Mar 21 2008, 08:16
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 21 2008, 08:16
Сообщение #29


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(MTh @ Mar 21 2008, 10:04) *
Заканчивается все вот так:
Код
RAMDISK: Compressed image found at block 0
RAMDISK: ran out of compressed data
invalid compressed format (err=1)
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 92K
EXT2-fs error (device ram0): ext2_check_page: bad entry in directory #624: rec_len is smaller than minimal - offset=0, inode=0, rec_len=0, name_len=0
Warning: unable to open an initial console.
EXT2-fs error (device ram0): ext2_check_page: bad entry in directory #568: rec_len is smaller than minimal - offset=0, inode=0, rec_len=0, name_len=0

Это первое упоминание в логе про RAMDISK? Приведите чуть больше перед этими строками если есть что-то про RAMDISK.
Какой формат RAMDISK фактически? Какой формат поддерживает Вами собранное ядро?
Скорее всего образ корневухи (RAMDISK) initramfs, а ядро поддерживает только initrd. Или наоборот.
Включите в ядре поддержку всех форматов и приведите полный лог загрузки, если будутет та-же проблема.

Сообщение отредактировал amw - Mar 21 2008, 08:17


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
andron86
сообщение Mar 21 2008, 08:24
Сообщение #30


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



Цитата(MTh @ Mar 21 2008, 09:04) *
Код
RAMDISK: Compressed image found at block 0
RAMDISK: ran out of compressed data
invalid compressed format (err=1)
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 92K
EXT2-fs error (device ram0): ext2_check_page: bad entry in directory #624: rec_len is smaller than minimal - offset=0, inode=0, rec_len=0, name_len=0
Warning: unable to open an initial console.
EXT2-fs error (device ram0): ext2_check_page: bad entry in directory #568: rec_len is smaller than minimal - offset=0, inode=0, rec_len=0, name_len=0


Больше всего меня пугает, то что концовка меняется... т.е. она не постоянно такая...

busybox собран статически:


Хе, Хе это у тебя файловая система глючит. Помочь не могу, так как подход индивидуальный нужен, сам jffs2 пользую.
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 21 2008, 08:34
Сообщение #31


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Цитата(amw @ Mar 21 2008, 11:16) *
Это первое упоминание в логе про RAMDISK? Приведите чуть больше перед этими строками если есть что-то про RAMDISK.
Какой формат RAMDISK фактически? Какой формат поддерживает Вами собранное ядро?
Скорее всего образ корневухи (RAMDISK) initramfs, а ядро поддерживает только initrd. Или наоборот.
Включите в ядре поддержку всех форматов и приведите полный лог загрузки, если будутет та-же проблема.


Спасибо ))
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 21 2008, 08:43
Сообщение #32


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(MTh @ Mar 21 2008, 10:04) *
ФС лежит по адресу 0х21100000, ядро по 0х22200000 т.е. между ними около 20 МБ (знаю что много, пока поставил так,чтобы отладить smile.gif )

Еще вспомнил.
Рекомендуется образ RAMDISK грузить в память по адресу MAX_MEM_ADDR - RAMDISK_SIZE.
Не нужно воспринимать буквально, но нужно следовать принципу.
Суть в том, что ядро распаковывается в нижние адреса при выключенном MMU (читай linux/Documentation/arm/Booting). Размер распакованного ядра будет не меньше чем размер файла vmlinux (посмотрите его размер). Если зазора не хватает - при распаковке ядра будет похерен образ RAMDISK (еще сжатый).
Потом распаковывается RAMDISK, но на этот момент MMU уже включен, и ядро может управлять распаковкой RAMDISK.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 25 2008, 00:27
Сообщение #33


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Итак, попытка сборки ядра 2.6.24 не удалась... вернее удалась, но ядро не видит RAM диск... никак....

Решили пока остановиться на 2.6.19, от него удалось добиться стабильной сборки и запуска. Один момент, при включении поддержки NAND Flash, компилер начал ругаться о необъявленных переменных (AT91_MATRIX_EBICSA и AT91_MATRIX_CS3A_SMC) в файле at91sam9260_devices.c я подсмотрел в хидерах на 9200 и сделал аналогично в 9260... Сборка проходит... но меня мучают подозрения: а будет ли работать? Проверить в железе пока возможности нет...

Сообщение отредактировал MTh - Mar 25 2008, 00:46
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 25 2008, 08:43
Сообщение #34


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(MTh @ Mar 25 2008, 02:27) *
Итак, попытка сборки ядра 2.6.24 не удалась... вернее удалась, но ядро не видит RAM диск... никак....

(AT91_MATRIX_EBICSA и AT91_MATRIX_CS3A_SMC)...
а будет ли работать? Проверить в железе пока возможности нет...

На сколько я могу судить это выводы CS и/или другие управляющие выводы для NAND.
Если да - то смотреть по схеме.
Вожможно так-же, что при конфигурировании ядра был неправильно или не полностью сконфигурирован MTD NAND.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
slava2005
сообщение Mar 25 2008, 09:05
Сообщение #35


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 423



Цитата(MTh @ Mar 25 2008, 03:27) *
Итак, попытка сборки ядра 2.6.24 не удалась... вернее удалась, но ядро не видит RAM диск... никак....

Решили пока остановиться на 2.6.19, от него удалось добиться стабильной сборки и запуска.


Позволю себе небольшую ремарку. Юзайте ядро 2.6.22. На мой взгляд самое оно пока smile.gif
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 25 2008, 09:25
Сообщение #36


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Цитата(slava2005 @ Mar 25 2008, 12:05) *
Позволю себе небольшую ремарку. Юзайте ядро 2.6.22. На мой взгляд самое оно пока smile.gif



Спасибо! Но это не раньше выходных.... кроме того опыта у меня маловато, хотя сидя без дела его не получишь....

Цитата
На сколько я могу судить это выводы CS и/или другие управляющие выводы для NAND.
Если да - то смотреть по схеме.
Вожможно так-же, что при конфигурировании ядра был неправильно или не полностью сконфигурирован MTD NAND.


Посмотрю. Спасибо....

Еще вопрос попутно :-[

Написал простенькую программку:
Код
# cat main.cpp
#include <iostream>
using namespace std;

int main()
{
    cout << "g++ compiler test\n";
    return 0;
}


Makefile:
Код
# cat Makefile
main: main.o
        $(CC) -o main main.o

main.o: main.cpp
        $(CC) -c main.cpp


Компилирую:
Код
# make ARCH=arm CC=arm-linux-uclibc-g++
arm-linux-uclibc-g++ -o main main.o
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__towupper_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__strtold_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__strftime_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__nl_langinfo_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__newlocale'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__freelocale'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__wcsxfrm_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__iswctype_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__towlower_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__strtod_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__uselocale'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__strcoll_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__wctype_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__strxfrm_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__wcsftime_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__strtof_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__wcscoll_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__duplocale'
collect2: ld returned 1 exit status
make: *** [main] Ошибка 1


Я что-то упустил при сборке? Хотя приложение (udp сервер) написанное на Си компилируется и работает "на УРА!"...
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 25 2008, 09:42
Сообщение #37


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(MTh @ Mar 25 2008, 11:25) *
Код
#include <iostream>
using namespace std;

int main()
{
    cout << "g++ compiler test\n";
    return 0;
}


Makefile:
Код
main: main.o
        $(CC) -o main main.o

main.o: main.cpp
        $(CC) -c main.cpp

В крне не верно!!!!
Переменная CC - это C компилятор.
Переменная CXX - это C++ компилятор.
Переменная CPP - это C препроцессор.
Эти перемнные проверяются make-ом. Используйте правильный синтаксис.
Наберите в командной строке вот это
Код
arm-linux-uclibc-g++ -v -o main main.cpp

Примечание: *-uclibc-* вообще-то расчитано на uClibc. Возможно используется glibc.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 26 2008, 00:26
Сообщение #38


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Цитата(amw @ Mar 25 2008, 12:42) *
В крне не верно!!!!
Переменная CC - это C компилятор.
Переменная CXX - это C++ компилятор.
Переменная CPP - это C препроцессор.
Эти перемнные проверяются make-ом. Используйте правильный синтаксис.
Наберите в командной строке вот это
Код
arm-linux-uclibc-g++ -v -o main main.cpp

Примечание: *-uclibc-* вообще-то расчитано на uClibc. Возможно используется glibc.


Вот что получается:
Код
# /usr/local/arm/gcc-3.4.6-uclibc/bin/arm-linux-uclibc-g++ -o main /home/mamonth/g++_test/main.cpp -v
Reading specs from /usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/specs
Configured with: /root/arm/argussoft/toolchain_build_arm_nofpu_small/gcc-3.4.6/configure --prefix=/usr/local/arm/gcc-3.4.6-uclibc --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=arm-linux-uclibc --enable-languages=c,c++,objc --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --enable-shared --enable-threads --enable-multilib --with-float=soft --enable-sjlj-exceptions --with-float=soft
Thread model: posix
gcc version 3.4.6
/usr/local/arm/gcc-3.4.6-uclibc/libexec/gcc/arm-linux-uclibc/3.4.6/cc1plus -quiet -v -D_GNU_SOURCE -D__ARM_ARCH_3__ /home/mamonth/g++_test/main.cpp -quiet -dumpbase main.cpp -msoft-float -auxbase main -version -o /tmp/ccXMa3qM.s
ignoring nonexistent directory "/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../include/c++/3.4.6
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../include/c++/3.4.6/arm-linux-uclibc
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../include/c++/3.4.6/backward
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/include
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/sys-include
End of search list.
GNU C++ version 3.4.6 (arm-linux-uclibc)
        compiled by GNU C version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/bin/as -mfpu=softfpa -mfpu=softfpa -o /tmp/ccUYu4iU.o /tmp/ccXMa3qM.s
/usr/local/arm/gcc-3.4.6-uclibc/libexec/gcc/arm-linux-uclibc/3.4.6/collect2 --eh-frame-hdr -dynamic-linker /lib/ld-uClibc.so.0 -X -m armelf_linux -p -o main /usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/crt1.o /usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/crti.o /usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/crtbegin.o -L/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6 -L/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib /tmp/ccUYu4iU.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/crtend.o /usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/crtn.o
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__towupper_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__strtold_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__strftime_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__nl_langinfo_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__newlocale'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__freelocale'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__wcsxfrm_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__iswctype_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__towlower_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__strtod_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__uselocale'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__strcoll_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__wctype_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__strxfrm_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__wcsftime_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__strtof_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__wcscoll_l'
/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/libstdc++.so: undefined reference to `__duplocale'
collect2: ld returned 1 exit status


Однако, если сделать вот так:
Код
#
#arm-linux-uclibc-g++ -c main.cpp -o main

И на выходе даже что-то получается...
Код
# arm-linux-uclibc-readelf -h main
Заголовок ELF:
  Magic:   7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00
  Класс:                             ELF32
  Данные:                            дополнение до 2, little endian
  Версия:                            1 (current)
  OS/ABI:                            ARM
  Версия ABI:                        0
  Тип:                               REL (Перемещаемый файл)
  Машина:                            ARM
  Версия:                            0x1
  Адрес точки входа:                 0x0
  Начало заголовков программы:       0 (байт в файле)
  Начало заголовков программы:       940 (байт в файле)
  Флаги:                             0x200, GNU EABI, software FP
  Размер этого заголовка:            52 (байт)
  Размер заголовков программы:       0 (байт)
  Число заголовков программы:        0
  Размер заголовков раздела:         40 (байт)
  Число заголовков раздела:          16
  Индекс табл. строк загол. раздела: 13

однако это что-то потом не запускается... На целевой платформе выдается сообщение:
Код
# tftp -r main -g ХХ.ХХ.ХХ.ХХ
# chmod +x main
# ./main
./main: ./main: 1: Syntax error: word unexpected (expecting ")")
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 26 2008, 03:04
Сообщение #39


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Вопрос снимается... проблема с компилятором....
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 26 2008, 08:33
Сообщение #40


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(MTh @ Mar 26 2008, 05:04) *
Вопрос снимается... проблема с компилятором....

А какая?


Код
/usr/local/arm/gcc-3.4.6-uclibc/libexec/gcc/arm-linux-uclibc/3.4.6/collect2 --eh-frame-hdr -dynamic-linker /lib/ld-uClibc.so.0 -X -m armelf_linux -p -o main /usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/crt1.o /usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib/crti.o /usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/crtbegin.o -L/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6 -L/usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/lib /tmp/ccUYu4iU.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/local/arm/gcc-3.4.6-uclibc/lib/gcc/arm-linux-uclibc/3.4.6/crtend.o

Проанализируйте на предмет наличия используемых библиотек (опции -l) в указанных путях (опции -L). А также соответствие форматов библиотек (поскольку --enable-multilib). Несколько смущает использование --enable-languages=c,c++,objc, у меня с objc были конфликты.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 26 2008, 13:50
Сообщение #41


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Проблема как раз с баблиотеками для С++ (libsdtc++.so)... компилятор напрочь отказывается видеть процедуры и функции включенные в стандартные инклуды... в чем причина - понять не могу...
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 26 2008, 16:02
Сообщение #42


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(MTh @ Mar 26 2008, 15:50) *
Проблема как раз с баблиотеками для С++ (libsdtc++.so)... компилятор напрочь отказывается видеть процедуры и функции включенные в стандартные инклуды... в чем причина - понять не могу...

А в самой библиотеке они есть?
Судя по ошибке - нет. Тогда надо искать, в какой они библиотеке и подключить принудительно ее.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 27 2008, 01:35
Сообщение #43


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Цитата(amw @ Mar 26 2008, 19:02) *
А в самой библиотеке они есть?
Судя по ошибке - нет. Тогда надо искать, в какой они библиотеке и подключить принудительно ее.


Есть подозрение что компилер не собрался правильно...
Go to the top of the page
 
+Quote Post
MTh
сообщение Mar 27 2008, 05:34
Сообщение #44


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Цитата(slava2005 @ Mar 25 2008, 12:05) *
Позволю себе небольшую ремарку. Юзайте ядро 2.6.22. На мой взгляд самое оно пока smile.gif


А позвольте поинтересоваться, если Вы используете buildroot то какой версии? Если нет, то какие порекомендуете остальные пакеты (binutils, uClibc и прочее).

Трабл в том, что в каждой версии пакета свои заморочки... с каким-то я справился, с какими-то не смог... Вот и хотелось бы с минимумом проблем, но это линукс, тут такое бывает редко ))
Go to the top of the page
 
+Quote Post
3.14
сообщение Apr 8 2008, 19:34
Сообщение #45


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Поделитесь плиз живой корневухой для 9260.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
slava2005
сообщение Apr 9 2008, 13:31
Сообщение #46


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 423



Цитата(3.14 @ Apr 8 2008, 23:34) *
Поделитесь плиз живой корневухой для 9260.


А что именно интересует ?

Например этот проект успешно стартует с этим - это Дебиан

Цитата(MTh @ Mar 27 2008, 09:34) *
А позвольте поинтересоваться, если Вы используете buildroot то какой версии? Если нет, то какие порекомендуете остальные пакеты (binutils, uClibc и прочее).

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


Buidroot не использую. Я сторонник полновесных дистрибутивов (см мою тему про Дебиан).
Go to the top of the page
 
+Quote Post
3.14
сообщение Apr 9 2008, 18:09
Сообщение #47


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Спасибо, уже разобрался ...


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
igrok213
сообщение Apr 10 2008, 13:29
Сообщение #48





Группа: Новичок
Сообщений: 14
Регистрация: 12-03-08
Пользователь №: 35 839



Проблема с той же платой sad.gif

Переменные среды:
Цитата
bootdelay=3
baudrate=115200
ethaddr=3e:36:65:ba:6f:be
filesize=11fd70
fileaddr=20000000
netmask=255.255.255.0
ipaddr=192.168.1.22
serverip=192.168.1.8
bootcmd=cp.b 0xD0030000 0x21500000 0x0011FD70; cp.b 0xD0300000 0x21100000 0x00400000; bootm 0x21500000
stdin=serial
stdout=serial
stderr=serial

при них он нормально грузит линукс из флеша.
Пытаюсь использовать тоже ядро, но другую корневую, для этого делаю:
Цитата
tftp 0х21100000 /tftpboot/rootfs
setenv bootcmd 'cp.b 0xD0030000 0x21500000 0x0011FD70; bootm 0x21500000'
boot

После этого идёт процесс загрузки ядра и в конце выводится вот такая надпись:
Цитата
List of all partitions:
No filesystem could mount root, tried: ext2 cramfs msdos vfat
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
usb0: full speed config #1: 100 mA, Ethernet Gadget, using CDC Ethernet


Где я неправ? Что может быть? sad.gif
Go to the top of the page
 
+Quote Post
slava2005
сообщение Apr 10 2008, 13:35
Сообщение #49


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 423



Цитата(igrok213 @ Apr 10 2008, 17:29) *
Проблема с той же платой sad.gif

Переменные среды:

при них он нормально грузит линукс из флеша.
Пытаюсь использовать тоже ядро, но другую корневую, для этого делаю:

После этого идёт процесс загрузки ядра и в конце выводится вот такая надпись:
Где я неправ? Что может быть? sad.gif


Элементарно smile.gif

Код
tftp 0х21100000 /tftpboot/rootfs
setenv bootcmd 'cp.b 0xD0030000 0x21500000 0x0011FD70; bootm 0x21500000'
boot


А где копирование рутфс в память ?

Тщательнее надо smile.gif
Go to the top of the page
 
+Quote Post
amw
сообщение Apr 10 2008, 13:36
Сообщение #50


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



http://electronix.ru/forum/index.php?showt...3994&st=28#


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
igrok213
сообщение Apr 10 2008, 14:18
Сообщение #51





Группа: Новичок
Сообщений: 14
Регистрация: 12-03-08
Пользователь №: 35 839



Цитата(slava2005 @ Apr 10 2008, 17:35) *
Элементарно smile.gif

Код
tftp 0х21100000 /tftpboot/rootfs
setenv bootcmd 'cp.b 0xD0030000 0x21500000 0x0011FD70; bootm 0x21500000'
boot


А где копирование рутфс в память ?

Тщательнее надо smile.gif

я думал что по tftp сразу записываю в память рутфс, а второй строкой копирую из флеша ядро и запускаю его. Разве нет?

Цитата(amw @ Apr 10 2008, 17:36) *


В ядре включена поддержка initrd и initramfs.
полный лог загрузки:
Цитата
U-Boot> boot
## Booting image at 21500000 ...
Image Name: linux-2.6.22.19
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1178928 Bytes = 1.1 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux...........................................................................
. done, booting the kernel.
Linux version 2.6.22.19 (roman@miracle) (gcc version 4.2.3 (Debian 4.2.3-3)) #2 Mon Apr 7 21:38:07 MSD 2008
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: Atmel AT91SAM9260-EK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 198 MHz, master 99 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists. Total pages: 16256
Kernel command line: mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 59392KB available (2112K code, 210K data, 108K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Generic PHY: Registered new driver
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd
Freeing initrd memory: 3072K
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) (SUMMARY) \0xc2\0xa9 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler anticipatory registered (default)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: module loaded
Davicom DM9161E: Registered new driver
Davicom DM9161A: Registered new driver
Davicom DM9131: Registered new driver
dm9000 Ethernet Driver
macb macb: detected PHY at address 0 (ID 0181:b8a0)
eth0: Atmel MACB at 0xfffc4000 irq 21 (3e:36:65:ba:6f:be)
No NAND device found!!!
usbmon: debugfs is not available
at91_ohci at91_ohci: AT91 OHCI
at91_ohci at91_ohci: new USB bus registered, assigned bus number 1
at91_ohci at91_ohci: irq 20, io mem 0x00500000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
udc: at91_udc version 3 May 2006
ether gadget: using random self ethernet address
ether gadget: using random host ethernet address
usb0: Ethernet Gadget, version: May Day 2005
usb0: using at91_udc, OUT ep2 IN ep1 STATUS ep4
usb0: MAC 82:50:d6:0b:0f:0b
usb0: HOST MAC 7e:80:e2:8e:96:62
usb0: RNDIS ready
\0x00mice: PS/2 moususbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.14 (Thu May 31 09:03:25 2007 UTC).
mmc0: card claims to support voltages below the defined range. These will be ignored.
ALSA device list:
No soundcards found.
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
RAMDISK: Couldn't find valid RAM disk image starting at 0.
List of all partitions:
No filesystem could mount root, tried: ext2 cramfs msdos vfat
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
usb0: full speed config #1: 100 mA, Ethernet Gadget, using CDC Ethernet
Go to the top of the page
 
+Quote Post
amw
сообщение Apr 10 2008, 17:12
Сообщение #52


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(igrok213 @ Apr 10 2008, 17:18) *
я думал что по tftp сразу записываю в память рутфс, а второй строкой копирую из флеша ядро и запускаю его. Разве нет?
В ядре включена поддержка initrd и initramfs.
полный лог загрузки:

Сравните с этим:
http://electronix.ru/forum/index.php?showt...3994&st=31#
Возможно ядро затирает образ корневухи. Если не ошибаюсь у Вас образ грузится почему-то ниже ядра.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
MTh
сообщение Apr 11 2008, 07:25
Сообщение #53


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Проверьте что и куда вы складываете, как правило у меня такая ошибка вываливалась когда накладывались образа ядра и ФС. )) Кроме того, ФС можно очень легко проверить на линуксе, например так:
mount -t ext2 -o loop /tftpboot/rootfs.ext2 /mnt/tmp1


Если подцепится, то проверяйте память...
Go to the top of the page
 
+Quote Post
igrok213
сообщение Apr 11 2008, 09:46
Сообщение #54





Группа: Новичок
Сообщений: 14
Регистрация: 12-03-08
Пользователь №: 35 839



Цитата(MTh @ Apr 11 2008, 11:25) *
Проверьте что и куда вы складываете, как правило у меня такая ошибка вываливалась когда накладывались образа ядра и ФС. )) Кроме того, ФС можно очень легко проверить на линуксе, например так:
mount -t ext2 -o loop /tftpboot/rootfs.ext2 /mnt/tmp1
Если подцепится, то проверяйте память...


я адресами вроде всё нормально делаю. Вываливается ошибка вида:
Цитата
boot
## Booting image at 20000000 ...
Image Name: linux-2.6.22.19
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1178928 Bytes = 1.1 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
OK
## Loading Ramdisk Image at 22000000 ...
Bad Magic Number


на большой машине образ ФС нормально монтируется, нормально работет.

Сообщение отредактировал igrok213 - Apr 11 2008, 09:47
Go to the top of the page
 
+Quote Post
amw
сообщение Apr 11 2008, 10:07
Сообщение #55


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(igrok213 @ Apr 11 2008, 12:46) *
Код
## Loading Ramdisk Image at 22000000 ...
Bad Magic Number

Вроде как для u-boot имеется какой-то формат образов специфический. uImage кажись.
Правда ли - не знаю, потомук как с u-boot не работал.

А адреса все таки перепроверте.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
starterkit
сообщение Apr 11 2008, 10:16
Сообщение #56


Частый гость
**

Группа: Участник
Сообщений: 131
Регистрация: 30-12-06
Пользователь №: 24 021



2 igrok213
можно не заморачиваться распаковыванием образа корневухи именно u-boot-ом, просто положите по 21100000 загзипленый (или бинарный, ради эксперимента) образ корневухи, все должно заработать (ядро должно само его распаковать).

Сообщение отредактировал starterkit - Apr 11 2008, 10:18


--------------------
Покупайте наших слонов!!!
Go to the top of the page
 
+Quote Post
igrok213
сообщение Apr 11 2008, 10:38
Сообщение #57





Группа: Новичок
Сообщений: 14
Регистрация: 12-03-08
Пользователь №: 35 839



Цитата(starterkit @ Apr 11 2008, 14:16) *
2 igrok213
можно не заморачиваться распаковыванием образа корневухи именно u-boot-ом, просто положите по 21100000 загзипленый (или бинарный, ради эксперимента) образ корневухи, все должно заработать (ядро должно само его распаковать).

Сейчас происходит загрузка так:
Цитата
bootcmd=cp.b 0xD0030000 0x21500000 0x0011FD70; cp.b 0xD0300000 0x21100000 0x00400000; bootm 0x21500000

т.е. между ядром и корнем получается 400кб. Мой новый корень весит 1.6Мб, запакованный. Соотвественно по эти же адресам его положить не удастся. sad.gif
Можно или ядро сдвигать, или ФС, или первое и второе. Но, я к сожалению, не могу так подобрать адреса чтобы всё это заработало sad.gif(

Цитата(amw @ Apr 11 2008, 14:07) *
Вроде как для u-boot имеется какой-то формат образов специфический. uImage кажись.
Правда ли - не знаю, потомук как с u-boot не работал.

А адреса все таки перепроверте.

Формат специфический там для ядра Linux. А вот файловая система, вроде как самая обычная.
Go to the top of the page
 
+Quote Post
starterkit
сообщение Apr 11 2008, 10:47
Сообщение #58


Частый гость
**

Группа: Участник
Сообщений: 131
Регистрация: 30-12-06
Пользователь №: 24 021



Цитата
cp.b 0xD0300000 0x21100000 0x00400000;
Вы туда "чистый" архив ложите или обработаный mkimage (если второе, то ядро не поймет такую корневуху)?


--------------------
Покупайте наших слонов!!!
Go to the top of the page
 
+Quote Post
amw
сообщение Apr 11 2008, 10:53
Сообщение #59


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(igrok213 @ Apr 11 2008, 13:38) *
Сейчас происходит загрузка так:

Распишите пожалуйста назначение адресов.
По какому адресу ядро, корневуха, сколько ОЗУ всего и размеры ядра и корневухи.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
igrok213
сообщение Apr 11 2008, 11:02
Сообщение #60





Группа: Новичок
Сообщений: 14
Регистрация: 12-03-08
Пользователь №: 35 839



Цитата(starterkit @ Apr 11 2008, 14:47) *
Вы туда "чистый" архив ложите или обработаный mkimage (если второе, то ядро не поймет такую корневуху)?

Спасибо за подсказку. Действительно до этого образ корневухи я не обрабатывал. Но даже после обработки оно пишет:
Цитата
## Loading Ramdisk Image at xxx ...
Bad Magic Number

Что ещё может быть? sad.gif
Go to the top of the page
 
+Quote Post
starterkit
сообщение Apr 11 2008, 11:04
Сообщение #61


Частый гость
**

Группа: Участник
Сообщений: 131
Регистрация: 30-12-06
Пользователь №: 24 021



Попробуйте залить по адресу 21100000 несжатый образ корневухи и статануть ядро.


--------------------
Покупайте наших слонов!!!
Go to the top of the page
 
+Quote Post
igrok213
сообщение Apr 11 2008, 11:21
Сообщение #62





Группа: Новичок
Сообщений: 14
Регистрация: 12-03-08
Пользователь №: 35 839



Цитата(amw @ Apr 11 2008, 14:53) *
Распишите пожалуйста назначение адресов.
По какому адресу ядро, корневуха, сколько ОЗУ всего и размеры ядра и корневухи.


Значит так:
с такими параметрами грузится ядро с флеша и корень, что там сейчас лежит:
Цитата
bootcmd=cp.b 0xD0030000 0x21500000 0x0011FD70; cp.b 0xD0300000 0x21100000 0x00400000; bootm 0x21500000


Далее я выполняю:
Цитата
tftp 0х31100000 /tftpboot/fsImage

где fsImage получено при помощи mkimage:
Цитата
.../u-boot/mkimage-u-boot/mkimage -A arm -O linux -C gzip -T ramdisk -a 0x20288000 -d /tftpboot/rootfs.arm.ext2.gz /tftpboot/fsImage


После этого ставлю переменные вот так:
Цитата
setenv bootcmd 'cp.b 0xD0030000 0x20000000 0x0011FD70; bootm 0x20000000 0x31100000'

Чтобы ядро скопировалось из 0xD0030000 (флеш) в 0x20000000 (память). Далее bootm 0x20000000 0x31100000, чтобы ядро загрузилось и подхватило корневую ФС.

После чего запускаю boot и вижу:
Цитата
U-Boot> boot
## Booting image at 20000000 ...
Image Name: linux-2.6.22.19
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1178928 Bytes = 1.1 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
OK
## Loading Ramdisk Image at 31100000 ...
Bad Magic Number


Корень нормально работает на большой машине. Вернее работал до применения mkimage.
Соотвественно размеры ядра - 0x0011FD70
Размеры fsImage, т.е. пожатого корня, после использования mkimage - 2330317
Всего памяти - 64Мб.
Go to the top of the page
 
+Quote Post
starterkit
сообщение Apr 11 2008, 11:35
Сообщение #63


Частый гость
**

Группа: Участник
Сообщений: 131
Регистрация: 30-12-06
Пользователь №: 24 021



Чего то я не понимаю, ядро ищет корневуху по 21100000 (из предыдущего лога), а Вы ее распаковываете с помощью u-boot по адресу 0x20288000 ...
Возьмите rootfs.arm.ext2.gz (!!!без обработкти mkimage!!!) (а лучше просто rootfs.arm.ext2) и положите по адресу 21100000, после загрузите ядро (пусть по 20400000) и запустите bootm 20400000

Сообщение отредактировал starterkit - Apr 11 2008, 11:36


--------------------
Покупайте наших слонов!!!
Go to the top of the page
 
+Quote Post
igrok213
сообщение Apr 11 2008, 11:58
Сообщение #64





Группа: Новичок
Сообщений: 14
Регистрация: 12-03-08
Пользователь №: 35 839



Цитата(starterkit @ Apr 11 2008, 15:35) *
Чего то я не понимаю, ядро ищет корневуху по 21100000 (из предыдущего лога), а Вы ее распаковываете с помощью u-boot по адресу 0x20288000 ...
Возьмите rootfs.arm.ext2.gz (!!!без обработкти mkimage!!!) (а лучше просто rootfs.arm.ext2) и положите по адресу 21100000, после загрузите ядро (пусть по 20400000) и запустите bootm 20400000

сделал. получил:
Цитата
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 108K
EXT2-fs error (device ram0): ext2_check_page: bad entry in directory #80: rec_len is smaller than minimal - offset=0, inode=0, rec_len=0, name_len=0
Warning: unable to open an initial console.
EXT2-fs error (device ram0): ext2_check_page: bad entry in directory #217: rec_len is smaller than minimal - offset=0, inode=0, rec_len=0, name_len=0
Kernel panic - not syncing: No init found. Try passing init= option to kernel.
usb0: full speed config #1: 100 mA, Ethernet Gadget, using CDC Ethernet
Go to the top of the page
 
+Quote Post
starterkit
сообщение Apr 11 2008, 12:24
Сообщение #65


Частый гость
**

Группа: Участник
Сообщений: 131
Регистрация: 30-12-06
Пользователь №: 24 021



Вот, видно что то не то с самой корневой, попробуйте "полечить" образ подмонтировав его на хосте.
Ради эксперимента, вот мой образ корневой системы ...

Еще, у Вас размер памяти под initrd выдан 3М, а копируете все 4M, размер самой корневой ФС должен быть меньше выделяемой области ...
Прикрепленные файлы
Прикрепленный файл  rootfs.rar ( 1.62 мегабайт ) Кол-во скачиваний: 73
 


--------------------
Покупайте наших слонов!!!
Go to the top of the page
 
+Quote Post
igrok213
сообщение Apr 11 2008, 12:34
Сообщение #66





Группа: Новичок
Сообщений: 14
Регистрация: 12-03-08
Пользователь №: 35 839



Цитата(starterkit @ Apr 11 2008, 16:24) *
Вот, видно что то не то с самой корневой, попробуйте "полечить" образ подмонтировав его на хосте.
Ради эксперимента, вот мой образ корневой системы ...

Еще, у Вас размер памяти под initrd выдан 3М, а копируете все 4M, размер самой корневой ФС должен быть меньше выделяемой области ...

Спасибо. Сейчас покажу что получилось:
Цитата
tftp 21100000 /tftpboot/rootfs
setenv bootcmd 'cp.b 0xD0030000 20400000 0x0011FD70; bootm 20400000'
boot

Копирую ваш корень в память по адресу:21100000, далее запускаю своё ядро из 20400000.
получаю:
Цитата
U-Boot> boot
## Booting image at 20400000 ...
Image Name: linux-2.6.22.19
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1178928 Bytes = 1.1 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux...........................................................................
. done, booting the kernel.
Linux version 2.6.22.19 (roman@miracle) (gcc version 4.2.3 (Debian 4.2.3-3)) #2 Mon Apr 7 21:38:07 MSD 2008
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: Atmel AT91SAM9260-EK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 198 MHz, master 99 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists. Total pages: 16256
Kernel command line: mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 59392KB available (2112K code, 210K data, 108K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Generic PHY: Registered new driver
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Freeing initrd memory: 3072K
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) (SUMMARY) \0xc2\0xa9 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler anticipatory registered (default)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: module loaded
Davicom DM9161E: Registered new driver
Davicom DM9161A: Registered new driver
Davicom DM9131: Registered new driver
dm9000 Ethernet Driver
macb macb: detected PHY at address 0 (ID 0181:b8a0)
eth0: Atmel MACB at 0xfffc4000 irq 21 (3e:36:65:ba:6f:be)
No NAND device found!!!
usbmon: debugfs is not available
at91_ohci at91_ohci: AT91 OHCI
at91_ohci at91_ohci: new USB bus registered, assigned bus number 1
at91_ohci at91_ohci: irq 20, io mem 0x00500000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
udc: at91_udc version 3 May 2006
ether gadget: using random self ethernet address
ether gadget: using random host ethernet address
usb0: Ethernet Gadget, version: May Day 2005
usb0: using at91_udc, OUT ep2 IN ep1 STATUS ep4
usb0: MAC 2a:64:48:da:ce:a0
usb0: HOST MAC fa:42:8d:96:9c:ac
usb0: RNDIS ready
\0x00mice: PS/2 moususbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.14 (Thu May 31 09:03:25 2007 UTC).
mmc0: card claims to support voltages below the defined range. These will be ignored.
ALSA device list:
No soundcards found.
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
RAMDISK: Compressed image found at block 0
usb0: full speed config #1: 100 mA, Ethernet Gadget, using CDC Ethernet
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 108K

после этого всё виснет.

Получается что я ядро криво собрал? sad.gif
Go to the top of the page
 
+Quote Post
starterkit
сообщение Apr 11 2008, 12:40
Сообщение #67


Частый гость
**

Группа: Участник
Сообщений: 131
Регистрация: 30-12-06
Пользователь №: 24 021



Странно конечно, что мой бузибокс весит Вашу систему ...
Попробуйте подмонтировать на хосте мой rootfs и замените бузибокс (если чонечно Ваш init на него ссылается), так же проследите за тем чтоб Ваш бузибокс был собран статически ну или в противном случае прийдется и либы в коневуху ложить.

Сообщение отредактировал starterkit - Apr 11 2008, 12:41


--------------------
Покупайте наших слонов!!!
Go to the top of the page
 
+Quote Post
igrok213
сообщение Apr 11 2008, 12:53
Сообщение #68





Группа: Новичок
Сообщений: 14
Регистрация: 12-03-08
Пользователь №: 35 839



Цитата(starterkit @ Apr 11 2008, 16:40) *
Странно конечно, что мой бузибокс весит Вашу систему ...
Попробуйте подмонтировать на хосте мой rootfs и замените бузибокс (если чонечно Ваш init на него ссылается), так же проследите за тем чтоб Ваш бузибокс был собран статически ну или в противном случае прийдется и либы в коневуху ложить.

А можно про init поподробнее? Я свой корень собирал при помощи это штуки: http://buildroot.uclibc.org/
Go to the top of the page
 
+Quote Post
starterkit
сообщение Apr 11 2008, 14:12
Сообщение #69


Частый гость
**

Группа: Участник
Сообщений: 131
Регистрация: 30-12-06
Пользователь №: 24 021



init это первое приложение запускаемое системой при старте, как правило, во встраиваемых системах используется busybox - одно приложение включающее в себя целую тучу утилит, init может быть однтим из апплетов busybox, подмонтируйте Вашу корневуху и посмотрите что из себя представляет init, если это ссылка на /bin/busybox, попробуйте скопировать Ваш бузибокс в мою корневуху. Так же обратите внимание на то что лкжит в /lib Вашей корневухи.


--------------------
Покупайте наших слонов!!!
Go to the top of the page
 
+Quote Post
MTh
сообщение Apr 11 2008, 16:28
Сообщение #70


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Цитата(igrok213 @ Apr 11 2008, 14:02) *
Спасибо за подсказку. Действительно до этого образ корневухи я не обрабатывал. Но даже после обработки оно пишет:

Что ещё может быть? sad.gif


Накладываются образа... BAD Magic Number - плохое "магическое" число - признак того что образ поврежден. ))

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

Второе (уже не имеющее отношения к плохому магическому числу), после того как подмонтировали образ в корне должно быть один (два) файла... В /bin должен быть busybox... и большая часть исполняемых файлов ссылаются на него... Не забывайте также, что образа разворачиваются в памяти wink.gif

Сообщение отредактировал MTh - Apr 11 2008, 16:30
Go to the top of the page
 
+Quote Post
amw
сообщение Apr 11 2008, 19:44
Сообщение #71


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(starterkit @ Apr 11 2008, 17:12) *
init это первое приложение запускаемое системой при старте, как правило, во встраиваемых системах используется busybox - одно приложение включающее в себя целую тучу утилит, init может быть однтим из апплетов busybox, подмонтируйте Вашу корневуху и посмотрите что из себя представляет init, если это ссылка на /bin/busybox, попробуйте скопировать Ваш бузибокс в мою корневуху. Так же обратите внимание на то что лкжит в /lib Вашей корневухи.

Код
Должен быть:
/bin/busybox
/bin/init -> /bin/busybox
/bin/sh -> /bin/busybox
/dev/ram0
/dev/console
/dev/null
/dev/ttyS0
/etc/inittab

Это как минимум.
В /etc/inittab запишите одну строку типа
Код
ttyS0::respawn:/bin/sh

После загрузки должно появиться приглашение shell.
Эир если с самим файлом корнвухи все в порядке и busybox слинкован статически.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
MTh
сообщение Apr 15 2008, 23:19
Сообщение #72


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 28-02-06
Из: Иркутск
Пользователь №: 14 771



Цитата(igrok213 @ Apr 11 2008, 15:53) *
А можно про init поподробнее? Я свой корень собирал при помощи это штуки: http://buildroot.uclibc.org/

buildroot 20080317
gcc 4.2.1
linux 2.6.22.10

Вот полный список всего что есть в дирректории:
Код
binutils-2.18.tar.bz2
busybox-1.9.1.tar.bz2
dbus-1.1.1.tar.gz
fakeroot_1.9.3.tar.gz
gcc-4.2.1.tar.bz2
genext2fs-1.4.tar.gz
gettext-0.16.1.tar.gz
glib-2.15.4.tar.bz2
gmp-4.2.2.tar.bz2
libtool-1.5.24.tar.gz
libusb_0.1.12-9.diff.gz
libusb_0.1.12.orig.tar.gz
libxml2-sources-2.6.29.tar.gz
linux-2.6.22.10.tar.bz2
module-init-tools-3.2.2.tar.bz2
mpfr-2.3.0.patch
mpfr-2.3.0.tar.bz2
nano-1.3.12.tar.gz
ncurses-5.6.tar.gz
openssh-4.6p1.tar.gz
openssl-0.9.7m.tar.gz
pkg-config-0.21.tar.gz
startup-notification-0.9.tar.gz
sysfsutils-2.1.0.tar.gz
sysklogd-1.4.1.tar.gz
sysvinit-2.86.tar.gz
tftp-hpa-0.40.tar.bz2
u-boot-1.2.0-atmel-patch.tar.bz2
u-boot-1.2.0-atmel.tar.bz2
uClibc-0.9.29.tar.bz2
uClibc-locale-030818.tgz
udev-114.tar.bz2
usbutils-0.72.tar.gz
zlib-1.2.3.tar.bz2


Там есть пара фатальных ошибок в buildroot'e... потому есть дока по сборке (см аттач)... в ней только самое необходимое... и конфиги )) Для того что делали мы... И еще один момент, почитайте доки в buildroot'e - помогает во многом. ))

Большинство форумчан кто собирает линукс для АРМа, как я понял, не пользуются buildroot'ами... Там вроде все не сложнее, но я не пробовал...
Прикрепленные файлы
Прикрепленный файл  buildroot_assembly.tar.gz ( 51.24 килобайт ) Кол-во скачиваний: 47
 
Go to the top of the page
 
+Quote Post
igrok213
сообщение Apr 17 2008, 09:32
Сообщение #73





Группа: Новичок
Сообщений: 14
Регистрация: 12-03-08
Пользователь №: 35 839



Цитата(amw @ Apr 11 2008, 23:44) *
Код
Должен быть:
/bin/busybox
/bin/init -> /bin/busybox
/bin/sh -> /bin/busybox
/dev/ram0
/dev/console
/dev/null
/dev/ttyS0
/etc/inittab

Это как минимум.
В /etc/inittab запишите одну строку типа
Код
ttyS0::respawn:/bin/sh

После загрузки должно появиться приглашение shell.
Эир если с самим файлом корнвухи все в порядке и busybox слинкован статически.

у меня не получилось с такими настройками завести корневуху.
Есть подозрение что она криво собирается buildroot`ом.


Цитата(MTh @ Apr 16 2008, 03:19) *
buildroot 20080317
gcc 4.2.1
linux 2.6.22.10

Вот полный список всего что есть в дирректории:
Код
binutils-2.18.tar.bz2
busybox-1.9.1.tar.bz2
dbus-1.1.1.tar.gz
fakeroot_1.9.3.tar.gz
gcc-4.2.1.tar.bz2
genext2fs-1.4.tar.gz
gettext-0.16.1.tar.gz
glib-2.15.4.tar.bz2
gmp-4.2.2.tar.bz2
libtool-1.5.24.tar.gz
libusb_0.1.12-9.diff.gz
libusb_0.1.12.orig.tar.gz
libxml2-sources-2.6.29.tar.gz
linux-2.6.22.10.tar.bz2
module-init-tools-3.2.2.tar.bz2
mpfr-2.3.0.patch
mpfr-2.3.0.tar.bz2
nano-1.3.12.tar.gz
ncurses-5.6.tar.gz
openssh-4.6p1.tar.gz
openssl-0.9.7m.tar.gz
pkg-config-0.21.tar.gz
startup-notification-0.9.tar.gz
sysfsutils-2.1.0.tar.gz
sysklogd-1.4.1.tar.gz
sysvinit-2.86.tar.gz
tftp-hpa-0.40.tar.bz2
u-boot-1.2.0-atmel-patch.tar.bz2
u-boot-1.2.0-atmel.tar.bz2
uClibc-0.9.29.tar.bz2
uClibc-locale-030818.tgz
udev-114.tar.bz2
usbutils-0.72.tar.gz
zlib-1.2.3.tar.bz2


Там есть пара фатальных ошибок в buildroot'e... потому есть дока по сборке (см аттач)... в ней только самое необходимое... и конфиги )) Для того что делали мы... И еще один момент, почитайте доки в buildroot'e - помогает во многом. ))

Большинство форумчан кто собирает линукс для АРМа, как я понял, не пользуются buildroot'ами... Там вроде все не сложнее, но я не пробовал...


я добился чтобы у меня всё собиралось. Но есть подозрения что собранная ФС, некорректна для запуска билдрутом. sad.gif

Цитата(starterkit @ Apr 11 2008, 16:24) *
Вот, видно что то не то с самой корневой, попробуйте "полечить" образ подмонтировав его на хосте.
Ради эксперимента, вот мой образ корневой системы ...

Еще, у Вас размер памяти под initrd выдан 3М, а копируете все 4M, размер самой корневой ФС должен быть меньше выделяемой области ...

получилось запустить вашу ФС, огромное спасибо!!! Такой вопрос: а чем она была собрана? smile.gif
Go to the top of the page
 
+Quote Post

5 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 13:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.02432 секунд с 7
ELECTRONIX ©2004-2016