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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> AT91RM9200 + Angstron linux, консоль?
Dron_Gus
сообщение Oct 18 2008, 11:43
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Собрал сабжевый линух. Собрал ядро. Залил rootfs на внешний винт. Подключил его к rainbow. Ядро загружается, монтирует корневой раздел и останавливается на Freeing init memory: 100K. Явно не зватает записи в inittab для запуска консоли. Может кто добрый подкинет свой inittab?

Собственно лог:

Код
...
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 0xfffc4000 (irq = 7) is a ATMEL_SERIAL
usbcore: registered new interface driver ub
eth0: Link now 100-FullDuplex
eth0: AT91 ethernet at 0xfefbc000 int=24 100-FullDuplex (12:23:34:45:56:67)
eth0: Micrel KS8721 PHY
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
Driver 'sd' needs updating - please use bus_type methods
SCSI Media Changer driver v0.25
Driver 'ch' needs updating - please use bus_type methods
physmap platform flash device: 00200000 at 10000000
physmap-flash physmap-flash.0: map_probe failed
at91_cf: irqs det #64, io #0
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 23, io mem 0x00300000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usb usb1: Product: AT91 OHCI
usb usb1: Manufacturer: Linux 2.6.24-gentoo-r4 ohci_hcd
usb usb1: SerialNumber: at91
Initializing USB Mass Storage driver...
usb 1-1: new full speed USB device using at91_ohci and address 2
usb 1-1: configuration #1 chosen from 1 choice
usb 1-1: Product: USB to ATA/ATAPI Bridge
usb 1-1: Manufacturer: JMicron
usb 1-1: SerialNumber: 222222222222
usb 1-2: new low speed USB device using at91_ohci and address 3
usb 1-2: device descriptor read/64, error -62
usb 1-2: device descriptor read/64, error -62
usb 1-2: new low speed USB device using at91_ohci and address 4
usb 1-2: device descriptor read/64, error -62
usb 1-2: device descriptor read/64, error -62
usb 1-2: new low speed USB device using at91_ohci and address 5
usb 1-2: device not accepting address 5, error -62
usb 1-2: new low speed USB device using at91_ohci and address 6
usb 1-2: device not accepting address 6, error -62
scsi0 : SCSI emulation for USB Mass Storage devices
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
udc: at91_udc version 3 May 2006
mice: PS/2 mouse device common for all mice
at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc0
AT91 Real Time Clock driver.
i2c /dev entries driver
AT91 Watchdog Timer enabled (5 seconds, nowayout)
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
at91_rtc at91_rtc: setting system clock to 1998-01-01 00:00:17 UTC (883612817)
Waiting 20sec before mounting root device...
scsi 0:0:0:0: Direct-Access     Maxtor 2 X3JE             1PB0 PQ: 0 ANSI: 2 CCS
sd 0:0:0:0: [sda] 39102336 512-byte hardware sectors (20020 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] 39102336 512-byte hardware sectors (20020 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1
sd 0:0:0:0: [sda] Attached SCSI disk
sd 0:0:0:0: Attached scsi generic sg0 type 0
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 100K


А вот мой inittab:

Код
# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $

# The default runlevel.
id:5:initdefault:

# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (- B) mode.
si::sysinit:/etc/init.d/rcS

# What to do in single-user mode.
~~:S:wait:/sbin/sulogin

# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.

l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin
S:2345:respawn:/sbin/getty 115200 ttyS0


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
dch
сообщение Oct 19 2008, 19:50
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



вообщето, она помоему сначала пишет что запускает INIT - такое слово в листинге вроде было.
В архиве http://ucrouter.ru/download/EVM9200-linux-2.4.19-rmk.bin.tgz лежит файл initrd.ext2,
в нем есть иниттаб. Под линуксов замонтируйете через loopback и вытащите файлец от туда.

Сообщение отредактировал dch - Oct 19 2008, 19:52
Go to the top of the page
 
+Quote Post
MTh
сообщение Oct 20 2008, 00:40
Сообщение #3


Местный
***

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



Так вот строчка которая вешает прогу для работы с ком-портом:
S:2345:respawn:/sbin/getty 115200 ttyS0

Так что дело не файле настроек.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Oct 20 2008, 10:19
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



2 dch, спасибо, гляну. Как я не догадался. sad.gif

2 MTh, меня смущает комментарий "# Normally not reached, but fallthrough in case of emergency." перед двумя последними строками. Я не очень силен в линуксе, поэтому не совсем осознаю как же выполняется inittab.

В чем еще может быть проблемма?


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
Alex03
сообщение Oct 24 2008, 09:59
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



Может не в тему, но иногда очень полезна опция ядра init=xxxx, типа:
init=/bin/bash
Go to the top of the page
 
+Quote Post
amw
сообщение Oct 24 2008, 14:11
Сообщение #6


Знающий
****

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



Цитата(Dron_Gus @ Oct 18 2008, 14:43) *
Собственно лог:

Ээмммм.... А в начале лога есть такое
Код
Kernel command line blah blah blah blah blah

??

У Вас тама что полновесный дистриб? Не на базе busybox?
Для busybox inittab будет немного не такой.
К тому же
Код
[quote]
id:5:initdefault:
[/quote]

Там и X11 есть?

Если ожидаете консоль на последовательном порту то в конфиге ядра задайте что-то вроде
Код
CONFIG_CMDLINE="... console=ttyS0,115200 ..."

Троеточия это место для того, что там у Вас уже написано. Возможно ничего.


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


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Спасибо за комментарии. Попытаюсь разобраться. Пока ковыряю romboot на предмет правильной настройки таймингов для памяти.

Дистрибьютив полновесный.

X11 нет.

Полную строку ядра выложу позже.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Oct 29 2008, 20:58
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Поковырялся тут. init=/bin/bash не особо помогает. Собрал ванильное ядро. Все заканчивается на примерно том же.



Freeing init memory: 116K<CR><LF>
Kernel panic - not syncing: Attempted to kill init!



Полный лог в приложении.



Строка ядра 'mem=32M console=ttyS0,115200 root=/dev/sda1 rootdelay=15 debug'



В чем может быть проблемма?
Прикрепленные файлы
Прикрепленный файл  log_asc.txt ( 13.42 килобайт ) Кол-во скачиваний: 124
 


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Nov 1 2008, 14:29
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Одну из проблемм выявил и решил. Angstrom собирается EABI, а в ядре я это не включил. Ну и thumb тоже надо включить. В итоге плата даже 1 раз завелась и выплюнула консоль. Я ее немного помучал и решил подкрутить ядро на предмет езернета. И все. Опять те же симптомы. sad.gif


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
dch
сообщение Nov 1 2008, 22:56
Сообщение #10


Профессионал
*****

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



Цитата(Dron_Gus @ Nov 1 2008, 17:29) *
Опять те же симптомы. sad.gif

так консоль появилась или нет ?
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Nov 2 2008, 09:41
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Нет. Через некоторое время после Freeing init memory: 116K вываливается Kernel panic - not syncing: Attempted to kill init! sad.gif

Я уже начинаю думать, что, может быть, это связанно с тем что у меня квварц 12 МГц, а не 18.432... Но вроде как все подрихтовал в этом плане. Вообщем затык.
Прикрепленные файлы
Прикрепленный файл  rm9200_panic.txt ( 10.61 килобайт ) Кол-во скачиваний: 227
 


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Nov 2 2008, 12:43
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Вообще фигня какая-то. У меня на плате стоит 64 метра СДРАМа. Использовал пока только 32 (т.е. и ядру передавал mem=32M). Думал завести хоть как-то, а уж потом довести до ума. При этом romboot инициализировал всю память и настраивал нормально. Вообщем в качестве эксперимента передал ядру mem=64M. Завелось. И не паникует. Только консоли все равно нет. Но хоть на внешние раздражители реагирует (при выдергивании флешки с rootfs начинает кричать) smile.gif

Update:

Вот он мой баг http://freshmeat.net/projects/busybox/?bra...lease_id=287401 . Только что дальше делать все равно не представляю....


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
amw
сообщение Nov 3 2008, 15:02
Сообщение #13


Знающий
****

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



Цитата(Dron_Gus @ Nov 2 2008, 11:41) *
Нет. Через некоторое время после Freeing init memory: 116K вываливается Kernel panic - not syncing: Attempted to kill init! sad.gif

Я уже начинаю думать, что, может быть, это связанно с тем что у меня квварц 12 МГц, а не 18.432... Но вроде как все подрихтовал в этом плане. Вообщем затык.

Что-то не понял про консоль. Она есть или ее нет.
Цитата
Вот он мой баг http://freshmeat.net/projects/busybox/?bra...lease_id=287401 . Только что дальше делать все равно не представляю....

Это ссылка busybox. Выше Вы утверждали что у Вас там не он. И где тут баг?
Если все таки busybox - скомпилируйте его статически.
Если нет - смотрите, есть ли ВСЕ нужные динамические бибилиотеки на корневухе.
Для надежности положите их все в /lib.


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


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Извиняюсь, если я не так выразился. Сам только осваиваю...

Дистрибьютив на базе бизибокса.
То, что я пока смог выяснить по пунктам:
1) ядро рабочее. с образом рутфс (рамдиск) от рэйнбоу запускается и работает. можно даже воткнуть флешку с рутфс от Ангстрома и chroot'нуться туда. Что-нибудь поделать, позапускать проги. Т.е. вроде как, компилируется правильно.
2) если ядру передавать строчку init=/bin/sh root=/dev/sda1 то ядро падает в кернел паник. Из этого сделал вывод про этот баг (http://freshmeat.net/projects/busybox/?bra...lease_id=287401)
3) если ядру не передавать init=..., но с root=/dev/sda1 то все грузится, но не опявляется приглашения залогиниться и на консоль не реагирует. Но реагирует на втыкание новых УСБ-устройств.

Сейчас проверю как оно скомпилировано сейчас...
Предложение скомпилировать бизибокс статически. Я только за. Но, боюсь, не смогу это сделать правильно. Вся система собирается bitbake'ом. Система сама на основе скриптов собирает все необходимые (и дополнительные) пакеты. Разобраться в скриптах мне не хватит знаний.

За работоспособность такой системы говорит то, что абсолютно аналогичная система собранная для at91sam9260 на at91sam9260 рабочая. Все, что я сделал это подправил конфиг от at91sam9260, поменяв ядро arm926 на arm920.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
dch
сообщение Nov 3 2008, 17:24
Сообщение #15


Профессионал
*****

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



а где вы этот дистрибутив ? Чтото захотелось посмотреть и компильнуть.
Когдато было что подобное - я просто посмотрел по текстам где выдается собщение:

Attempted to kill init!

симпли не помню что там было, но у Вас на первый взляд файловая система находится
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Nov 3 2008, 17:30
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



http://www.angstrom-distribution.org/ описалово все только в виде страниц в WiKi. Если у вас получится нормально компильнуть - сообщите.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Nov 3 2008, 22:46
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Цитата(amw @ Nov 3 2008, 18:02) *
Если все таки busybox - скомпилируйте его статически.

Скомпилировал. Выросла до 1.6 Мб. Результат все тот же Kernel panic - not syncing: Attempted to kill init!

Цитата(dch @ Nov 3 2008, 20:24) *
Когдато было что подобное - я просто посмотрел по текстам где выдается собщение:

Посмотрел ядро на предмет этого текста - вываливается, когда завершается процес init. Глубже копнуть не хватает опыьа sad.gif


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 3 2008, 23:47
Сообщение #18


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Dron_Gus @ Nov 4 2008, 02:46) *
Посмотрел ядро на предмет этого текста - вываливается, когда завершается процес init. Глубже копнуть не хватает опыьа sad.gif
В чем фишка данного дистрибутива? Для каких задач он подходит и каковы его возможности? Хотя я это могу на офсайте почитать, просто инетересно мнение того кто реально хочет применить... smile.gif
Может и я тоже опробую...


--------------------
Go to the top of the page
 
+Quote Post
amw
сообщение Nov 4 2008, 08:52
Сообщение #19


Знающий
****

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



Цитата(Dron_Gus @ Nov 4 2008, 00:46) *
Скомпилировал. Выросла до 1.6 Мб. Результат все тот же Kernel panic - not syncing: Attempted to kill init!

ОК. Пока так и оставте.
Если root=/dev/sda1 то
1. Убедитесь, что на этом самом /dev/sda1 есть /bin/busybox
2. Убедитесь что /bin/init ссылка на /bin/busybox.
3. Убедитесь что /bin/sh ссылка на /bin/busybox.
4. Видимо это должно быть первым smile.gif. А какя ФС на /dev/sda1? Надеюсь не FAT. Она не поддерживает ссылки.
5. Если не помогает и/или если ФС - FAT попробуйте такое:
- задайте в командной строке init=/bin/busybox
- Перезагрузите.
- Если с busybox все ОК, то вы увидите что-то типа
Код
BusyBox v1.10.2 (Debian 1:1.10.2-2) multi-call binary
Copyright (C) 1998-2007 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.

Usage: busybox [function] [arguments]...
   or: function [arguments]...

        BusyBox is a multi-call binary that combines many common Unix
        utilities into a single executable.  Most people will create a
        link to busybox for each function they wish to use and BusyBox
        will act like whatever it was invoked as!

Currently defined functions:
        [, [[, adjtimex, arping, ash, awk, basename, brctl, bunzip2, bzcat, bzip2, cal, cat, chgrp, chmod, chown, chroot,
        chvt, clear, cmp, cp, cpio, cut, date, dc, dd, deallocvt, df, dirname, dmesg, dos2unix, du, dumpkmap, echo,
        egrep, env, expr, false, fgrep, find, fold, free, ftpget, ftpput, getopt, grep, gunzip, gzip, head, hexdump,
        hostid, hostname, httpd, id, ifconfig, ip, ipcalc, kill, killall, klogd, last, length, ln, loadfont, loadkmap,
        logger, logname, logread, losetup, ls, lzmacat, md5sum, mkdir, mkfifo, mknod, mktemp, more, mount, mt, mv, nameif,
        nc, netstat, nslookup, od, openvt, patch, pidof, ping, ping6, printf, ps, pwd, rdate, readlink, realpath, renice,
        reset, rm, rmdir, route, rpm, rpm2cpio, run-parts, sed, setkeycodes, sh, sha1sum, sleep, sort, start-stop-daemon,
        strings, stty, swapoff, swapon, sync, sysctl, syslogd, tac, tail, tar, tee, telnet, test, tftp, time, top, touch,
        tr, traceroute, true, tty, umount, uname, uncompress, uniq, unix2dos, unlzma, unzip, uptime, usleep, uudecode,
        uuencode, vi, watch, watchdog, wc, wget, which, who, whoami, xargs, yes, zcat

Естественно, что busybox завершится и будет Kernel panic. Но если вы увидите такое сообщение, то вероятно у Вас либо FAT (нет симлинка /bin/sh на /bin/busybox), либо нет shell по умолчанию в конфигурации busybox. Или может нет самого /bin/init.
В случае busybox у Вас по идее будет один исполняемый файл - /bin/busybox, а все остальное симлинки на него.

Цитата
Посмотрел ядро на предмет этого текста - вываливается, когда завершается процес init. Глубже копнуть не хватает опыьа sad.gif

Это нормальное поведение когда завершается init. В нормальных условиях такого быть не может. Если init завершился (не важно по какой причине - ошибка или его убили вручную, или невозможно его запустить) то Kernel panic. init не может завершится. Он должен работать всегда.


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


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



2 AVR, фишка данного дистра в простоте установки (как я надеялся). Ну и в наличии большого количества пакетов в виде готовых скриптов для установки. Типа не надо качать, патчить, собирать. Все делается автоматом.



Цитата(amw @ Nov 4 2008, 11:52) *
ОК. Пока так и оставте.
Если root=/dev/sda1 то
1. Убедитесь, что на этом самом /dev/sda1 есть /bin/busybox
2. Убедитесь что /bin/init ссылка на /bin/busybox.
3. Убедитесь что /bin/sh ссылка на /bin/busybox.
4. Видимо это должно быть первым smile.gif . А какя ФС на /dev/sda1? Надеюсь не FAT. Она не поддерживает ссылки.
5. Если не помогает и/или если ФС - FAT попробуйте такое:
- задайте в командной строке init=/bin/busybox
- Перезагрузите.
- Если с busybox все ОК, то вы увидите что-то типа

Естественно, что busybox завершится и будет Kernel panic. Но если вы увидите такое сообщение, то вероятно у Вас либо FAT (нет симлинка /bin/sh на /bin/busybox), либо нет shell по умолчанию в конфигурации busybox. Или может нет самого /bin/init.
В случае busybox у Вас по идее будет один исполняемый файл - /bin/busybox, а все остальное симлинки на него.


1. +

2. -

ls /sbin/ -l

lrwxrwxrwx 1 1000 1000 19 Nov 4 2008 init -> /sbin/init.sysvinit
-rwxr-xr-x 1 1000 1000 27496 Nov 1 2008 init.sysvinit
В /bin/ init'а нет.

3.

ls /bin -l

lrwxrwxrwx 1 root root 7 Jan 1 00:06 sh -> busybox

4. ext2

5. Kernel panic - not syncing: Attempted to kill init!

Хм... Я в этой жини чего-то не понимаю.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
amw
сообщение Nov 4 2008, 13:32
Сообщение #21


Знающий
****

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



Цитата(Dron_Gus @ Nov 4 2008, 13:34) *
1. +

2. -

ls /sbin/ -l

lrwxrwxrwx 1 1000 1000 19 Nov 4 2008 init -> /sbin/init.sysvinit
-rwxr-xr-x 1 1000 1000 27496 Nov 1 2008 init.sysvinit
В /bin/ init'а нет.

А что такое /sbin/init.sysvinit ?
Самостоятельный исполняемый файл? Или скрипт?
Если исполняемый (в смысле полученный компиляцией из *.c файла) то либо его скомпилить статически либо положыть нужные ему либы в /lib
Цитата
3.

ls /bin -l

lrwxrwxrwx 1 root root 7 Jan 1 00:06 sh -> busybox

4. ext2


Цитата
5. Kernel panic - not syncing: Attempted to kill init!

Хм... Я в этой жини чего-то не понимаю.

??
Если не передавать ядру init=blah-blah-blah то исполняется штатный init.
init - это процесс, который делает все в системе, кроме того, что делает ядро. Он должен работать все время, пока не выключится питание.

Потому как все равно "Kernel panic - not syncing: Attempted to kill init!" то нужно разобраться с этим init.
Вот теперь, когда busybox статический попробуйте init=/bin/sh

И убедитесь, что busybox таки статический.
Код
arm-как-там-у вас-readelf -d busybox

Если есть что-то типа
Код
Dynamic section at offset 0xb92d8 contains 23 entries:
  Tag        Type                         Name/Value
0x0000000000000001 (NEEDED)             Shared library: [libncurses.so.5]
0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
0x000000000000000c (INIT)               0x41b260
0x000000000000000d (FINI)               0x490234
0x0000000000000004 (HASH)               0x400240
0x000000006ffffef5 (GNU_HASH)           0x4030d0
0x0000000000000005 (STRTAB)             0x411b18
0x0000000000000006 (SYMTAB)             0x406490
0x000000000000000a (STRSZ)              30183 (bytes)
0x000000000000000b (SYMENT)             24 (bytes)
0x0000000000000015 (DEBUG)              0x0
0x0000000000000003 (PLTGOT)             0x6b94a0
0x0000000000000002 (PLTRELSZ)           4344 (bytes)
0x0000000000000014 (PLTREL)             RELA
0x0000000000000017 (JMPREL)             0x41a168
0x0000000000000007 (RELA)               0x41a0a8
0x0000000000000008 (RELASZ)             192 (bytes)
0x0000000000000009 (RELAENT)            24 (bytes)
0x000000006ffffffe (VERNEED)            0x41a038
0x000000006fffffff (VERNEEDNUM)         2
0x000000006ffffff0 (VERSYM)             0x419100
0x0000000000000000 (NULL)               0x0

значит он не статический.
Проверте то-же и для /sbin/init
Для статических будет такое
Код
arm-как-там-у вас-readelf -d busybox

There is no dynamic section in this file.


Сообщение отредактировал amw - Nov 4 2008, 13:47


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


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Цитата(amw @ Nov 4 2008, 16:32) *
А что такое /sbin/init.sysvinit ?
Самостоятельный исполняемый файл? Или скрипт?


Самостоятельный исполняемый.

Код
arm-angstrom-linux-gnueabi-readelf -d busybox
There is no dynamic section in this file.

Код
arm-angstrom-linux-gnueabi
-readelf -d init.sysvinit
Dynamic section at offset 0x6184 contains 24 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x0000000c (INIT) 0x93f8
0x0000000d (FINI) 0xd874
0x00000019 (INIT_ARRAY) 0x16178
0x0000001b (INIT_ARRAYSZ) 4 (bytes)
0x0000001a (FINI_ARRAY) 0x1617c
0x0000001c (FINI_ARRAYSZ) 4 (bytes)
0x00000004 (HASH) 0x8148
0x00000005 (STRTAB) 0x8cb0
0x00000006 (SYMTAB) 0x8620
0x0000000a (STRSZ) 811 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x1626c
0x00000002 (PLTRELSZ) 768 (bytes)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x90f8
0x00000011 (REL) 0x90d0
0x00000012 (RELSZ) 40 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffe (VERNEED) 0x90b0
0x6fffffff (VERNEEDNUM) 1
0x6ffffff0 (VERSYM) 0x8fdc
0x00000000 (NULL) 0x0

libc.so.6 присутствует в /lib.
Код
-rwxr-xr-x 1 1000 1000 1127916 Nov 2 00:12 libc-2.6.1.so
lrwxrwxrwx 1 root root 14 Jan 1 1998 libc.so -> /lib/libc.so.6
lrwxrwxrwx 1 1000 1000 13 Nov 4 14:54 libc.so.6 -> libc-2.6.1.so

Попробую пересобрать инит статически, если это возможно.

Цитата(amw @ Nov 4 2008, 16:32) *
Вот теперь, когда busybox статический попробуйте init=/bin/sh

Вот строка с которой пытался запустить.
Код
mem=64M console=ttyS0,115200 root=/dev/sda1 rootwait init=/bin/sh

Результат все тот же
Код
Freeing init memory: 108K
Kernel panic - not syncing: Attempted to kill init!

Цитата(amw @ Nov 4 2008, 16:32) *
Если не передавать ядру init=blah-blah-blah то исполняется штатный init.
init - это процесс, который делает все в системе, кроме того, что делает ядро. Он должен работать все время, пока не выключится питание.

Потому как все равно "Kernel panic - not syncing: Attempted to kill init!" то нужно разобраться с этим init.


В том то и дело, что если не передавать ядру init=... то просто тишина. Нет приглашения логиниться. Но ядро же не паникует! Т.е. я делаю вывод о том, что init правильный. Проосто в скрипте инициалиации чего-то не хватает для запуска getty или чего-то подобного на ttyS0. Или я не правильно рассуждаю?


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
amw
сообщение Nov 5 2008, 09:14
Сообщение #23


Знающий
****

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



Цитата(Dron_Gus @ Nov 5 2008, 01:31) *
Самостоятельный исполняемый.

Хм. А откуда он?
Например для init -> /bin/busybox формат файла /etc/inittab будет другой (не такой как для обычного init используемого в ПК).
Возможно тут есть подвох.
Цитата
Код
arm-angstrom-linux-gnueabi-readelf -d busybox
There is no dynamic section in this file.

Это хорошо. Для начала упростим себе жизнь.
Цитата
Код
arm-angstrom-linux-gnueabi
-readelf -d init.sysvinit
Dynamic section at offset 0x6184 contains 24 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libc.so.6]
...

libc.so.6 присутствует в /lib.

Это хорошо, но!
Нужен по крайней мере еще и ld.so. Используются различные имена для ссылок на него. Например:
Код
$ ls -l /lib|grep ld-
-rwxr-xr-x  1 root root  119288 жов 13 17:50 ld-2.7.so
lrwxrwxrwx  1 root root      34 жов 29 14:40 ld-linux.so.2 -> /emul/ia32-linux/lib/ld-linux.so.2
lrwxrwxrwx  1 root root       9 жов 29 14:40 ld-linux-x86-64.so.2 -> ld-2.7.so

Это на ПК 64 бит система.
У Вас будет типа такого
Код
$ ls -l /lib|grep ld-
-rwxr-xr-x 1 root root  121440 жов 13 17:51 ld-2.7.so
lrwxrwxrwx 1 root root       9 жов 29 14:40 ld-linux.so.2 -> ld-2.7.so

Это динамический линкер - нужен для динамической линковки. Ну и любая динамическая либа может быть слинкована с другой, что не обязательно фигурирует в исполняемом файле.
Убедитесь, что библиотеки в /lib используют то-же ABI что и ядро. То же относится к busybox независимо от того как он слинкован
Цитата
Код
-rwxr-xr-x 1 1000 1000 1127916 Nov 2 00:12 libc-2.6.1.so
lrwxrwxrwx 1 root root 14 Jan 1 1998 libc.so -> /lib/libc.so.6
lrwxrwxrwx 1 1000 1000 13 Nov 4 14:54 libc.so.6 -> libc-2.6.1.so

Попробую пересобрать инит статически, если это возможно.


Вот строка с которой пытался запустить.
Код
mem=64M console=ttyS0,115200 root=/dev/sda1 rootwait init=/bin/sh

Результат все тот же
Код
Freeing init memory: 108K
Kernel panic - not syncing: Attempted to kill init!



В том то и дело, что если не передавать ядру init=... то просто тишина. Нет приглашения логиниться. Но ядро же не паникует! Т.е. я делаю вывод о том, что init правильный. Проосто в скрипте инициалиации чего-то не хватает для запуска getty или чего-то подобного на ttyS0. Или я не правильно рассуждаю?

Вроде правильно.
Тогда, используя /sbin/init (не перопределяя его в командной строке) попробуем следующее.
1. Есть ли /dev/console
2. Есть ли /dev/ttyS0
3. Упростите /etc/inittab примерно до такого (соблюдая формат Вашего init)
Код
id:5:initdefault:
S:12345:respawn:/sbin/getty 115200 ttyS0

4. /sbin/getty -> /bin/busybox ?? Или самостоятельный исполняемый? А может ему передать /dev/ttyS0?
5. Проверяем, сконфигурирован ли busybox с поддержкой init и выключаем его.
6. Попробуйте написать свою простейшую программу типа
int main()
{
fprintf(stdout, "Hello\n");
fprintf(stder, "Hello\n");
return 0;
}
Скомпилировать ее статически и подсунуть ее init=/bin/your_test_prog
Что получится?
Компилятор по умолчанию создает исполняемые файлы в формате gnueabi? Следите за тем, чтобы все программы были в том же формате, что и ядро. Включая glibc.


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


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Спасибо. Вечером дома попробую.

Пока читал про загрузку линукса возник вопрос в связи со следующей цитатой
Once the initial root file system is up, the kernel executes "/linuxrc" (linux run command) as its first process. When it exits, the kernel assumes that "/linuxrc" has mounted the real root file system and executes "/sbin/init" to begin the normal user-space boot process.
У меня linuxrc присутствует и ссылается ../../bin/busybox, кажется. Во превых ссылка неправильная, во вторых, ИМХО, linuxrc в моей ситуации не нужен. Или я опять что-то недопонимаю?


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Nov 7 2008, 20:13
Сообщение #25


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



1. да
2. да
3. ничего не изменилось. sad.gif
4. отдельный исполняемый файл.проверил, все либы есть.
5 и 6 не получается пока что. sad.gif

Провел эксперимент: взял гоотвый инит из образа от rainbow, изменил линк init->busybox:
Freeing init memory: 116K
System halted.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Dec 9 2008, 14:47
Сообщение #26


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Подебажил немного ядро через jtag. Бэктрейсом удалось выяснить что ядро никуда не проваливается и крутиться в idle цикле. Init запускается нормально. Но толи сразу выходит, то ли никогда не получает управление. Как дальше дебажить не знаю.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
AVR
сообщение Dec 27 2008, 23:59
Сообщение #27


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Удалось запустить? smile.gif
Я вот тоже с этим Angstrom бьюсь - скачал тестовый образ с сайта - Kernel panic - not syncing: Attempted to kill init!
Собрал свой образ (OpenEmbedded + bitbake, остальное само из инета тянулось, включая компилятор, собиралось несколько часов), запускаю через NFS: Kernel panic - not syncing: Attempted to kill init!
Самосборное с USB флэшки: Kernel panic - not syncing: Attempted to kill init!
Просто беда... =(
Плата - cs-ep9302... help.gif


--------------------
Go to the top of the page
 
+Quote Post
dch
сообщение Dec 28 2008, 01:32
Сообщение #28


Профессионал
*****

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



Цитата(AVR @ Dec 28 2008, 02:59) *
беда... =(

я вот давеча думал дай напишу программку на pc - вызываю функцию select на сервере потом "рублю" клиента , а на серверной части select выдает постоянную готовность сокета на чтение - этого просто не должно быть под любой ос
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Dec 28 2008, 21:08
Сообщение #29


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Удалось собрать, запустить и работает на 9260. На 9200 так и не запустил. Хотя симптомы теперь другие.
Выложите полный лог загрузки, может кто продвинутый что скажет. И перечитайте этот топик, в нем перечисленно значительное кол-во причин, почему оно может не работать.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
AVR
сообщение Dec 28 2008, 21:27
Сообщение #30


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Dron_Gus @ Dec 29 2008, 00:08) *
Выложите полный лог загрузки, может кто продвинутый что скажет. И перечитайте этот топик, в нем перечисленно значительное кол-во причин, почему оно может не работать.
Я обнаружил у себя, что если неправильно извлечь содержимое архива .tar с содержимым rootfs, то в случае с другим дистрибутивом (Debian для ARM) будет вылезать точно такая же ошибка. Как правильно вывалить содержимое архива Angstrom-minimalist-image-glibc-ipk-2008.1-test-20081221-ep93xx.rootfs.tar чтобы ничего не сломалось? Имеется ввиду на USB флэшку...


--------------------
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Dec 29 2008, 21:52
Сообщение #31


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Вроде как, с ключами -jxvf


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 29 2008, 23:48
Сообщение #32


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



1 если есть рабочий linux на этой плате - загрузите его, смонтируйте диск с ангстромом и попробуйте сделать chroot (пример если монтируемый диск с ангстромом sda1)
#mount /dev/sda1 /mnt
#chroot /mnt /bin/sh
2 если segmentation fault - сборка не для вашего ядра, если все ок приведите здесь вывод команды
#cat /etc/fstab
Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 30 2008, 02:12
Сообщение #33


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(sasamy @ Dec 30 2008, 02:48) *
#cat /etc/fstab

и еще вывод команды
#ls -a /dev
Go to the top of the page
 
+Quote Post
AVR
сообщение Feb 18 2009, 17:25
Сообщение #34


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Нашел немного времени, попробовал собрать этот Angstrom с нуля еще разок... Думал баг и его исправили, но ошибка "Kernel panic - not syncing: Attempted to kill init!" все не пропадала... Оказалось надо было при конфигурировании ведра указать "Use the ARM EABI to compile the kernel (AEABI)", т.к. сам Angstrom собран как раз с EABI...


--------------------
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 18 2009, 22:43
Сообщение #35


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



А остальное заработало? На какой железке испытывали?


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
AVR
сообщение Feb 19 2009, 08:23
Сообщение #36


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Dron_Gus @ Feb 19 2009, 01:43) *
А остальное заработало? На какой железке испытывали?
Плата "ARM для детей CS-EP9302", совместимая с EDB9302. Подробно не тестировал, но вроде все работает очень хорошо.
ЗЫ
Впечатления: корневая фс всего 8 Мб, а можно уменьшить и до 4-х Мб, а если еще и сжатие применить... Оперативной памяти 10 Мб кушается, но и это можно сократить. В общем, впечатление положительные. А еще и пакетный менеджер есть легковесный, можно и без него, определять состав кфс на этапе сборки... Красота...


--------------------
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 21:43
Рейтинг@Mail.ru


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