mkimage заголовок в начало образа дописывает, а кто его читать будет u-boot или другой загрузчик понимающий формат заголовка - это уже не важно. Важно тут то, что если с SD грузить загрузчиком BOOT.BIN - он не сможет распаковать образ который вы получите через такой скрипт make_kernel даже если размер будет "правильный", он не поддерживает декомпрессию - вам нужен самараспаковывающийся образ который можете получить так
mkimage -A arm -O linux -T kernel -C none -a 0x70008000 -e 0x70008000 -n "Linux Kernel Image" -d ./arch/arm/boot/zImage zlinux
в общем не вижу смысла дальнейших разъяснений - вы даже элементарно по ссылкам не ходите.
Не надо мне это объяснять, я же писал уже (с месяц назад), что проблелы у меня только в специфике, связанной с кросскомпиляцией и с нетрадиционными загрузчиками. :-)
Не могу. Чтобы это сработало, нужны правильные исходные данные. У меня этого, пока, нет.
Вам так кажется. По ссылкам я уже не помню, с каких начинал.
У меня вопрос исходный про 3Гб был. И только. Меня не интересовало получение ядра, как таковое, меня интересовал только результат работы objcopy: не люблю оставлять непонятное по дороге. Да, http://wiki.starterkit.ru/make_kernel я сам не нашёл, за это спасибо.
Есть другая проблема. Это было понятно из первого моего сообщения: "Ядро собралось, но как-то криво: во-первых размер маленький". Вы это, очевидно, не заметили,.. Так что, исходный образ для работы mkimage подозрительный всё равно, я что-то ещё упускаю... А Вы мне про make uImage рассказываете, как будто это могло помочь. Но, заметьте, я не стал возражать и, честно, попробовал.
Вообще вы начали что crosstool-ng не собирается, потом еще куча всего, в конце у вас исходных данных нет - извините это пипец :) на ftp есть абсолютно все исходные данные. Как вы умудряетесь не собрать crosstool-ng - для меня вообще загадка.
Я начал ?! :-) Я просто не стал полностью аналогичную тему начинать.
У меня, как раз, всё собралось. Моё первое сообщение - третье в этой теме.
Только вот что-то собралось неправильно, очевидно.
А как Вы назовёте ситуацию с vmlinux 2065051 байт при том, что это же самое ядро (копия каталога) собирается старым компилятором в vmlinux 6302331 байт ? Это что, правильный vmlinux получился ?
Этого вопроса не заметил. Но это я упомянул сразу, во втором, то есть, четвёртом в теме, сообщении. Если хотите конкретно, вот тут было начало моего знакомства со starterkit и arm вообще: http://starterkit.ru/html/index.php?name=forum&op=view&id=18004
Всё, что у меня есть в качестве рабочего примера, взято из этого образа. Если это считается древним, вопрос тогда к starterkit.ru, почему древнее раздаётся в качестве примера. :-)
Что-то не работает из этого примера ? Пока я вижу только что вы делаете шаг влево или вправо и сразу ничего не получается - странно для человека 10 лет знакомого с Linux.
Из примера всё работает. А не получилось, пока, собрать рабочее ядро посредством нового crosstool-ng. Что характерно, без каких-либо ошибок сборки.
В общем, проблема в попытке буквального применения инструкции http://wiki.starterkit.ru/cross_compiler. Что-то в новом crosstool-ng поменялось, или инструкция, в этом месте, изначально неаккуратная. Попытка взять за основу конфиг arm-unknown-linux-gnueabi без выполнения ct-ng oldconfig приводит к тому, что вот так получается. Оно, вроде, работает, но результат такой вот непонятный. PPL в конфиге таком не упоминается совсем, кстати. После oldconfig PPL появляется, но общий результат какой получается не знаю, так как переделывал, в итоге, вообще без использования samples/*, примерно по http://code.google.com/p/starterkit-org/wiki/CrosstoolNg