да мне initrd вообще не нужен, вроде как. мне хватит root=/dev/mtdblock1, но я этого пока ещё не делал :-)
не работает именно следующее: если в bootstrap убрать выключание вотчдога, то ядро не успевает загрузиться, проходит больше 16 секунд. причём bootstrap + uboot в данной конфигурации лежат в dataflash. после ребута от вотчдога (с его настройками по умолчанию) процессор начинает грузиться уже с nandflash (а там тоже есть bootstrap + u-boot, причём в тамошнем бутстрапе вотчдог отключен). "не работает", собственно, такой ребут, чтобы опять грузиться с dataflash. если убрать джампер для нандфлешки, после ребута от вотчдога вообще остаёмся на надписи romboot.
как-то так :) логи, может, позже выложу. просто неинформативны они.
пока в качестве рабочей идеи отказаться от initrd -- времени на чтение будет уходить меньше, может, успеет добраться до ядра.а чтобы совсем времени мало уходило -- грузить сразу из bootstrap, но с этим долго разбираться :-)
Откуда это ограничение в 16сек.?
Я в ходе своих эксперименттов успешно загружал систему, но на создание апликухи которая бы его сбрасывала из юзерспейса тратить время уже не стал.
Я имел ввиду не оптимизацию скорости загрузки, а настройки самого ватчдога и писал об этом 4 поста выше, но видимо это уже утвердившееся правило, все повторять по 2-3 раза .
Извиняюсь, похоже я что то попутал ...
Сейчас полез в доку, действительно, говорят максимум - 16сек (32768кГц 12р счетчик с предделителем на 128).
Тогда наверняка, в свое время, я включал ватчдог уже при старте ядра (загрузке драйвера).
На всякий случай еще раз повторю что 16 сек у меня система ни разу не грузилась а 3 сек это минимум что удавалось получить от включения питания до появления шела, поэтому я не понимаю в чем ваша проблема и если вам вообще не нужна загрузка с nand а процессор пытается читать bootstrap оттуда то почему бы не прописать одинаковый бутсрап - ему же пофигу откуда его прочитал bootrom - с nand или dataflash.
за 16 секунд у меня плата успевает только:
* пройти bootstrap
* u-boot до момента "press any key" идёт 4-5 секунд
* проходят 3 секунды аникея
* из нанда копируется ядро (2 метра) и инитрд (6 метров). это занимает время
* сжатое ядро распаковывает себя (тоже время).
а до консоли вообще далеко ещё :-)
и, собственно, всё. пока в идеях выкинуть инитрд -- быстрее будет значительно. а в перспективе ещё и убут выкинуть на продакшене.
одинаковый бутстрап делать пока незачем. потому что непонятно, почему после ребута из-за вотчдога в следующий раз система грузится уже с нанда. вроде как это связано с тем, что ресетуется только проц по умолчанию, но вариант с тем, чтобы ресетилось всё, что можно, я вроде бы как тоже попробовал (писал регистр вотчдога прямо из бутстрапа), но не помогло (хоть и не совсем уверен, что всё сделал правильно). да и всё равно бустрап из нанда тоже не успеет загрузиться :-)
Как грузиться без u-boot (без потери этих драгоценных 7 секунд) я давно здесь писал, правда я пробовал только с dataflash - у меня nand нет на плате.
Собственно копирование у меня даже с dataflash было несоизмеримо меньше времени распаковки ну а если грузить только ядро - вообще проблема отпадет - держите корневую fs на разделе mtd например с ubifs - она монтируется несравненно быстрей чем например старая jffs2, у Павла есть опыт использования yaffs он говорил что она тоже проблем с временем монтирования не имеет.