|
изян
|
|
Проблемы при загрузке ядра 2.6 u-boot-ом29.05.2011, 17:45. Показов 10546. Ответов 11
Метки нет (Все метки)
Есть evaluation board на однокристаллке micrel KSZ9692PB. В его nomd уже прошит u-boot и рам-диск с ядром и файловой системой.
Сам по себе u-boot работает и по дефолту загружает уже прошитый туда линукс. С этим всё ок. Однако, я решил сам взять предлагаемый micrel-ом линукс (можно скачать и линукс и весь инструментарий на сайте производителя) и научиться его компилить (никогда не делал этого) и загружать в память по tftp u-boot-ом и запускать. Казалось бы всё просто: майкрел предоставляет ядро уже с патчами, мейкфайл с готовым конфигом под его eval-board. Я компилю ядро, оно компилится успешно (в конце пишет Load Address 0x8000 - вот тут может беда), я беру получившийся zImage и с помощью mkimage делаю uImage, но уже указываю адреса 0x800000 в место 0x8000 (производитель рекомендует загружать с 0х800000, не знаю почему) Аргументы mkimage выглядят у меня так: - A arm - O linux -T kirmit -C none -a 0x800000 -e 0x800000 -n linux-2.6-atatat-edition -d zImage uImage Файловая система у меня отдельно на USB флэшечке, но до неё дело не доходит )) всё умирает гораздо раньше =\. После этого получившийся образ засасываю через tftp u-bootom, коммандой tftp 0x800000 uImage, устанавливаю параметры консоли (setenv bootargs consoti=ttyAM0,115200 root=/div/sda1) ... и радостно пытаюсь сделать bootm 0x800000 На что u-boot мне сообщает: ## Booting image at 00800000 ... Image Name: linux-2.6-atatat-edition Image Type: ARM Linux Kernel Image (unsompressed) Data Size: 4610920 Bytes = 4.4 MB Load Address: 00800000 Entry Point: 00800000 Verifying Checksum ... OK XIP Kernel Image ... OK Starting kirmit ... data abort pc : [<0080000c>] lr : [<00f1abf0>]sp : 00ecfaf4 ip : 00f5cc00 fp : 00000002 r10 : 00000000 r9 : 00f5cc00 r8 : 00ecffdc r7 : 00000000 r6 : 00000000 r5 : 00000000 r4 : 00000000 r3 : 00800000 r2 : 00000100 r1 : 0000016b r0 : 00000160 Flags: nZCv IRQs off FIQs off Mode SVC_32 Risetting CPU... и всё, ребут. соответственно я в полном замешательстве т.к. знания линукса и АРМа у меня посредственные - ещё только начал изучать. В чём может быть проблема? |
|
| 29.05.2011, 17:45 | |
|
Ответы с готовыми решениями:
11
При загрузке компьютера ошибка: Reboot and Select proper Boot device or Insert Boot Media in selected Boot device and press a key При загрузке компьютера ошибка: Reboot and Select proper Boot device or Insert Boot Media in selected Boot device and press a kay При загрузке Windows 7 появляется ошибка - C:boot\boot.bin -поврежден или отсутствует |
|
0 / 0 / 0
Регистрация: 26.01.2010
Сообщений: 117
|
|
| 29.05.2011, 18:03 | |
|
А что говорит uboot когда загружаешь родной линукс?
Покажи лог полностью, начиная с самого начала загрузки.
0
|
|
|
изян
|
|
| 29.05.2011, 18:46 | |
|
|
|
|
0 / 0 / 0
Регистрация: 26.01.2010
Сообщений: 117
|
|
| 30.05.2011, 14:29 | |
|
Load Address: 00008000
Entry Point: 00008000 Как говорится, не верь, жене, тормозам и аппноутам. У тебя же родное ядро грузится с адреса 0x8000, для чего ты его пытаешься грузить из 0x00800000? Да, уточняю, образ загруженный через tftpboot надо положить в ROM(!) и уже оттуда говорить bootm <адрес куда положил>. u-boot он умный, он сам скопирует при загрузке в указанную область памяти и сам его оттуда запустит. Где у тебя находится ROM в адресном пространстве ищи сам.
0
|
|
|
0 / 0 / 0
Регистрация: 26.01.2010
Сообщений: 117
|
|
| 30.05.2011, 14:37 | |
|
Производитель кстати может советовать подгружать через tftpboot по адресу 0x00800000, а загружаться он будет из 0x8000
0
|
|
|
изян
|
|
| 30.05.2011, 15:10 | |
|
хм. вот по шагам второй вариант:
беру предлагаемое разработчиком ядро делаю make clean make ksz9692_defconfig (конфиг под мою плату) make uImage получается: Image Name: Linux-2.6.23.17-Pegasus Created: бла бла бла Image Type: ARM Linux Kernel Image (unsompressed) Data Size: бла бла 4.40MB Load Address: 0x00008000 Entry Point: 0x00008000 загружаю этот образ на арм-машину: setenv bootargs consoti=ttyAM0,115200 root=/div/sda1 tftp 0x800000 uImage запускаю: bootm 0x800000 вижу: ## Booting image at 00800000 ... Image Name: Linux-2.6.23.17-Pegasus Image Type: ARM Linux Kernel Image (unsompressed) Data Size: 4610916 Bytes = 4.4 MB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK OK Starting kirmit ... Unsompressing Linux.......... И ТУТ МЁРТВЫЙ ВИСЯК. (что характерно этот ункомпрессинг он делает достаточно долго.) 0х800000 - это всё же оперативка. я гружу в конец оперативки этот образ запакованный и потом bootm 0x800000 сам берёт от туда родной адрес загрузки и распаковывает ядро туда (в 0х8000). Распаковывает, распаковывает и потом то ли во время распаковки виснет, то ли он передал управление в ядро и оно виснет, то ли оно не виснет, а просто на консоль ничего не выводит, потому что параметр bootargs consoti задан неверно (в чём я сильно сомневаюсь, т.к. родной линукс который там прошит в nomd использует для консоли именно это устройство) |
|
|
0 / 0 / 0
Регистрация: 26.01.2010
Сообщений: 117
|
|
| 30.05.2011, 15:44 | |
|
Ну во-первых: consoti=ttyS0,115200 - У меня так на железке.
Ну или же у тебя не ttyAM0 должно быть, а ttyACM0 - смотря как сконфигурено ядро.
0
|
|
|
изян
|
|
| 30.05.2011, 15:50 | |
|
хм. ну вот линукс который там прошит - при запуске пишет, что у него параметры консоли ttyAM0,115200 root=/div/sda1 rootdelay=10
они же выставлены по умолчанию у прошитого там uboot то есть, есть некая степень доверия этому параметру |
|
|
0 / 0 / 0
Регистрация: 26.01.2010
Сообщений: 117
|
|
| 30.05.2011, 15:56 | |
|
Тогда ладно. Дальше проверь, правильным ли компилятором собрано ядро и важно(!) под правильную ли архитектуру. Потому что по умолчанию ядро собирается для x86.
сделай: make ksz9692_defconfig make menuconfig и проверь.
0
|
|
|
изян
|
|
| 30.05.2011, 17:21 | |
|
WIN!
я сменил компелятор с arm-linux-gcc-gnueabi-4.5 на arm-linux-gcc-4.2.1 И ВСЁ ЗАРАБОТАЛО и, что характерно файл Image весит больше не 3 гига а 3 с лишним метра, ну и uImage соответствено не 4.4 а 1.5мб нигия какая-то. пипец. |
|
|
0 / 0 / 0
Регистрация: 26.01.2010
Сообщений: 117
|
|
| 30.05.2011, 19:50 | |
|
Это не нигия, а особенности GNUтого тулчейна. Там много странных и непонятных мест, но оно работает.
0
|
|
|
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 240
|
||
| 31.05.2011, 23:15 | ||
0
|
||
| 31.05.2011, 23:15 | |
|
Помогаю со студенческими работами здесь
12
Как бороться с ошибкой "Default Boot Device Missing or Boot Failed" при загрузке ноутбука? Баг при загрузке ядра linux 3.14.17 Boot Manager при загрузке No boot device - ошибка при загрузке Зависание Windows 2000 Pro при загрузке ядра системы. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|