Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Отладочные платы » SK-iMX233
SK-MIMX233 телодвижения ...
sasamy
Добавлено 11.02.2010 19:32 Сообщение: 101
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
INITRD: 0x40400000+0x00400000 overlaps in-use memory region - disabling initrd

Это понятно - у ram-диска перекрывается память с чем-то, atag у него тут настраивается
imx-bootlets-src-09.12.00/linux_prep/core/setup.c

Я имел ввиду в чем была проблема то что загрузка просто останавливалась раньше ?
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 11.02.2010 19:44 Редактировалось 11.02.2010 19:55 Сообщение: 102
Pavel Ivanchenko
Admin
4.39

Пункты: 91525
Регистрация: 24.03.2009
Пол: Мужчина
Уже говорил "1 инит системы немного изменился, было power 0x00310710, стало power 0x00820710" "Причина в 1-ом пункте ..."
Подменил boot_prep, пришла в чувства.

Попробовал еще linux_prep подменить, поведение не изменилось.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 11.02.2010 19:54 Сообщение: 103
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Я похоже не так понял сообщение - похоже размер который передается через a-tag для рамдиска меньше чем рамдиск реально занимает. Нужно добавить размер в том файле что я говорил где атаги

static void setup_initrd_tag(void)
{
params->hdr.tag = ATAG_INITRD2 ;
params->hdr.size = tag_size(tag_initrd);

params->u.initrd.start = 0x40400000;
>>> params->u.initrd.size = 0x00400000; <<< тут добавить

params = tag_next(params);
}

или проще поменять командную строку как это было у тебя на самах описан рамдиск - командная строка переопределяет a-tag переданный загрузчиком.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 11.02.2010 19:56 Сообщение: 104
Pavel Ivanchenko
Admin
4.39

Пункты: 91525
Регистрация: 24.03.2009
Пол: Мужчина
Сейчас, надо подумать, как проще ...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 11.02.2010 20:07 Сообщение: 105
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Я припоминаю еще по старому форуму кто-то интересовался вроде как initramfs не линковать с ядром а передавать отдельным файлом - у меня с наскоку как раз с размером какие то проблемы возникли, я тогда вообще указывал точный размер, как сделать правильно я не знаю - невозможно же знать в общем случае заранее размер полученного архива... надо покопать старый форум.. а может уже в новом :)
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 11.02.2010 20:27 Редактировалось 11.02.2010 20:29 Сообщение: 106
Pavel Ivanchenko
Admin
4.39

Пункты: 91525
Регистрация: 24.03.2009
Пол: Мужчина
Что за напасть, изменил в setup_initrd_tag размер на 8М, снес корневуху, пересобрал, а результате так 4М и осталось.
Вроде есть аргумент ramdisksize?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 11.02.2010 20:33 Редактировалось 11.02.2010 20:40 Сообщение: 107
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Покопался в исходниках ядра - такое ощущение что просто неправильно передается размер RAM в atag... Там он автоматически определяется в том же файле

static u32 get_sdram_size (void)
{
u32 row, column, csmap, size;
u32 cs = 0;

>>>#ifdef SDRAM_SIZE<<< убрать
return SDRAM_SIZE; подставить наши 64Мб - 0x04000000
>>>#endif<<<< убрать

row = MAX_ROW -
((HW_DRAM_CTL10_RD() & BM_DRAM_CTL10_ADDR_PINS) >> 16);
.......

Потому что там вроде размер влазит, да и там совсем другое проверяется - попробуй лучше тут изменить.

Кстати можно просто в командной строке определить mem=64M
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 11.02.2010 20:41 Редактировалось 11.02.2010 20:48 Сообщение: 108
Pavel Ivanchenko
Admin
4.39

Пункты: 91525
Регистрация: 24.03.2009
Пол: Мужчина
Я чего то не понимаю, всю жизнь думал, сжатый образ корневой распаковывается (уже в другое место), а память высвобождается.
Если сделать как предлагаешь, мы ведь просто потеряем частть памяти ушедшей на сжатый образ initrd.

Меня эта пересборка уже начинает трясти (каждый раз по 5 минут), вставил в аргументы запуска ядра initrd=0x40400000,0x800000, а на выходе так и осталась старая командная строка ...
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 11.02.2010 20:46 Сообщение: 109
Pavel Ivanchenko
Admin
4.39

Пункты: 91525
Регистрация: 24.03.2009
Пол: Мужчина
Цитата
Потому что там вроде размер влазит, да и там совсем другое проверяется - попробуй лучше тут изменить.

Кстати можно просто в командной строке определить mem=64M
Не понял, вроде с "детектом" нет проблем
Memory: 64MB = 64MB total
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 11.02.2010 20:51 Редактировалось 11.02.2010 20:52 Сообщение: 110
Pavel Ivanchenko
Admin
4.39

Пункты: 91525
Регистрация: 24.03.2009
Пол: Мужчина
Блин, хоть тресни:
Код
INITRD: 0x40400000+0x00400000 overlaps in-use memory region - disabling initrd
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootwait lcd_panel=lms430 ssp1=mmc
Мало того что setup_initrd_tag изменен дык и командная строка (стрим отключен) в конфиге указана как: console=ttyAM0,115200 root=/dev/mmcblk0p3 initrd=0x40400000,0x800000

Пошел я домой, завтра продолжу.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-iMX233