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

 
 
> uClinux+jffs2 без u-boot, проблема при монтировании jffs2
Boom-Zoom
сообщение May 10 2012, 14:56
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 10-05-12
Пользователь №: 71 762



Всем доброго времени суток! У меня возникла проблема с запуском uClinux. Суть такова:
Есть аппаратная конфигурация - заведомо рабочая.
- есть собранный образ uClinux cо следующими настройками:

#### To enable MTD

[*] Memory Technology Device (MTD) support --->
--- Memory Technology Device (MTD) support
[ ] Debugging (NEW)
[ ] MTD concatenating support (NEW)
[*] MTD partitioning support
[ ] RedBoot partition table parsing (NEW)
[ ] Command line partition table parsing (NEW)
[ ] TI AR7 partitioning support (NEW)

*** User Modules And Translation Layers ***
[*] Direct char device access to MTD devices
-*- Common interface to block layer for MTD 'translation layers
[ ] TI AR7 partitioning support (NEW)
*** User Modules And Translation Layers ***
[*] Direct char device access to MTD devices
-*- Common interface to block layer for MTD 'translation layers
[*] Caching block device access to MTD devices

+включена physical device map (это название на память)

#### To enable CFI flash

RAM/ROM/Flash chip drivers --->
[*] Detect flash chips by Common Flash Interface (CFI) probe
[ ] Detect non-CFI AMD/JEDEC-compatible flash chips (NEW)
[ ] Flash chip driver advanced configuration options (NEW)
[ ] Support for Intel/Sharp flash chips # for neek
[*] Support for AMD/Fujitsu flash chips # others
[ ] Support for ST (Advanced Architecture) flash chips (NEW)
[ ] Support for RAM chips in bus mapping (NEW)
[ ] Support for ROM chips in bus mapping (NEW)
[ ] Support for absent chips in bus mapping (NEW)

#### To enable flash filesystem support

File systems -->
Miscellaneous filesystems --->
[*] Journalling Flash File System v2 (JFFS2) support

Так же включены нужные mtd утилиты

В основных настройках ядра параметры offset addres и linking addres = 0х0

defaul command string = root=/dev/mtdblock0 rw rootfstype=jffs2

Всё настроено на работу с двумя partitions
0x600000-0xA00000 - rootfs
0x000000-0x600000 - kernel
При запуске ядра mtd-parts их выводит, под номером 0 - считает rootfs 1 - kernel

- есть образ rootfs.jffs2
- размеры партиций взяты с запасом по размеру

Зашиваю образ ядра
//после компиляции у меня на выходе elf формат образа, поэтому сначала преобразую во flash
$SOPC_KIT_NIOS2/bin/elf2flash --base=0x0 --end=0xffffff --reset=0x0 --input=soft --output=flash.flash --boot=$SOPC_KIT_NIOS2/components/altera_nios2/boot_loader_cfi.srec
//так зашиваю
$SOPC_KIT_NIOS2/bin/nios2-flash-programmer "flash.flash" --base=0x0 --mmu --sidp=0x21208B8 --id=0x3BD3BE2B --accept-bad-sysid --device=1 --instance=0 '--cable=USB-Blaster [USB-0]' --program --verbose

Так загружаю образ ФС
// из bin во flash
$> *bin2flash --input=rootfs.jffs2 –output=rootfs.flash --location=0x0060 0000 –verbose
//зашиваю
> *nios2-flash-programmer ”jffs2.flash” --base=0x0 –mmu --program --verbose

Зашивается в логе зашивается всё по правильным адресам т.е. ядро в партицию начиная с 0х0, фс в партицию начиная с 0х600000
При загрузке выдает ошибку:
freeing unused kernel memory 72k freed <0xC618D000 - c619E000>
Kernel panic - not syncing: no init found. Try passing init = option to kernel.


Помогите примонтировать файловую систему)

Лог загрузки:

Сообщение отредактировал Boom-Zoom - May 10 2012, 15:00
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sasamy
сообщение May 11 2012, 03:23
Сообщение #2


Знающий
****

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



Цитата(Boom-Zoom @ May 10 2012, 18:56) *
В основных настройках ядра параметры offset addres и linking addres = 0х0
defaul command string = root=/dev/mtdblock0 rw rootfstype=jffs2
...
Лог загрузки:


Сравните лог и то что задано в командной строке - они не совпадают. У вас ядро получает параметр initrd=0x00600000, 0x00400000 от загрузчика - либо там поменяйте на то что нужно либо в ядре включите опцию
CONFIG_CMDLINE_FORCE=y
иначе ядро пытается смонтировать рамдиск которого вы судя по всему не предполагаете записывать по указанному адресу.

Сообщение отредактировал sasamy - May 11 2012, 03:25
Go to the top of the page
 
+Quote Post
Boom-Zoom
сообщение May 11 2012, 16:40
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 10-05-12
Пользователь №: 71 762



Цитата(sasamy @ May 11 2012, 07:23) *
Сравните лог и то что задано в командной строке - они не совпадают. У вас ядро получает параметр initrd=0x00600000, 0x00400000 от загрузчика - либо там поменяйте на то что нужно либо в ядре включите опцию
CONFIG_CMDLINE_FORCE=y
иначе ядро пытается смонтировать рамдиск которого вы судя по всему не предполагаете записывать по указанному адресу.

Да, действительно перепутал параметр в команде, поправил, но ничего не изменилось.
CONFIG_CMDLINE_FORCE=y - через make menuconfig такого найти не смог, возможно опция может по другому называться?

Читая про процесс загрузки linux узнал что ядро стартуя монтирует временную урезанную файловую систему в ОЗУ только для чтения, потом запускает самые необходимые драйверы, а далее монтирует КФС.
Есть ряд вопросов:
- init находится в ФС которая монтируется в ОЗУ или в КФС?
- как проверить монтируется ли ФС в ОЗУ?
- можно ли обойтись без ФС монтируемой в ОЗУ?
- и как проверить что init скомпилился и попал туда куда нужно?

P.S. Включил поддрежку Init в busybox

Сообщение отредактировал Boom-Zoom - May 11 2012, 16:42
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Boom-Zoom   uClinux+jffs2 без u-boot   May 10 2012, 14:56
- - kurtis   Обычно "большие" линуксы грузятся через ...   May 12 2012, 10:15
|- - Boom-Zoom   Цитата(kurtis @ May 12 2012, 14:15) Можно...   May 14 2012, 18:30
- - kurtis   Как вы пишите корневую файловую систему во flash?   May 15 2012, 11:07
|- - Boom-Zoom   Цитата(kurtis @ May 15 2012, 15:07) Как в...   May 15 2012, 14:21
|- - Boom-Zoom   На вопрос я забавно ответил) Мне показалоль написа...   May 15 2012, 15:33
- - kurtis   Странно что /bin/sh отработал, а /bin/init - нет. ...   May 15 2012, 18:44
- - Boom-Zoom   Решил всётаки запустить инит. В процессе разбирате...   May 30 2012, 15:20
- - kurtis   1. Если нет /etc/inittab то ничего страшного случи...   May 30 2012, 15:45
|- - Boom-Zoom   Цитата(kurtis @ May 30 2012, 19:45) 1. Пр...   May 30 2012, 15:57
|- - ig_z   QUOTE (Boom-Zoom @ May 30 2012, 18:5...   Jun 16 2012, 16:27
|- - Boom-Zoom   Цитата(ig_z @ Jun 16 2012, 20:27) Так под...   Jun 17 2012, 12:39
- - Boom-Zoom   Вопрос надо закрыть... Решил проблему, elf был сли...   Jun 16 2012, 07:14


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

 


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


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