Создайте карту SD для загрузки образа дистрибутива, созданного с помощью Yocto.

Вопрос или проблема

Мне удалось создать образы для моего собственного скомпилированного исходного кода ядра Linux с использованием Yocto.

Yocto произвел файлы образов согласно:
http://www.crashcourse.ca/wiki/index.php/Yocto_Project_Quick_Start

Пример из указанной ссылки:

$ ls -F  
core-image-minimal-beagleboard-20121120113536.rootfs.jffs2  
core-image-minimal-beagleboard-20121120113536.rootfs.tar.bz2  
core-image-minimal-beagleboard.jffs2@  
core-image-minimal-beagleboard.tar.bz2@  
MLO-beagleboard@  
MLO-beagleboard-1.5.0+git1+9f94c6577e3a018b6b75cbe39f32bb331871f915-r0*  
modules-3.4.11-yocto-standard-r4.3-beagleboard.tgz  
README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt  
u-boot-beagleboard.bin@  
u-boot-beagleboard-v2011.06+git6+b1af6f532e0d348b153d5c148369229d24af361a-r3.bin*  
u-boot.bin@  
uImage@  
uImage-3.4.11+git1+a201268353c030d9fafe00f2041976f7437d9386_1+449f7f520350700858f21a555  4b81cc8ad23267d-r4.3-beagleboard-20121120113536.bin  
uImage-beagleboard.bin@  
x-load-beagleboard-1.5.0+git1+9f94c6577e3a018b6b75cbe39f32bb331871f915-r0.bin.ift*  
x-load-beagleboard.bin.ift@  
$

Как мне использовать эти образы для создания SD-карты, которая сможет загрузить дистрибутив Linux, произведенный Yocto? Разделение и т.д.? Как мне использовать мои образы Yocto?

Смотрите:

http://android.serverbox.ch/?p=1273

Хотя мне пришлось скопировать uImage-xxx и переименовать его в uImage и поместить в boot.

Также смотрите:
https://groups.google.com/forum/#!topic/beagleboard/jqReCTG_L44

Чтобы сделать образ работающим для BeagleBone.

Ответ или решение

Для создания загрузочной SD карты с образом дистрибутива, собранного с помощью Yocto, вам необходимо выполнить несколько шагов. Я приведу пошаговую инструкцию, которую вы можете использовать для этого процесса.

Шаг 1: Подготовка SD карты

  1. Выбор SD карты: Убедитесь, что вы используете SD карту достаточного объема. Обычно рекомендуется использовать карту не менее 4 ГБ.
  2. Подключение SD карты: Вставьте SD карту в картридер и подключите его к компьютеру.

Шаг 2: Определение устройства

  1. Определение устройства: Используйте команду lsblk или fdisk -l, чтобы определить, какое устройство соответствует вашей SD карте (например, /dev/sdb).

Шаг 3: Очистка и создание разделов

  1. Очистка SD карты: Для удаления всех существующих данных и разделов на SD карте выполните:

    sudo umount /dev/sdX*
    sudo dd if=/dev/zero of=/dev/sdX bs=4M status=progress

    (Замените /dev/sdX на имя вашего устройства).

  2. Создание таблицы разделов: Используйте fdisk или parted, чтобы создать разделы на SD карте. Для загрузочного образа, как правило, потребуется два раздела:

    • BOOT (для начальной загрузки)
    • ROOTFS (корневая файловая система)

    Пример использования fdisk:

    sudo fdisk /dev/sdX

    В fdisk:

    • Нажмите n, чтобы создать новый раздел (выберите первичный и укажите размеры).
    • Нажмите t для установки типа раздела (например, w95 FAT32 для первого раздела).
    • Нажмите w, чтобы сохранить изменения и выйти.

Шаг 4: Форматирование разделов

  1. Форматирование разделов:
    • Для раздела BOOT:
      sudo mkfs.vfat /dev/sdX1
    • Для раздела ROOTFS:
      sudo mkfs.ext4 /dev/sdX2

Шаг 5: Копирование образов и файлов

  1. Копирование файлов:

    • Смонтируйте оба раздела:
      sudo mount /dev/sdX1 /mnt/boot
      sudo mount /dev/sdX2 /mnt/rootfs
  2. Копируйте файлы на соответствующий раздел:

    • Скопируйте файлы загрузчика (например, u-boot и uImage):

      sudo cp path/to/u-boot.bin /mnt/boot/
      sudo cp path/to/uImage-xxx /mnt/boot/uImage
    • Распакуйте корневую файловую систему (например, из core-image-minimal-beagleboard.tar.bz2):

      sudo tar -xvjf path/to/core-image-minimal-beagleboard.tar.bz2 -C /mnt/rootfs/

Шаг 6: Завершение и демонтаж

  1. Завершите работу с SD картой:
    • Убедитесь, что файлы корректно скопированы, и все ресурсы размонтированы:
      sudo umount /mnt/boot
      sudo umount /mnt/rootfs

Шаг 7: Загрузка устройства

  1. Загрузка: Переместите SD карту в устройство (например, Beagleboard) и включите его. Устройство должно загрузиться с созданной вами SD карты.

Заключение

Теперь вы готовы использовать свою SD карту для загрузки дистрибутива, собранного с помощью Yocto. Проверьте консоль и убедитесь, что система загружается без ошибок. Если возникнут проблемы, проверьте правильность выполнения каждого шага и наличие необходимых файлов.

Оцените материал
Добавить комментарий

Капча загружается...