Orange Pi 3: перекидываем операционку на eMMC

28 июля, 2022

На моём экземпляре Orange Pi 3 распаяна eMMC размером 8 гигов, поэтому microSD не нужна. Ну, то есть нужна, чтобы загрузиться, а потом систему можно установить на встроенную eMMC. Armbian имеет незатейливый инсталлятор, но я люблю пробежаться по граблям самостоятельно.

Orange PI 3

Встроенная eMMC доступна через /dev/mmcblk2, кроме этого есть ещё /dev/mmcblk2boot0 и /dev/mmcblk2boot1. Для чего — не знаю, на запись они недоступны.

На армбиановском microSD у нас имеется MBR и системный раздел, начинающийся с сектора 8192. Промежуток в 4 мегабайта зарезервирован для uboot.

Перенос начинаем с создания системного раздела на eMMC:

fdisk /dev/mmcblk2

Как пользоваться fdisk знают все, так что добавить мне тут нечего.

Форматируем созданный раздел и копируем туда систему:

mkfs -t ext4 /dev/mmcblk2p1
mkdir /mnt/emmc
mount /dev/mmcblk2p1 /mnt/emmc
mkdir /mnt/root
mount /dev/mmcblk0p1 /mnt/root
rsync -rltvWpog --specials --devices /mnt/root/ /mnt/emmc/

Прописываем UUID нового раздела в файлах /mnt/emmc/boot/armbianEnv.txt и /mnt/emmc/etc/fstab.

Копируем uboot (вторая команда копирует загрузочный код MBR):

dd if=/dev/mmcblk0 of=/dev/mmcblk2 bs=512 seek=1 skip=1 count=8191
dd if=/dev/mmcblk0 of=/dev/mmcblk2 bs=432 count=1

Ну и всё. Тушим свет shutdown now, вынимаем microSD и снова включаем рубильник. Работает? Нет? Ну тогда — пиздец.

Comments

Loading...