Как создать загрузочную SD-карту для Banana Pi вручную

Похоже, что я не понимаю, как загружать изображения SD-карт на устройствах, таких как работа Banana Pi. Ситуация такова.

У меня есть банан-пи и банан Pro. Каждое устройство имеет изображение некоторого распространения на SD-карте, подключенной к устройству (Banana Pro -> Arch Linux, Banana Pi -> Bananian). Изображения можно скачать здесь и здесь . Это прекрасно работает.

Но поскольку у Banana Pi / Pro есть порт SATA, было бы неплохо, если бы корневая система могла быть загружена с подключенного жесткого диска. Как можно прочитать здесь, это можно сделать довольно просто.

Но теперь приходит часть, с которой я борюсь. Мигание всей 4 ГБ SD-карты (или даже более крупных) с изображением дистрибутивов и использование всего лишь 50 МБ-раздела кажется немного расточительным. Поэтому я попытался использовать меньшую SD-карту.

Я создал partiton с fdisk (размер 50 МБ) и использовал mkfs.vfat -F 16 /dev/sdXX для создания файловой системы на partiton. Я сделал FAT 16 из-за parted вывода при просмотре файла изображения.

введите описание изображения здесь ,

После этого я установил partion из изображения в /tmp/boot с помощью sudo mount -o loop,offset=1048576 ArchLinux_For_BananaPro_v1412.img /tmp/boot . Значение смещения – это значение «Старт» в частичном выходе.

Скопировал файлы (script.bin, uEnv.txt, uImage) на мой раздел SD-карты, изменил корневой путь в uEnv.txt. Сделал синхронизацию и демонтировал SD-карту.

Все кажется прекрасным. Даже при сравнении загрузочных партитонов на SD-карте со вспышкой со всем изображением и моей SD-картой только с загрузочным партитоном они идентичны (согласно fdisk )

введите описание изображения здесь

Но Banana Pi / Pro не загружается с SD-картой с загрузочным разделом, содержащим файлы u-boot.

Кто-нибудь подскажет это поведение?

ОБНОВИТЬ:

Благодаря @BananaFreak я узнал свою ошибку. Загрузочный загрузчик действительно отсутствовал, но даже после выполнения этого руководства от lemaker BananaPro не загружается. Одна странная вещь на wiki-странице lemaker – это первое предложение, в котором говорится:

Примечание: эти инструкции предназначены для Linux-компьютера, а не для Banana Pro / Pi !!

2 Solutions collect form web for “Как создать загрузочную SD-карту для Banana Pi вручную”

Я думаю, вы пропустили загрузчик. U-Boot должен присутствовать на вашем SD. Взгляните на то, как макет SD должен быть для Banana Pi / Pro:

http://wiki.lemaker.org/BananaPro/Pi:Setting_up_the_bootable_SD_card#SD_Card_Layout

Вот мой отчет о более глубоких погружениях в процесс загрузки на BananaPro / Pi. Прежде всего вам понадобится последовательный TTL UART-конвертер RS232 для взаимодействия с встроенным UART.

Заголовок интерфейса BananaPro UART

После этого вы можете открыть это последовательное устройство для изучения процедуры загрузки (будьте осторожны и не оставляйте вывод VCC вашего конвертера TTL-UART без подключения к плате. Если ваш конвертер использует 5V TTL, вы можете повредить BananaPro при подключении VCC к нему.)

На терминале я получил такой вывод:

  U-Boot SPL 2014.04-10733-gbb5691c (Dec 18 2014 - 12:54:35) Board: BananaPro DRAM: 1024 MiB CPU: 960000000Hz, AXI/AHB/APB: 3/2/2 spl: not an uImage at 1600 U-Boot 2014.04-10733-gbb5691c (Dec 18 2014 - 12:54:35) Allwinner Technology CPU: Allwinner A20 (SUN7I) Board: BananaPro I2C: ready DRAM: 1 GiB MMC: SUNXI SD/MMC: 0 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: dwmac.1c50000 Hit any key to stop autoboot: 0 reading uEnv.txt 354 bytes read in 17 ms (19.5 KiB/s) Loaded environment from uEnv.txt Running uenvcmd ... reading /script.bin 50564 bytes read in 100 ms (493.2 KiB/s) reading /uImage Error reading cluster ** Unable to read file /uImage ** ## Booting kernel from Legacy Image at 48000000 ... Image Name: Linux-3.4.103 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 4822880 Bytes = 4.6 MiB Load Address: 40008000 Entry Point: 40008000 Verifying Checksum ... Bad Data CRC ERROR: can't get kernel image! ** Can't read partition table on 0:0 ** ** Invalid partition 1 ** 

Вполне вероятно, что вы потерялись в виде оболочки, предоставляемой u-boot после неудачной процедуры загрузки. Оттуда вы можете использовать инструменты u-boot, чтобы перенести некоторые диагностические функции. Вот список команд , хотя возможно, что не все из них доступны.

В моем случае последние несколько строк загрузочного вывода привели к выводу, что u-boot скомпилирован таким образом, что он ищет второй раздел и в конечном итоге создает CRC для некоторых данных. Поскольку моя цель состояла в том, чтобы опустить второй раздел, я думаю, единственным решением является компиляция двоичного файла u-boot с необходимыми изменениями.

  • Получение U-Boot для загрузки dtb из изображения FIT
  • Установить разрешение видео при загрузке?
  • Ошибка компиляции u-boot
  • Проверка CRC файловой системы
  • Почему U-Boot на Cubox постоянно перезагружается с ошибкой «** Файл не найден /boot.scr **»?
  • Доступ к корневой файловой системе и подкаталогам из U-boot?
  • Как подключить несколько папок uboot bootargs
  • Как создать изображение Uboot Initramfs для arm64
  • Загрузка системы ARM с SD-карты с помощью uboot - как разместить все в одном разделе FAT?
  • Как узнать, какой ящик дерева устройств (dtb-файл) я использую?
  • Как загрузить оригинальный файл ramdisk на компьютер?
  • Interesting Posts

    Как обновить шлюз с помощью nmcli

    сборка / сборка заголовков ядра

    Как ограничить один пользовательский файл другим пользователем

    Постепенно заменяйте, как в Vim

    Команда Linux для возврата всех файлов, начинающихся с TEMP, но не заканчивающихся двойными цифрами

    Кто выполняет эту работу: ffmpeg или shell?

    Постоянное решение: файлы, строки без добавления \ n в командной строке

    Как может пользователь, не являющийся пользователем root, проверить, экспортирована ли FS на сервер?

    Btrfs RAID1 несовместимые диски полностью

    Сканер штрих-кода USB не работает на Raspbian

    Как интерпретировать восьмеричный дамп двоичного файла?

    Что такое сочетание клавиш xfce4-keyboard «Свойство» для привязки левой кнопки мыши?

    как принудительно кодировать символы сценария оболочки из сценария

    Как установить mplayer на debian sid?

    Запустить команду bash после некоторых одновременных команд?

    Linux и Unix - лучшая ОС в мире.