Intereting Posts
SSH Подключение к локальной сети без переадресации портов? Удалить длинную строку из файлов как проверить, работает ли iptable правило Задачи автоматизации для системных администраторов Каждый пользователь получает свои собственные tty (ы)? Пакетное перемещение всех файлов из подкаталогов в родительский каталог, но файлы имеют одинаковое имя / sys / class / drm структура каталогов Оставайтесь в том же рабочем каталоге при смене на sudo Является ли монолитная природа Linux (часть) проблемой с драйверами ARM? Каков наилучший способ обновления Ruby 2.x на Debian 7? Почему приложение «ssh -X» работает медленнее, чем vncviewer через «ssh -X» Centos – список всех пакетов установки, упорядоченный по имени Программа оболочки, которая считывает строки и выходные строки с номерами строк Как запретить пользователям запускать команды с помощью косой черты для каталога? Синхронный ввод-вывод в файлах sysfs

Как создать загрузочную 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 !!

Я думаю, вы пропустили загрузчик. 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 с необходимыми изменениями.