diff --git a/lib/initcpio/install/arch_core_install b/lib/initcpio/install/arch_core_install index ea110586f..79f9a9526 100644 --- a/lib/initcpio/install/arch_core_install +++ b/lib/initcpio/install/arch_core_install @@ -92,11 +92,13 @@ install () # generate packages.txt sort -u ${TEMPDIR}/core-$(uname -m)/pkg/packages.txt -o ${TEMPDIR}/core-$(uname -m)/pkg/packages.txt ### HACK add grub2 package to image - pacman -Sw --noconfirm grub2 freetype2 - grub2ver="$(echo $(pacman -Si grub2 | grep Version | cut -d ":" -f 2))" - freetype2ver="$(echo $(pacman -Si freetype2 | grep Version | cut -d ":" -f 2))" - cp /var/cache/pacman/pkg/grub2-${grub2ver}-$(uname -m).pkg.tar.* ${TEMPDIR}/core-$(uname -m)/pkg/ - cp /var/cache/pacman/pkg/freetype2-${freetype2ver}-$(uname -m).pkg.tar.* ${TEMPDIR}/core-$(uname -m)/pkg/ + for i in grub2 freetype2; do + pacman -Sw --noconfirm $i + pkgver="$(echo $(pacman -Si $i | grep Version | cut -d ":" -f 2))" + cp /var/cache/pacman/pkg/$i-${pkgver}-$(uname -m).pkg.tar.* ${TEMPDIR}/core-$(uname -m)/pkg/ + repo-add ${TEMPDIR}/core-$(uname -m)/pkg/grub2.db.tar.gz /var/cache/pacman/pkg/${i}-${pkgver}-$(uname -m).pkg.tar.* || return 1 + done + rm ${TEMPDIR}/core-$(uname -m)/pkg/grub2.db.tar.gz.old # generate iso title name [ "${RUNPROGRAM}" = "mkisolinux" ] && echo "Arch_Linux_CORE $(uname -m)" >> ${ISONAME} } diff --git a/usr/share/archboot/installer/setup b/usr/share/archboot/installer/setup index 054a63637..087aab712 100644 --- a/usr/share/archboot/installer/setup +++ b/usr/share/archboot/installer/setup @@ -1946,6 +1946,15 @@ pacman_conf_extra() { echo "Server = ${serverurl}" >> /tmp/pacman.conf } +# pacman_conf_grub2() +# adds grub2 repository for media installation mode +pacman_conf_grub2() { + local serverurl="${SYNC_URL}" + # Setup a pacman.conf in /tmp + echo "[grub2]" >> /tmp/pacman.conf + echo "Server = ${serverurl}" >> /tmp/pacman.conf +} + # configures pacman and syncs for the first time on destination system # params: none # returns: 1 on error @@ -2773,13 +2782,12 @@ dogrub2(){ # grub2 is not part of core repository and conflicts with grub -> uninstall grub first! if [ "$MODE" = "ftp" ]; then pacman_conf_extra - prepare_pacman - DIALOG --infobox "Installing grub2 package..." 0 0 - pacman -S grub2 2>&1 >> /tmp/pacman.log else - DIALOG --infobox "Installing grub2 package..." 0 0 - $PACMAN -U /src/core-$(uname -m)/pkg/grub2-* /src/core-$(uname -m)/pkg/freetype2-* 2>&1 >> /tmp/pacman.log + pacman_conf_grub2 fi + prepare_pacman + DIALOG --infobox "Installing grub2 package..." 0 0 + $PACMAN -S grub2 2>&1 >> /tmp/pacman.log if [ ! -f $DESTDIR/boot/grub/grub.cfg ]; then DIALOG --msgbox "Error: Couldn't find $DESTDIR/boot/grub/grub.cfg Is GRUB2 installed?" 0 0 return 1