Загрузка ОС U-Boot - PullRequest
       16

Загрузка ОС U-Boot

0 голосов
/ 21 марта 2019

Я недавно начал проекты, связанные с платой на imx6, и я вижу, что u-boot будет использоваться во всех проектах.

Проводя исследование u-boot, я начал в Википедии (https://en.wikipedia.org/wiki/Das_U-Boot#References)

Там, где говорится, что u-boot загружает операционную систему, читая ядро ​​и любые другие связанные данные, такие как файлы dts, он затем запускает ядро ​​с соответствующими аргументами.Однако пока мы загружаем образы, мы загружаем только u-boot, kernel и rootfs, так как же u-boot может загрузить операционную систему?Это уже присутствует в платах внутренней памяти?Или запущенный экземпляр ядра называется операционной системой?

1 Ответ

0 голосов
/ 21 марта 2019

Вы не предоставили точные команды, которые использовали, но, возможно, вас смутил тот факт, что вы загрузили файл с именем uImage (то, что вы называете образом ядра u-boot):

Однако, пока мы загружаем образы, мы загружаем только ядро ​​u-boot и rootfs

Если это так, учтите, что это не образ u-boot (вы уже запускаете u-boot, если можете использовать такие команды, как bootm), а скорее образ ядра Linux в формате образа u-boot созданный с помощью утилиты u-boot mkimage - см. здесь .

uImage на самом деле сам образ ядра Linux, который был преобразован в файл с использованием специального формата u-boot утилитой u-boot mkimage.

Типичная команда для создания uImage из файла zImage ядра Linux, например:
mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n "Linux kernel" -d arch/arm/boot/zImage uImage. uImage содержит операционную систему Linux, и именно поэтому вы смогли загрузить свою систему, загрузив ее вместе с rootfs.

...