Любое хорошее описание процесса загрузки Raspberry Pi и структуры разделов диска?
Что хранится в каждом разделе (и почему)?
RPI загружается с SD-карты (сектор ноль) или прошивка считывает со структуры диска?
Я предполагаю, что, поскольку NOOBS создан для копирования нескольких файлов под любой операционной системой, прошивка RPI знает о структуре диска MS-DOS (высокого уровня) и находит ее в памяти SD.
Я хочу клонировать хорошую SD-карту на большую SD-карту, чтобы расширить доступное пространство.
Могу ли я создать и разделить новую SD и просто DD каждый раздел на новое устройство? Какие разделы нужны?
'linux'
Раздел на новом устройстве будет больше , чем оригинал , а затем расширить дисковое пространство?
Может быть, клонировать в новую карту и расширить только последний раздел (p6), чтобы использовать доступное пространство, но я не хочу использовать метод проб и ошибок, хотел бы знать, как и почему.
Почему мой вопрос?
Большинство карт RPI SD имеют два раздела (fdisk), возможно, при установке из .img
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 2048 155647 153600 75M c W95 FAT32 (LBA)
/dev/mmcblk0p2 157696 15351807 15194112 7.3G 83 Linux
Однако у меня есть один с 6 разделами, это структура, унаследованная от NOOBS.
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 8192 1675781 833795 e W95 FAT16 (LBA)
/dev/mmcblk0p2 1679360 15499263 6909952 85 Linux extended
/dev/mmcblk0p3 15499264 15564799 32768 83 Linux
/dev/mmcblk0p5 1687552 1810431 61440 c W95 FAT32 (LBA)
/dev/mmcblk0p6 1818624 15499263 6840320 83 Linux
Я думаю, что-то не так с этой картиной. Два раздела W95?
Я хотел бы клонировать только правильные разделы на новую карту. Я должен много поработать над этой работающей SD, чтобы начать все заново! (Кстати, у меня есть несколько хороших резервных копий).
Некоторые заметки.
раздел p1
-rwxr-xr-x 1 root root 18K 2015-03-09 04:45 bootcode.bin
-rwxr-xr-x 1 root root 2.2K 2015-03-09 04:45 INSTRUCTIONS-README.txt
drwxr-xr-x 4 root root 32K 2015-03-09 04:45 os
...
-rwxr-xr-x 1 root root 542K 2015-03-09 04:45 recovery.elf
-rwxr-xr-x 1 root root 0 2015-03-09 04:45 RECOVERY_FILES_DO_NOT_EDIT
-rwxr-xr-x 1 root root 2.1M 2015-03-09 04:45 recovery.img
-rwxr-xr-x 1 root root 20M 2015-03-09 04:45 recovery.rfs
-rwxr-xr-x 1 root root 9.5K 2015-03-09 04:45 riscos-boot.bin
drwxr-xr-x 2 root root 8.0K 2015-12-05 18:13 System Volume Information
раздел p2
mount: /dev/mmcblk0p2: can't read superblock
раздел p3
-rw-r--r-- 1 root root 274 1969-12-31 19:18 installed_os.json
drwx------ 2 root root 12K 1969-12-31 19:00 lost+found
-rw-r--r-- 1 root root 86 1969-12-31 19:18 noobs.conf
Раздел p4
не существует.
Раздел p5
:
-rwxr-xr-x 1 root root 9.7K 2015-12-01 20:17 bcm2708-rpi-b.dtb
...
-rwxr-xr-x 1 root root 18K 2015-12-01 20:17 bootcode.bin
-rwxr-xr-x 1 root root 120 1979-12-31 19:00 cmdline.txt
-rwxr-xr-x 1 root root 1.5K 2015-11-23 09:01 config.txt
-rwxr-xr-x 1 root root 19K 2015-10-14 05:43 COPYING.linux
...
-rwxr-xr-x 1 root root 9.5K 2015-12-01 20:17 fixup_x.dat
-rwxr-xr-x 1 root root 137 2015-02-16 09:57 issue.txt
-rwxr-xr-x 1 root root 3.9M 2015-12-01 20:17 kernel7.img
...
-rwxr-xr-x 1 root root 591K 2015-12-01 20:17 start_cd.elf
...
Перегородка p6
( настоящий распбиан )
drwxr-xr-x 2 root root 4.0K 2015-07-28 21:40 bin
drwxr-xr-x 2 root root 4.0K 2015-02-15 09:09 boot
drwxr-xr-x 119 root root 4.0K 2015-12-23 15:36 etc
drwxr-xr-x 4 root root 4.0K 2015-12-19 20:53 home
drwxr-xr-x 15 root root 4.0K 2015-12-20 22:08 lib
drwx------ 2 root root 16K 2015-02-15 06:21 lost+found
....
drwxr-xr-x 12 root root 4.0K 2015-11-04 15:18 var
p2
имеет) расширенным разделом - в данном случае «Linux», и это контейнер для остальных нужно больше 4 - и есть несколько способов организовать эти «логические» разделы внутри расширенного.Ответы:
Мой окончательный результат перехода на SD-карту большего размера в настройках noobs выглядит следующим образом.
Я делаю резервную копию оригинального живого образа на временном внешнем диске, который используется совместно с Windows, и запасная карта памяти сделает это.
Вы также можете выполнить резервное копирование с помощью win32DiskImager, затем я записал образ на большую SD-карту (я увеличил размер с 8 до 16 ГБ), используя win32DiskImager.
Я загрузил только что созданную SD. На этом этапе SD сохранил те же разделы, первичные, расширенные и логичные. Так что загрузка должна работать без сбоев.
С помощью
Сделайте живой скриншот текущей таблицы разделов с помощью
p
команды.Удалите неиспользуемый и ненужный раздел № 3 (p3), расположенный в конце физического «диска» (после расширенного раздела № 2) с помощью
d
.Затем смело удаляйте раздел № 2 (p2), вложенный логический раздел также исчезнет.
Воссоздайте расширенный раздел № 2, но теперь, используя все доступное пространство.
Чтобы воссоздать # 2, используйте точно такой же начальный сектор и позвольте
fdisk
дать вам конечный сектор. Используйтеp
verify и тип расширенного типа '85', а новый конечный сектор действительно больше исходного.Создайте заново два предыдущих логических раздела: начните с логического раздела № 5 (p5); для начального сектора используйте точный сектор из предыдущего скриншота, то же самое с конечным сектором (этот логический диск не будет расти), используйте
t
для установки идентификатораc
(MS-DOS). Затем заново создайте раздел # 6 (p6) с тем же начальным сектором, что и раньше, но с конечным сектором, выбранным с помощьюfdisk
иp' id
83`.Проверьте свои записи с помощью
p
и, если и только если, выглядит нормально, просто напишите таблицу разделов, вw
противном случае просто ^ C и начните снова.Перезагрузитесь и скрестите пальцы. Raspbian может перезагрузиться дважды.
Затем просто раскройте файловую систему
Это конечный результат, теперь с дополнительными 8 ГБ!
Итак, теперь мой конечный сектор составляет 14 442 496 из 6840 320.
Ботинок
Я знаю, что эта тема находится в другом месте, однако это полезно знать.
У Raspberry есть два встроенных процессора: GPU (графический процессор) и ARM, каждый со своей задачей. Графический процессор разделяет память с ARM, очень эффективным процессором общего назначения RISC (Reduced Instruction Set Computer), работающим в соответствии с отраслевым стандартом. Все в корпусе SoC BCM2835 (система на чипе)
После включения питания управление сначала передается графическому процессору, только ядро в конце процесса загрузки будет работать на процессоре ARM.
На первом этапе графический процессор запустит встроенное программное обеспечение ПЗУ для загрузки
bootcode.bin
в кэш-память L2 и передачи управления.bootcode.bin
включит SD-карту, включит SDRAM и использует первый раздел MS-DOS, чтобы найти, загрузить и запустить 'start.elf'.На этом этапе рассматриваются следующие файлы
bootcode.bin
из первого раздела MS-DOS на SD-карте:Существует множество опций, которые можно настроить
config.txt
. Вы можете редактировать файл, монтирующий SD на внешнем компьютере или просто редактировать на работающем устройстве:Типичные изменения в config.txt связаны с разгоном , HDMI , размером экрана , аспектом , камерой , установленным MAC-адресом и т. Д.
Как видите, назначенный загрузочный раздел, с которого
kernel.img
будет выполняться загрузка, - это / dev / mmcblk0p6, и это второй требуемый раздел на вашей SD-карте, отформатированный как 'ext4' (Linux или Id '83' в жаргоне fdisk).Наконец,
start.elf
загрузится и запуститсяkernel.img
ваше ядро Linux.Вы можете (должны?) Обновить ядро с помощью
rpi-update
; если не там простоapt-get install rpi-update
).примечание:
sudo
префикс удален для краткости.источник
Если вы воспользуетесь Google для Raspberry PI Boot, вы найдете много лотов, в том числе Какова последовательность загрузки? (произошли некоторые незначительные изменения).
What is stored on each partition (and why)?
Это зависит от того, как он был настроен и какой дистрибутив используется.Does the RPI boot from the SD card (sector zero) or the firmware reads from the disk structure?
Нет.Can I create and partition a new SD and just DD each partition to the new device?
Да. Хотя вам может быть лучше клонировать карту и расширить раздел.Most RPI SD cards have two (fdisk) partitions, perhaps when installed from a .img
В то время как Raspbian делает, раздел FAT32 обычно начинается с 8192, что идеально подходит для SD-карт. (Разделы должны быть расположены на границе стереть группу блоков 4M.)However I have one with as many as 6 partitions, some overlapping other sectors, perhaps this is the structure when started/inherited from NOOBS.
Вы должны понимать расширенные разделы. Попробуйте вики.источник