Я прочитал и следовалМожно ли обновить, модернизировать и установить программное обеспечение перед прошивкой образа?. Мне удалось смонтировать официальный образ 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
Рекомендации
- Проект Github, который является ответвлением от @JivingsПроект Github.