Перейти к содержанию
    

Поселение на ARM ОС Linux

я явно указал:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Извините, но как я посмотрю, если у меня файловая система одним файлом: Angstrom-x11-at91sam9m10-image-glibc-ipk-2009.X-stable-at91sam9m10g45ek.rootfs.jffs2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добавьте в 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

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Извините, но как я посмотрю, если у меня файловая система одним файлом: Angstrom-x11-at91sam9m10-image-glibc-ipk-2009.X-stable-at91sam9m10g45ek.rootfs.jffs2

Элементарно- смонтируйте его в какую-нибудь папку, отредактируйте и размонтируйте.

man mount

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Элементарно- смонтируйте его в какую-нибудь папку, отредактируйте и размонтируйте.

man mount

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Изменено пользователем stas17

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наконец-то, получилось!) Проблема была решена переходом на более раннюю версию ядра (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, а ядро, собранное мной; и, по-видимому, ядро на которое была рассчитана данная фс было модульным, а мое-монолитное. Тогда эти предупреждения нестрашны, или я неправильно думаю?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

как-то так:

make modules

make modules_install

 

тут нужно разобраться с префиксами - по умолчанию установится в /lib/modules/2.6.30_my_RDM на вашей машине.

Эту папку целиком нужно скопировать в ФС для девайса

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

как-то так:

точно, -

make INSTALL_MOD_PATH=target_root_dir modules_install

 

так у меня же нет модулей. Что установится в эту папку командой make modules_install??

ничего полезного в таком случае:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если я смонтировал ФС. Залез на нее. Создал папку /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??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Возможно у вас используется файловая read-only файловая система (например cramfs или squashfs), которая извлекается из архива и помещается в ОЗУ. Т.е. она существует исключительно в ОЗУ, то все изменения которые вы делаете, они остаются в ОЗУ до следующей перезагрузки.

2) Если у вас NAND память, то после каждой операции старайтесь делать sync.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но изменения в ФС не сохраняются. Я монтирую ее и проверяю и вижу, что в папке modules нет папки 2.6.30_my_RDM??

 

приведите результ выполнения комманды mount

и лог загрузки ядра или dmesg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я ФС не на плате монтировал, а просто как отдельное устройство на виртуальной машине. Просто монтировал, сделал изменения, демонтировал, подключил еще раз и не нашел, созданную мной, папку..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...