Да

Да

Я прочитал и следовалМожно ли обновить, модернизировать и установить программное обеспечение перед прошивкой образа?. Мне удалось смонтировать официальный образ Arch, синхронизировать базу данных и обновить предустановленные пакеты. К сожалению, это было довольно медленно. Я думаю, это было медленно, потому что pacmanэмулировалось, что кажется немного излишним.

Я провел небольшое исследование и man pacmanпредлагаю следующий вариант

-r, --root
Указать альтернативный корень установки (по умолчанию /). Это не следует использовать как способ установки программного обеспечения в /usr/local вместо /usr. Этот параметр используется, если вы хотите установить пакет на временно смонтированный раздел, который «принадлежит» другой системе.
ПРИМЕЧАНИЕ: если путь к базе данных или файлу журнала не указаны ни в командной строке, ни вpacman.conf(5), их местоположение по умолчанию будет внутри этого корневого пути.

Можно ли использовать эту опцию для установки пакетов на смонтированный образ?

решение1

Да

Это не слишком сложно. Убедитесь, что вы следовали инструкциям наМожно ли обновить, модернизировать и установить программное обеспечение перед прошивкой образа?внимательно и qemu-user-staticправильно ли вы выполнили установку на смонтированную систему.

pacman.conf

Файл /etc/pacman.confуправляет pacman, и обычно нам не нужно его редактировать. Однако есть проблема с поставляемым pacman.confпри использовании таким образом. Он включает директиву

Include = /etc/pacman.d/mirrorlist

К сожалению, это берет список зеркал из вашей хостовой системы, которая, вероятно, не будет зеркалировать пакеты ARM. Скопируйте /etc/pacman.confиз вашего монтирования в соответствующий каталог и замените эту строку на

Server = http://mirror.archlinuxarm.org/arm/$repo

Вы можете найти мою адаптированную версию pacman.confна сайтегитхаб.

Бегpacman

Теперь вы можете запустить pacman. Предполагая, что ваш файл конфигурации находится в вашем pwd, запустите

sudo pacman -r <mount-point> --config pacman.conf -Syu

Рекомендации

  1. Проект Github, который является ответвлением от @JivingsПроект Github.

Связанный контент