Write/rootfs: различия между версиями

Материал из ALT Linux Wiki
(не показано 17 промежуточных версий 3 участников)
Строка 1: Строка 1:
== Запись rootfs на SD-карту с помощью arm-rootfs-installer ==
== Введение ==
 
Данная страница посвящена описанию способов установки архивов корневых файловых систем (rootfs) на физические носители (flash-накопители).
 
 
 
== Установка rootfs на SD-карту с помощью alt-rootfs-installer ==


'''Потребуются:'''
'''Потребуются:'''


* micro-SD карта не менее 4 ГБ (рекомендуется 8 ГБ и более);
* micro-SD карта (или иной накопитель, если целевое устройство его поддерживает) достаточного объёма (не менее 8 ГБ; рекомендуется 16 ГБ и более; для сборок без DE должно хватить 4 ГБ);


* программа для автоматчиеской установки архива с rootfs - [https://packages.altlinux.org/ru/sisyphus/srpms/arm-rootfs-installer arm-rootfs-installer]. Программу можно установить из репозитория или использовать как портативную установку на любой Unix-подобной ОС, скачав и распаковав архив с исходниками из src.rpm пакета.
* операционная система Linux (установленная или Live);
 
* программа для автоматической установки архива с rootfs - [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer]. Программа уже входит в комплект [https://www.altlinux.org/Starterkits стартеркитов] и дистрибутивов '''9 платформы''', но программу всё же лучше обновить перед применением. Также программа есть в репозиториях [https://www.altlinux.org/index.php?title=P8&redirect=no 8 платформы]. Если вы используете другой дистрибутив Linux, вы можете скачать [http://git.altlinux.org/people/antohami/public/?p=alt-rootfs-installer.git;a=blob_plain;f=alt-rootfs-installer.tar;hb=release архив с исходниками] последней версии, распаковать его архиватором и использовать, не устанавливая в систему.


'''Порядок действий для установки на SD-карту:'''
'''Порядок действий для установки на SD-карту:'''
* Скачиваем интересующий вас rootfs


* Выясняем поддерживается ли целевое устройство:
* Выясняем поддерживается ли целевое устройство:


<pre> arm-rootfs-installer --supported </pre>  
<pre> alt-rootfs-installer --supported </pre>  
 
В списке нужно найти название загрузчика (u-boot), предназначенного для вашего устройства, и указать его в качестве цели (--target=<имя_u-boot_загрузчика>). Список разбит по производителям SOC и архитектурам (armh, aarch64 и т.д.). Особняком стоят загрузчики для Raspberry Pi. '''rpi2''' предназначен для записи armh rootfs для Raspberry Pi 2 и 3. '''rpi3''' для записи aarch64 rootfs на Raspberry Pi 3.
 
* Получаем права суперпользователя ''root'':


В списке нужно найти название загрузчика u-boot, предназначенного для вашего устройства. Список разбит по производителям SOC и архитектурам (armh или aarch64). Особняком стоят загрузчики для Raspberry Pi. ''rpi2'' предназначен для записи armh rootfs для Raspberry Pi 2 и 3. ''rpi3'' для записи aarch64 rootfs на Raspberry Pi 3.
<pre>su -</pre>
 
* Определяем имя целевого устройства в вашей системе. SD-карта обычно определяется в системе как /dev/mmcblk0, но может определяться и как /dev/sdX, где X - маленькая латинская буква от b до z (на /dev/sda установлена ваша система)


* Устанавливаем командой:
* Устанавливаем командой:


<pre>arm-rootfs-installer --rootfs=<путь/до/rootfs.tar.xz> --media=/dev/mmcbkX --target=<имя_u-boot_загрузчика></pre>
<pre>alt-rootfs-installer --rootfs=<путь/до/rootfs.tar.xz> --media=/dev/mmcblkX --target=<имя_u-boot_загрузчика></pre>
 
== Примеры создания загрузочных SD-карт ==
 
=== Jetson Nano ===
 
Команда для установки alt-p9-cinnamon-tegra-20190721-aarch64.tar.xz на SD-карту /dev/mmcblk0 с драйверами для Nvidia Jetson Nano будет выглядеть так:
 
<pre>alt-rootfs-installer --rootfs=alt-p9-cinnamon-tegra-20190721-aarch64.tar.xz --media=/dev/mmcblk0 --target=jetson-nano</pre>
 
После чего вам будет предложено скачать архив с драйверами:
 
<pre>*** l4t-jetson-driver-package-32-1-jetson-nano not downloaded
= Download? yes</pre>
 
Вы должны ввести '''yes''' и нажать '''Enter'''. После чего начнётся загрузка архива. Это может занять продолжительное время. После успешной загрузки архива на ваш компьютер, у вас будет запрошено подтверждение на запись SD-карты с информацией.
 
<pre>
=====================================================
= 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</pre>
 
Вы также должны написать '''yes''' и нажать '''Enter'''.
По завершении записи должно быть
 
<pre>= Installation Complete! Insert into the jetson-nano and boot.</pre>
 
=== ЭЛВИС Салют ЭЛ24ПМ2 (mcom02) ===
 
Для установки на процессорный модуль [https://www.altlinux.org/Mcom02 ЭЛВИС Салют ЭЛ24ПМ2] потребуются специальные сборки с ядром [https://packages.altlinux.org/ru/sisyphus/specfiles/kernel-image-mcom02 mcom02]. В названии rootfs должно присутствовать ''mcom02''.
Установка осуществляется командой:
 
<pre>alt-rootfs-installer --rootfs=alt-p9-lxde-mcom02-20190729-armh.tar.xz --media=/dev/mmcblk0</pre>
 
Также можно установить вручную, выполнив следующие команды от root:
<pre>umount /dev/mmcblk0p?
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
umount /mnt/destination
</pre>
 
Или же можно воспользоваться графической утилитой вроде gparted.
На microSD-карте необходимо создать таблицу разделов msdos, один раздел, отформатировать его в файловую систему ext4fs, файловой системе присвоить метку ROOT. После чего примонтировать созданный раздел и распаковать архив rootfs на него.
 
=== Raspberry Pi 3 ===
 
Команда для установки regular-mate-20190228-aarch64.tar.xz на SD-карту /dev/mmcblk0 с загрузчиком для Raspberri Pi 3 будет выглядеть так:
 
<pre>alt-rootfs-installer --rootfs=regular-mate-20190228-aarch64.tar.xz --media=/dev/mmcblk0 --target=rpi3</pre>
 
=== Raspberry Pi 2 ===
 
Команда для установки regular-mate-20190228-armh.tar.xz на SD-карту /dev/mmcblk0 с загрузчиком для Raspberri Pi 2 будет выглядеть так:
 
<pre>alt-rootfs-installer --rootfs=regular-mate-20190228-armh.tar.xz --media=/dev/mmcblk0 --target=rpi2</pre>
 
=== Orange Pi Prime ===
 
Команда для установки regular-mate-20190228-aarch64.tar.xz на SD-карту /dev/mmcblk0 с загрузчиком для Raspberri Pi 2 будет выглядеть так:
 
<pre>alt-rootfs-installer --rootfs=regular-mate-20190228-aarch64.tar.xz --media=/dev/mmcblk0 --target=orangepi_prime</pre>


Команда для установки regular-mate-20190228-aarch64.tar.xz на SD-карту /dev/mmcbk1 с загрузчиком для Raspberri Pi 3 будет выглядеть так:
=== Замена загрузчика ===


<pre>arm-rootfs-installer --rootfs=regular-mate-20190228-aarch64.tar.xz --media=/dev/mmcbk1 --target=rpi3</pre>
Одну и ту же micro-SD карту можно легко использовать на другом устройстве, лишь заменив загрузчик (это касается только загрузчиков для одного и того же типа SOC):


* Одну и ту же micro-SD карту можно легко использовать на другом устройстве, лишь заменив загрузчик:
<pre>alt-rootfs-installer --media=/dev/mmcblkX --target=<имя_u-boot_загрузчика></pre>


<pre>arm-rootfs-installer --media=/dev/mmcbkX --target=<имя_u-boot_загрузчика></pre>
=== Запись дополнительного загрузчика ===


* Также есть возможность иметь одновременно загрузчик для Raspberry Pi и ещё одного компьютера, так как Raspberry Pi размещает свой загрузчик на первом разделе с файловой системой FAT.
Существует возможность иметь одновременно загрузчик для Raspberry Pi и ещё одного компьютера (только на базе SOC Allwinner), так как Raspberry Pi размещает свой загрузчик на первом разделе с файловой системой FAT.


Но для этого необходимо при установке rootfs в качестве target указать rpi2 для armh или rpi3 для aarch64:
Для этого необходимо при установке rootfs в качестве target указать rpi2 для armh или rpi3 для aarch64:


<pre>arm-rootfs-installer --rootfs=<путь/до/rootfs.tar.xz> --media=/dev/mmcbkX --target=rpi3</pre>
<pre>alt-rootfs-installer --rootfs=<путь/до/rootfs.tar.xz> --media=/dev/mmcblkX --target=rpi3</pre>


После чего установить второй загрузчик:
После чего установить второй загрузчик:


<pre>arm-rootfs-installer --media=/dev/mmcbkX --target=<имя_u-boot_загрузчика></pre>
<pre>alt-rootfs-installer --media=/dev/mmcblkX --target=<имя_u-boot_загрузчика></pre>


[[Категория:Sisyphus]]
[[Категория:Sisyphus]]

Версия от 02:32, 3 августа 2019

Введение

Данная страница посвящена описанию способов установки архивов корневых файловых систем (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

Также можно установить вручную, выполнив следующие команды от root:

umount /dev/mmcblk0p?
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
umount /mnt/destination

Или же можно воспользоваться графической утилитой вроде gparted. На microSD-карте необходимо создать таблицу разделов msdos, один раздел, отформатировать его в файловую систему ext4fs, файловой системе присвоить метку ROOT. После чего примонтировать созданный раздел и распаковать архив rootfs на него.

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_загрузчика>