Я работаю над простой ОС для рук, используя qemu и uboot. Я могу нормально загрузить uboot и загрузить образ с помощью команды «bootm», за которой следует соответствующий адрес. Я хочу, чтобы образ ядра загружался автоматически без вызова bootm. Я добавил «#define CONFIG_BOOTCOMMAND «bootm 0x28124»» в файл universal.h, и он загружается автоматически, но проблема в том, что этот адрес может измениться. Я использую универсальные pb, и мне показалось странным, что в uboot отсутствуют многие команды, которые должны быть в документации.
как загрузить образ ядра в u-boot без команды bootm
Ответы (1)
u-boot копирует сжатый образ ядра в память, а затем переходит к точке входа этого образа ядра. Затем ядро распаковывается и помещается в нужное место в памяти. Поскольку смещение записи ядра в образ ядра фиксировано, а расположение сжатого ядра определяется u-boot и обычно фиксируется. Вам не нужно будет менять свой загрузочный адрес при изменении размера ядра.
person
Houcheng
schedule
17.04.2014
Спасибо, я действительно понял это и сделал что-то очень похожее на это. Я объединил образ ядра с двоичным файлом флэш-памяти в определенном месте и установил bootm в этом месте.
- person Sean; 17.04.2014
bootm 0x28124
также может бытьsetenv loadaddr 0x28124; bootm ${loadaddr}
. - person sawdust   schedule 20.03.2014