The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Минимальный initrd для встраиваемых систем"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Разное / Linux)
Изначальное сообщение [ Отслеживать ]

"Минимальный initrd для встраиваемых систем"  +/
Сообщение от Pasa email(ok) on 02-Окт-13, 11:54 
Всем доброго дня/ночи/вечера/утра!
Есть отладочная плата от StarterKit - армовский проц AT9260.
В комплекте были исходники пропатченного для платы ядра и файловой системы.
Слегка их модифицировал под свою плату, не вдаваясь глубоко в теорию, сделал проект и успешно забыл.

Сейчас возникла необходимость реанимровать проект. Решил подойти к изучению линукса основательно - понять как фукционирует/грузится ядро и собирается файловая система. Применение - встраиваемые системы.

На основе материала http://www.opennet.me/base/sys/initrd_intro.txt.html
собрал initrd. Подсунул его вместо прежней файловой системы. Ядро 2.6.28.
И ядро и initrd грузятся через tftpboot c виртуальной машины, на которой я собственно и собираю ядро и файловую систему.
В минимальном созданном вручную initrd в корне сделал linuxrc как описано в мануале.
Но ядро упорно ищет init и не хочет выполнять linuxrc.

Но в мануале написано:
"Предпоследний шаг - создание файла linuxrc. После того как ядро
монтирует ram диск, оно ищет init скрипт для выполнения. Если файл init
не найден, ядро выполняет файл linuxrc вместо init."

Такое вот на консоль выводит.
Kernel panic - not syncing: No init found. Try passing init= option to kernel.

В конфиге ядра:
CONFIG_CMDLINE="root=/dev/ram0 rw initrd=0x21000000,0x500000 console=ttyS0,115200 mem=32M"

Подскажите в каком направлении копать, может я что-то не так понял в руководстве, почему не запускается linuxrc?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Минимальный initrd для встраиваемых систем"  +/
Сообщение от тень_pavel_simple on 02-Окт-13, 13:00 
>[оверквотинг удален]
> монтирует ram диск, оно ищет init скрипт для выполнения. Если файл init
> не найден, ядро выполняет файл linuxrc вместо init."
> Такое вот на консоль выводит.
> Kernel panic - not syncing: No init found. Try passing init= option
> to kernel.
> В конфиге ядра:
> CONFIG_CMDLINE="root=/dev/ram0 rw initrd=0x21000000,0x500000 console=ttyS0,115200
> mem=32M"
> Подскажите в каком направлении копать, может я что-то не так понял в
> руководстве, почему не запускается linuxrc?

CONFIG_CMDLINE="root=/dev/ram0 rw initrd=0x21000000,0x500000 console=ttyS0,115200
> mem=32M init=/initrc"

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Минимальный initrd для встраиваемых систем"  +/
Сообщение от Pasa email(ok) on 03-Окт-13, 02:20 

> CONFIG_CMDLINE="root=/dev/ram0 rw initrd=0x21000000,0x500000 console=ttyS0,115200 mem=32M init=/initrc"

прописал :
CONFIG_CMDLINE="root=/dev/ram0 rw initrd=0x21000000,0x500000 console=ttyS0,115200
> mem=32M init=/linuxrc"

Ядро ругается: "Failed to execute /linuxrc. Attempting defaults...."

Ну и дальше опять поиск init и впадание в панику.

Скриптовый файл /linuxrc имеет, естественно, все атрибуты доступа и запуска для всех пользователей.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Минимальный initrd для встраиваемых систем"  +/
Сообщение от izyk email(ok) on 03-Окт-13, 11:11 
Я бы подсунул, то что просит "init", а потом, если не получится, значит,
ядро не поддерживает ваш initrd, в .config забыли что-то, нужное сжатие, или еще какую опцию.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Минимальный initrd для встраиваемых систем"  +/
Сообщение от Pasa email(ok) on 03-Окт-13, 12:12 
> Я бы подсунул, то что просит "init", а потом, если не получится,

В голову приходила мысль соорудить самопальный init, буду пробовать, .....но вот почему не работает конструкция , сделанная "по-писанному"


Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Минимальный initrd для встраиваемых систем"  +/
Сообщение от Pasa email(ok) on 03-Окт-13, 12:16 
> ядро не поддерживает ваш initrd, в .config забыли что-то, нужное сжатие, или
> еще какую опцию.

вот и пытаюсь понять , где у меня что не так. Поэтому и обратился к статьям, где умные люди по полочкам разложили весь процесс....но не могу повторить его...ищу помощи, подскажите , люди добрые, где ошибка у меня

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Минимальный initrd для встраиваемых систем"  +1 +/
Сообщение от Аноним (??) on 03-Окт-13, 14:28 
> Ядро ругается: "Failed to execute /linuxrc. Attempting defaults...."
> Скриптовый файл /linuxrc имеет, естественно, все атрибуты доступа и запуска для всех
> пользователей.

Детский вопрос, но уточните: а обработчик скрипта linuxrc у вас точно есть?
А то может быть вы скопировали из статьи строку "#!/bin/ash" , а его нет? :)

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

9. "Минимальный initrd для встраиваемых систем"  +/
Сообщение от Pasa (ok) on 03-Окт-13, 19:54 
>> Ядро ругается: "Failed to execute /linuxrc. Attempting defaults...."
>> Скриптовый файл /linuxrc имеет, естественно, все атрибуты доступа и запуска для всех
>> пользователей.
> Детский вопрос, но уточните: а обработчик скрипта linuxrc у вас точно есть?
> А то может быть вы скопировали из статьи строку "#!/bin/ash" , а
> его нет? :)

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

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Минимальный initrd для встраиваемых систем"  +/
Сообщение от Pasa email(ok) on 11-Окт-13, 12:25 
>>> Ядро ругается: "Failed to execute /linuxrc. Attempting defaults...."
>>> Скриптовый файл /linuxrc имеет, естественно, все атрибуты доступа и запуска для всех
>>> пользователей.
>> Детский вопрос, но уточните: а обработчик скрипта linuxrc у вас точно есть?
>> А то может быть вы скопировали из статьи строку "#!/bin/ash" , а
>> его нет? :)
> Появились мысли, что Busybox собран криво. Погружаюсь в этот момент. Отпишусь по
> результатам.

удалось запустить стартовый скрипт linuxrc. Но никак не удается собрать busybox статически.
Ругается:
-----------------------------------------------------------
applets/applets.c:20:2: error: #warning Static linking against glibc produces buggy executables
applets/applets.c:21:2: error: #warning (glibc does not cope well with ld --gc-sections).
applets/applets.c:22:2: error: #warning See sources.redhat.com/bugzilla/show_bug.cgi?id=3400
applets/applets.c:23:2: error: #warning Note that glibc is unsuitable for static linking anyway.
applets/applets.c:24:2: error: #warning If you still want to do it, remove -Wl,--gc-sections
applets/applets.c:25:2: error: #warning from top-level Makefile and remove this warning.
make[1]: *** [applets/applets.o] Error 1
make: *** [applets] Error 2
--------------------------------------------------------------

удаляю -Wl,--gc-sections из makefile....все равно получаю это сообщение

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

3. "Минимальный initrd для встраиваемых систем"  +/
Сообщение от Аноним (??) on 03-Окт-13, 10:55 
Может не по теме, но всё же:
А зачем вообще для встраиваемых систем нужен initrd?
Может лучше вставить все драйверы в ядро и забыть об initrd?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Минимальный initrd для встраиваемых систем"  +/
Сообщение от Pasa email(ok) on 03-Окт-13, 12:22 
> Может не по теме, но всё же:
> А зачем вообще для встраиваемых систем нужен initrd?
> Может лучше вставить все драйверы в ядро и забыть об initrd?

ну совсем без файловой системы, думаю, обойтись никак нельзя. Скажем, предыдущий мой проект, нуждался в небольших файл-логах, и сами приложения должны были где-то лежать, на какой-то файловой сиcтеме. Да и драйвера устройств (каталог /dev) должен быть где-то расположен.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру