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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Поселение на ARM ОС Linux, Плата AT91SAM9M10G45-EK
stas17
сообщение Jan 20 2011, 15:11
Сообщение #31


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



я явно указал:
U-Boot> setenv bootargs root=/dev/mtdblock1 rootfstype=jffs2 rw
U-Boot> saveenv

и получил следующее:
кучу вот таких ошибок
mtd->read(0x100 bytes from 0xbf60000) returned ECC error
uncorrectable error :
mtd->read(0x100 bytes from 0xbf80000) returned ECC error
uncorrectable error :
mtd->read(0x100 bytes from 0xbfa0000) returned ECC error
uncorrectable error :
mtd->read(0x100 bytes from 0xbfc0000) returned ECC error
uncorrectable error :
mtd->read(0x100 bytes from 0xbfe0000) returned ECC error

а после:
VFS: Mounted root (jffs2 filesystem) on device 31:1.
Freeing init memory: 120K
Kernel panic - not syncing: No init found. Try passing init= option to kernel.
See Linux Documentation/init.txt for guidance.

initrd я вроде бы включал в ядро...или что имеется в виду?

Сообщение отредактировал stas17 - Jan 20 2011, 15:12
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Jan 20 2011, 18:58
Сообщение #32


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

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



Инит, который продолжает загрузку системы. Запускает все сервисы и т.д. Посмотрите, на вашей файловой системе есть файл /etc/init?


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
stas17
сообщение Jan 21 2011, 09:09
Сообщение #33


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



Извините, но как я посмотрю, если у меня файловая система одним файлом: Angstrom-x11-at91sam9m10-image-glibc-ipk-2009.X-stable-at91sam9m10g45ek.rootfs.jffs2
Go to the top of the page
 
+Quote Post
kurtis
сообщение Jan 21 2011, 09:43
Сообщение #34


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Добавьте в uboot в bootargs ключ init=/bin/sh, если с этим параметром попадете в консоль, значит система, теоретически, работоспособна.

А по поводу посмотреть, то есть гугл, а в гугле есть такие вот ссылки https://wiki.maemo.org/Modifying_the_root_image

По поводу init'ов, то ядро после своей инициализации будет пытаться запустить такие вот процессы http://lxr.linux.no/linux+v2.6.37/init/main.c#L847
Цитата
/sbin/init
/etc/init
/bin/init
/bin/sh

На вашей версии ядра, это может отличаться

Go to the top of the page
 
+Quote Post
Dima_G
сообщение Jan 21 2011, 10:27
Сообщение #35


Местный
***

Группа: Свой
Сообщений: 279
Регистрация: 2-07-08
Из: Новосибирск
Пользователь №: 38 699



Цитата(stas17 @ Jan 21 2011, 15:09) *
Извините, но как я посмотрю, если у меня файловая система одним файлом: Angstrom-x11-at91sam9m10-image-glibc-ipk-2009.X-stable-at91sam9m10g45ek.rootfs.jffs2

Элементарно- смонтируйте его в какую-нибудь папку, отредактируйте и размонтируйте.
man mount
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jan 21 2011, 18:26
Сообщение #36


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Dima_G @ Jan 21 2011, 13:27) *
Элементарно- смонтируйте его в какую-нибудь папку, отредактируйте и размонтируйте.
man mount

А вот это не совсем элементарно. В сети есть информация по монтированию образов jffs и соответствующие скрипты (пользовался, работают). К стати, смотрел именно образ от Angstrom для at90sam9260.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
stas17
сообщение Jan 25 2011, 14:22
Сообщение #37


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



я смонтировал файловую систему. И на ней нет файла /etc/init. В этой папке с похожим названием есть файл inittab.

Сообщение отредактировал stas17 - Jan 25 2011, 14:23
Go to the top of the page
 
+Quote Post
stas17
сообщение Jan 25 2011, 15:30
Сообщение #38


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



Наконец-то, получилось!) Проблема была решена переходом на более раннюю версию ядра (2.6.30) и в переменную окружения bootargs явно указал следующее:
'root=/dev/mtdblock0 rw rootfstype=jffs2'
раннее в этой переменной было записано:
'root=/dev/mtdblock1 rw rootfstype=jffs2'

При загрузке системы несколько предупреждений появляются следующего вида:
WARNING: Couldn't open directory /lib/modules/2.6.30_my_RDM: No such file or directory
и
FATAL: Could not open /lib/modules/2.6.30_my_RDM/modules.dep.temp for writing: Nor -22(irq = 1) is a ATMEL_SERIALdress, using random0x302cd
bio: create slab <bi
o such file or directoryl_usart.2: tt
Насколько я понимаю, это из-за того, что фс с linux4sam, а ядро, собранное мной; и, по-видимому, ядро на которое была рассчитана данная фс было модульным, а мое-монолитное. Тогда эти предупреждения нестрашны, или я неправильно думаю?
Go to the top of the page
 
+Quote Post
Dima_G
сообщение Jan 25 2011, 16:13
Сообщение #39


Местный
***

Группа: Свой
Сообщений: 279
Регистрация: 2-07-08
Из: Новосибирск
Пользователь №: 38 699



создайте в образе файловой системы эту папку и поместите в нее драйвера
как-то так:
make modules
make modules_install

тут нужно разобраться с префиксами - по умолчанию установится в /lib/modules/2.6.30_my_RDM на вашей машине.
Эту папку целиком нужно скопировать в ФС для девайса
Go to the top of the page
 
+Quote Post
stas17
сообщение Jan 26 2011, 08:26
Сообщение #40


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



так у меня же нет модулей. Что установится в эту папку командой make modules_install??
Go to the top of the page
 
+Quote Post
S_agent
сообщение Jan 26 2011, 08:43
Сообщение #41


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 6-10-05
Из: Ukraine, Kiev
Пользователь №: 9 300



Цитата
Тогда эти предупреждения нестрашны, или я неправильно думаю?

абсолютно нестрашныsm.gif, просто ядро у вас имеет версию 2.6.30_my_RDM , а файловая система была собрана с другой, модули грузятся из каталога /lib/modules/`uname -r`/ вот и ворчит система sm.gif

Цитата
как-то так:

точно, -
make INSTALL_MOD_PATH=target_root_dir modules_install

Цитата( @ Jan 26 2011, 10:26) *
так у меня же нет модулей. Что установится в эту папку командой make modules_install??

ничего полезного в таком случаеsm.gif
Go to the top of the page
 
+Quote Post
stas17
сообщение Jan 27 2011, 11:32
Сообщение #42


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



А если я смонтировал ФС. Залез на нее. Создал папку /lib/modules/2.6.30_my_RDM, закинул туда все, что появляется в папке target_root_dir при выполнении команды:
make INSTALL_MOD_PATH=target_root_dir modules_install
Но изменения в ФС не сохраняются. Я монтирую ее и проверяю и вижу, что в папке modules нет папки 2.6.30_my_RDM??
Go to the top of the page
 
+Quote Post
kurtis
сообщение Jan 27 2011, 11:57
Сообщение #43


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



1) Возможно у вас используется файловая read-only файловая система (например cramfs или squashfs), которая извлекается из архива и помещается в ОЗУ. Т.е. она существует исключительно в ОЗУ, то все изменения которые вы делаете, они остаются в ОЗУ до следующей перезагрузки.
2) Если у вас NAND память, то после каждой операции старайтесь делать sync.
Go to the top of the page
 
+Quote Post
S_agent
сообщение Jan 27 2011, 12:41
Сообщение #44


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 6-10-05
Из: Ukraine, Kiev
Пользователь №: 9 300



Цитата(stas17 @ Jan 27 2011, 13:32) *
Но изменения в ФС не сохраняются. Я монтирую ее и проверяю и вижу, что в папке modules нет папки 2.6.30_my_RDM??


приведите результ выполнения комманды mount
и лог загрузки ядра или dmesg
Go to the top of the page
 
+Quote Post
stas17
сообщение Jan 27 2011, 13:07
Сообщение #45


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 13-07-10
Пользователь №: 58 427



Я ФС не на плате монтировал, а просто как отдельное устройство на виртуальной машине. Просто монтировал, сделал изменения, демонтировал, подключил еще раз и не нашел, созданную мной, папку..
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th June 2025 - 09:34
Рейтинг@Mail.ru


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