Write/rootfs
Введение
Данная страница посвящена описанию способов установки архивов корневых файловых систем (rootfs) на физические носители (flash-накопители).
Установка rootfs на SD-карту с помощью alt-rootfs-installer
Потребуются:
- micro-SD карта (или иной накопитель, если целевое устройство его поддерживает) достаточного объёма (не менее 8 ГБ; рекомендуется 16 ГБ и более; для сборок без DE должно хватить 4 ГБ);
- операционная система Linux (установленная или Live);
- программа для автоматической установки архива с rootfs - alt-rootfs-installer. Программа уже входит в комплект стартеркитов и дистрибутивов 9 платформы, но программу всё же лучше обновить перед применением. Также программа есть в репозиториях 8 платформы. Если вы используете другой дистрибутив Linux, вы можете скачать архив с исходниками последней версии, распаковать его архиватором и использовать, не устанавливая в систему.
Порядок действий для установки на SD-карту:
- Скачиваем интересующий вас rootfs
- Выясняем поддерживается ли целевое устройство:
alt-rootfs-installer --supported
В списке нужно найти название загрузчика (u-boot), предназначенного для вашего устройства, и указать его в качестве цели (--target=<имя_u-boot_загрузчика>). Список разбит по производителям SOC и архитектурам (armh, aarch64 и т.д.). Особняком стоят загрузчики для Raspberry Pi. rpi2 предназначен для записи armh rootfs для Raspberry Pi 2 и 3. rpi3 для записи aarch64 rootfs на Raspberry Pi 3.
- Получаем права суперпользователя root:
su -
- Определяем имя целевого устройства в вашей системе. SD-карта обычно определяется в системе как /dev/mmcblk0, но может определяться и как /dev/sdX, где X - маленькая латинская буква от b до z (на /dev/sda установлена ваша система)
- Устанавливаем командой:
alt-rootfs-installer --rootfs=<путь/до/rootfs.tar.xz> --media=/dev/mmcblkX --target=<имя_u-boot_загрузчика>
Примеры создания загрузочных SD-карт
Jetson Nano
Команда для установки alt-p9-cinnamon-tegra-20190721-aarch64.tar.xz на SD-карту /dev/mmcblk0 с драйверами для Nvidia Jetson Nano будет выглядеть так:
alt-rootfs-installer --rootfs=alt-p9-cinnamon-tegra-20190721-aarch64.tar.xz --media=/dev/mmcblk0 --target=jetson-nano
После чего вам будет предложено скачать архив с драйверами:
*** l4t-jetson-driver-package-32-1-jetson-nano not downloaded = Download? yes
Вы должны ввести yes и нажать Enter. После чего начнётся загрузка архива. Это может занять продолжительное время. После успешной загрузки архива на ваш компьютер, у вас будет запрошено подтверждение на запись SD-карты с информацией.
===================================================== = Selected Media: /dev/mmcblk0 = U-Boot Target: jetson-nano = Selected rootfs: /home/antohami/out/snapshots/20190721/regular-cinnamon-tegra-20190721-aarch64.tar = Log file: /tmp/.private/root/alt-rootfs-installer.log ===================================================== ***************************************************** ***************************************************** ******** WARNING! ALL DATA WILL BE DESTROYED ******** ***************************************************** ***************************************************** Type 'YES' to proceed, anything else to exit now = Proceed? yes
Вы также должны написать yes и нажать Enter. По завершении записи должно быть
= Installation Complete! Insert into the jetson-nano and boot.
ЭЛВИС Салют ЭЛ24МП2 (mcom02)
Для установки на процессорный модуль ЭЛВИС Салют ЭЛ24МП2 потребуются специальные сборки с ядром mcom02. В названии rootfs должно присутствовать mcom02. Установка осуществляется командой:
alt-rootfs-installer --rootfs=alt-p9-lxde-mcom02-20190729-armh.tar.xz --media=/dev/mmcblk0
Также можно установить вручную
parted /dev/mmcblk0 mktable msdos parted -a optimal /dev/mmcblk0 mkpart primary ext4 2MIB 100% mkfs.ext4 -L ROOT /dev/mmcblk0p0 partprobe mkdir -p /mnt/destination mount /dev/mmcblk0p0 /mnt/destination tar -Jxf alt-p9-lxde-mcom02-20190729-armh.tar.xz /mnt/destination sync eject /dev/mmcblk0
Raspberry Pi 3
Команда для установки regular-mate-20190228-aarch64.tar.xz на SD-карту /dev/mmcblk0 с загрузчиком для Raspberri Pi 3 будет выглядеть так:
alt-rootfs-installer --rootfs=regular-mate-20190228-aarch64.tar.xz --media=/dev/mmcblk0 --target=rpi3
Raspberry Pi 2
Команда для установки regular-mate-20190228-armh.tar.xz на SD-карту /dev/mmcblk0 с загрузчиком для Raspberri Pi 2 будет выглядеть так:
alt-rootfs-installer --rootfs=regular-mate-20190228-armh.tar.xz --media=/dev/mmcblk0 --target=rpi2
Orange Pi Prime
Команда для установки regular-mate-20190228-aarch64.tar.xz на SD-карту /dev/mmcblk0 с загрузчиком для Raspberri Pi 2 будет выглядеть так:
alt-rootfs-installer --rootfs=regular-mate-20190228-aarch64.tar.xz --media=/dev/mmcblk0 --target=orangepi_prime
Замена загрузчика
Одну и ту же micro-SD карту можно легко использовать на другом устройстве, лишь заменив загрузчик (это касается только загрузчиков для одного и того же типа SOC):
alt-rootfs-installer --media=/dev/mmcblkX --target=<имя_u-boot_загрузчика>
Запись дополнительного загрузчика
Существует возможность иметь одновременно загрузчик для Raspberry Pi и ещё одного компьютера (только на базе SOC Allwinner), так как Raspberry Pi размещает свой загрузчик на первом разделе с файловой системой FAT.
Для этого необходимо при установке rootfs в качестве target указать rpi2 для armh или rpi3 для aarch64:
alt-rootfs-installer --rootfs=<путь/до/rootfs.tar.xz> --media=/dev/mmcblkX --target=rpi3
После чего установить второй загрузчик:
alt-rootfs-installer --media=/dev/mmcblkX --target=<имя_u-boot_загрузчика>