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

Существует установщик EXE для Щенка Linux, который загружается от .iso на FAT32, NTFS или файловых системах Linux (т.е. ext2/ext3/ext4, xfs, и т.д.) использующий syslinux и работает в RAM с помощью unionfs/aufs с полным доступом к персистентному устройству хранения данных (диск, SD, карта флэш-памяти, и т.д.).

Другой ISOs может быть смонтирован от командной строки или сценария, конечно, а также путем нажатия на них во включенном файловом менеджере ROX-файлового-сервера. Одно удобное использование этого должно выборочно получить доступ или восстановить файлы от старой версии вместо того, чтобы иметь необходимость откатывать все.

Исходный дистрибутив Linux Щенка ISO, который сам является обычно ext3/4 файловая система, сохранен на нижнем слое стопки aufs. Изменения зарегистрированы в верхнем слои и сброшены к диску, периодически (настраивающемуся) к "savefile". На начальной загрузке исходный ISO загружается в RAM и монтируется только для чтения, затем savefile загружается и монтируется только для чтения для накладывания его и пустой слой чтения-записи, смонтированный для любых новых изменений. Для сохранения истории изменений просто установите автоматическое или ручное привыкание savefile ISO к архивному каталогу.

O/S "разделение на уровни" unionfs/aufs наряду с мультимонтированием файловых систем являются базовыми технологиями на работе здесь, поэтому если Щенок, Linux не работает на Вас, ищут другие дистрибутивы с помощью них.

Существует множество опций инсталляции, доступных для Щенка Linux включая Windows EXE Installer, который является отдельным пакетом, который настраивает загрузчик Windows для двойной загрузки.

5
29.03.2016, 14:45
2 ответа

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

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

3
27.01.2020, 20:41

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

BananaPro UART interface header

После этого вы можете открыть это последовательное устройство для изучения процедуры загрузки (Будьте осторожны и оставьте VCC-контакт вашего конвертера TTL-UART без прикрепления к плате. Если ваш конвертер использует 5В 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 с необходимыми изменениями.

0
27.01.2020, 20:41

Теги

Похожие вопросы