ай спасибо, Саша!
увы, плату оставил на работе, прям счас попробовать не могу.
в понедельник (по возможности) пощупаю, что к чему и о результатах отпишу.
была у меня мыслишка, что ноги оттуда растут, да поискать не додумался..
Как всегда, оказалось все не так ровно как сначала выглядело :) ...
Вобщем, для начала, как уже писал sasamy, нужно собрать ядро с опцией uImage (в папке arch/arm/boot появится uImage, это и есть требуемый образ).
В самом бутстрапе нужно скрутить MACH_TYPE на 2212, но самое главное, нужно править конфиг DDR2 (т.к. на платах другая "геометрия" чипов), для этого достаточно исправить AT91C_DDRC2_NR_14 на AT91C_DDRC2_NR_13, как ни печально, при этом бутстрап отказывается даже образ с карточки грузить:
Хотя с оригинальными настройками он даже ядро может запустить.
Полез сравнивать инит DDR2 с имеющимся рабочим, в этом бутстрапе половины манипуляций инициализации DDR2 нет (или вызываются как то по другому), вобщем, я в недоумении ...
Итак, для начала правим скрипт сборки ядра make_kernel, в конце добавляем строки:
В результате получим в папке /tftpboot требуемый image_sd.bin (название загружаемого образа в бутстрапе я намеренно изменил на image_sd.bin), копируем его в корень карточки вместе с бутстрапом - boot.bin.
Размыкаем джампер NAND CS, запускаем, т.к. корневая по умолчанию находится в NAND, сразу замыкаем NAND CS (если ядро с initramfs собрано, тогда можно обратно не замыкать).
Позже напишу скриптик для подготовки и форматирования карты, чтоб можно было с карты грузиться и ее же потом для корневой ФС использовать.
Исходники со скриптами сборки во вложении, единственно, в этом бутстрапе не настраивается SDRAM и поэтому фреймбуфер на SK-AT91SAM9G45 работать не должен, позже добавлю (сейчас неначем проверить).
Написал скрипт:
1) создает 2 партиции 1-FAT, 2-EXT2
2) форматирует их
3) копирует (по tftp из виртуалки) бутстрап и ядро в FAT партицию
4) копирует (по tftp из виртуалки) корневую ac и распаковывает в EXT2 партицию
Все более-менее ровно проходит, но вот грузиться с карточки уже не желает :(
линуксячьи утили честно пишут, что для генерации дос-разделов лучше использовать нативную дос-систему. для эксперимента можно сплодить бинарник образа DOS раздела с наполнением нужными файлами и чем-то заливать из сетки в первый раздел..
Как уже говорил, партиции создаются, файлы копируются (регистр имени файла не меняется) ...
Винда потом эту карточку (первый раздел) нормально читает-пишет, а вот 9g45 в упор не воспринимает.
Причем, дело явно в опциях партиций, я пробовал создать одну партицию на всю карту, пробовал переформатировать под виндой, пробовал ... что только не пробовал - не помогает.
Карту к "жизни"с 9g45 приводит только форматирование в фотоаппарате ...
При работе скрипта смущает сообщение:
Но как указать sfdisk установить первую партицию bootable не понятно, штатными средствами винды с партициями съемного диска вобще ничего нельзя сделать.