aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeal Gompa <ngompa13@gmail.com>2020-01-04 17:52:35 -0500
committerNeal Gompa <ngompa13@gmail.com>2020-01-04 18:06:54 -0500
commitb4da22f2cf860bec7c185a57ba34dd253ac67b12 (patch)
treef2cac5a3ac46bfdd6b11d97fafb41cfb723ed083
parent3c6be8d7ad6c714e7fa60077c1906d3aabe4009a (diff)
downloadmageia4arm-b4da22f2cf860bec7c185a57ba34dd253ac67b12.tar
mageia4arm-b4da22f2cf860bec7c185a57ba34dd253ac67b12.tar.gz
mageia4arm-b4da22f2cf860bec7c185a57ba34dd253ac67b12.tar.bz2
mageia4arm-b4da22f2cf860bec7c185a57ba34dd253ac67b12.tar.xz
mageia4arm-b4da22f2cf860bec7c185a57ba34dd253ac67b12.zip
Initial conversion to use DNF
This change makes it so that the ARM image creation script uses DNF instead of urpmi. This affords several advantages: 1. Mageia images can be created from non-Mageia systems 2. Mageia images can be created from within Mock 3. ARM images can be created from x86_64 hosts 4. Image building can rely on pre-installed repo configurations This also brings us in line with the Docker image creation process, which also uses DNF.
-rw-r--r--README.md20
-rwxr-xr-xcreate_arm_image.sh (renamed from create_arm_img_urpmi.sh)103
-rw-r--r--platforms/bananaPro/README.md4
-rw-r--r--platforms/bananaPro/second_stage_install.sh11
-rw-r--r--platforms/rpi1/second_stage_install.sh2
-rw-r--r--platforms/rpi2/second_stage_install.sh2
-rw-r--r--platforms/rpi3+/second_stage_install.sh2
-rw-r--r--platforms/rpi3+64/second_stage_install.sh2
-rw-r--r--platforms/rpi3/second_stage_install.sh2
-rw-r--r--platforms/xu4/second_stage_install.sh6
-rwxr-xr-xtools/install_graphical.sh2
-rwxr-xr-xtools/install_gstreamer.sh2
-rwxr-xr-xtools/install_video_driver.sh2
-rwxr-xr-xtools/resize_root.sh2
14 files changed, 100 insertions, 62 deletions
diff --git a/README.md b/README.md
index 25b05b1..bf9f678 100644
--- a/README.md
+++ b/README.md
@@ -47,19 +47,19 @@ Par défaut l'utilisateur est "pi" avec le mot de passe "raspberry", et l'admini
<a id="fr_creatimg"/>
### Créer l'image :
-create_arm_img_urpmi.sh --all --config \<dossier de configuration\>
+create_arm_image.sh --all --config \<dossier de configuration\>
Par exemple :
```
su -
<mot de passe root>
cd /home/user/workspace/mageia4arm/
-./create_arm_img_urpmi.sh --all --target bananaPro --size 4 --tainted --nonfree --build-path ./build --config bananaPro 2>&1 | tee -a ./build.log
+./create_arm_image.sh --all --target bananaPro --size 4 --tainted --nonfree --build-path ./build --config bananaPro 2>&1 | tee -a ./build.log
```
Avec cette commande, toutes les étapes (--all) du processus de création pour (--target) la bananaPro sont exécuter. L'image final tiendra sur une carte de (--size) 4Go. Les dépots tainted et nonfree seront activé. Le chemin de construction (--build-path) sera ./build. Finalement, la configuration (--config) sera bananaPro. La suite de la commande, 2>&1 redirige la sortie d'erreur dans la sortie standart et le tout est dupliqué (| tee -a) dans le fichier build.log pour le déboguage.
<a id="fr_help"/>
### Aide :
-create_arm_img_urpmi.sh -h|--help
+create_arm_image.sh -h|--help
Vous pouvez adapter le script "second_stage_install.sh" afin de compléter l'installation.
Des scripts sont disponibles dans le dossier "tools", ils sont copié dans /usr/local/bin/ dans l'image.
@@ -123,8 +123,8 @@ label linux
append root=UUID=<UUID> <BOOT_ARGS>
```
Les balises :
-- \<FDTDIR\> est automatiquement généré par le script ./mageia4arm/create_arm_img_urpmi.sh
-- \<UUID\> est récupéré par le script ./mageia4arm/create_arm_img_urpmi.sh , il peut être nécessaire d'ajouter une initrd pour utiliser l'UUID, autrement il faut spécifier /dev/mmcblkXpY .
+- \<FDTDIR\> est automatiquement généré par le script ./mageia4arm/create_arm_image.sh
+- \<UUID\> est récupéré par le script ./mageia4arm/create_arm_image.sh , il peut être nécessaire d'ajouter une initrd pour utiliser l'UUID, autrement il faut spécifier /dev/mmcblkXpY .
- \<BOOT_ARGS\> est défini dans le fichier ./mageia4arm/platforms/\<LaPlateforme\>/mageia4arm.cfg .
@@ -242,19 +242,19 @@ This repository contains script to make image for arm based systems from Mageia
Choose the config dir you need (rpi or xu4), else create a new config directory with "mageia4arm.cfg.template" in and modify it as you need.
By default username is "pi" with password "raspberry" and root password is "piroot".
-create_arm_img_urpmi.sh --all --config <your config dir\>
+create_arm_image.sh --all --config <your config dir\>
Example given :
```
su -
<root password>
cd /home/user/workspace/mageia4arm/
-./create_arm_img_urpmi.sh --all --target bananaPro --size 4 --tainted --nonfree --build-path ./build --config bananaPro 2>&1 | tee -a ./build.log
+./create_arm_image.sh --all --target bananaPro --size 4 --tainted --nonfree --build-path ./build --config bananaPro 2>&1 | tee -a ./build.log
```
With such command, all steps of the build process for the bananaPro will be executed. The final image will fit into a 4 GB SD card. The nonfree and tainted repositories will be activated. The build path will be the directory ./build. Finaly, the configuration is for bananaPro. The rest of the command, 2>&1 redirect the stderr stream into the stdout and it will be duplicated inside the build.log file for debug purpose.
<a id="en_help"/>
### Help:
-create_arm_img_urpmi.sh -h|--help
+create_arm_image.sh -h|--help
you can adapt the script "second_stage_install.sh" to complete the installation.
Some scripts are available in directory "tools". they are copied in /usr/local/bin/ in the image.
@@ -318,8 +318,8 @@ label linux
append root=UUID=<UUID> <BOOT_ARGS>
```
The tags :
-- \<FDTDIR\> is automatically generated by the script ./mageia4arm/create_arm_img_urpmi.sh
-- \<UUID\> is automatically reused bu the script ./mageia4arm/create_arm_img_urpmi.sh , it might be necessary to add an initrd in order to user the UUID, otherwise it should be specify /dev/mmcblkXpY .
+- \<FDTDIR\> is automatically generated by the script ./mageia4arm/create_arm_image.sh
+- \<UUID\> is automatically reused bu the script ./mageia4arm/create_arm_image.sh , it might be necessary to add an initrd in order to user the UUID, otherwise it should be specify /dev/mmcblkXpY .
- \<BOOT_ARGS\> is defined in the configuration file ./mageia4arm/platforms/\<ThePlatform\>/mageia4arm.cfg
diff --git a/create_arm_img_urpmi.sh b/create_arm_image.sh
index 09bf4a7..5d5f82e 100755
--- a/create_arm_img_urpmi.sh
+++ b/create_arm_image.sh
@@ -55,9 +55,8 @@ function help() {
echo -e "\nBuild levels:"
echo -e "--create-chroot Create the chroot directory"
- echo -e "--addmedia add mirrors"
- echo -e "--update-mirror update urpmi database"
echo -e "--install-basesystem install base system"
+ echo -e "--add-urpmimedia add mirrors for urpmi"
echo -e "--chroot chroot to arm directory and launch packages installation"
echo -e "--create-image Create the image of Mageia ${MAGEIA_VERSION}"
echo "--config Path to config files (rpi1 rpi2 rpi3 rpi3+ xu4)"
@@ -87,7 +86,7 @@ function createchroot()
title "Making chroot"
if ! [ -f /bin/qemu-arm-static ]; then
title "Qemu package not present : installing qemu packages"
- /sbin/urpmi --auto --no-recommends qemu-user-static
+ /usr/bin/dnf --assumeyes --setopt=install_weak_deps=False install qemu-user-static
if [ ${?} -ne 0 ]; then
error "line ${LINENO} can't install qemu-user-static : exiting"
exit ${ERR_1}
@@ -106,9 +105,56 @@ function createchroot()
return 0
}
+# enabling extra Mageia repositories
+function genusemirroroptions()
+{
+ DNF_MIRROROPTS="--nogpgcheck --releasever=${MAGEIA_VERSION}"
+ if [ ! -z "${MIRROR}" ]; then
+ DNF_MIRROROPTS="${DNF_MIRROROPTS} --disablerepo=\* --repofrompath=mgarel,${MIRROR}/media/core/release/ --repofrompath=mgaup,${MIRROR}/media/core/updates/ --enablerepo=mgarel --enablerepo=mgaup"
+ if [ ${NONFREE} -eq 1 ]; then
+ DNF_MIRROROPTS="${DNF_MIRROROPTS} --repofrompath=mgarel-nonfree,${MIRROR}/media/nonfree/release/ --repofrompath=mgaup-nonfree,${MIRROR}/media/nonfree/updates/ --enablerepo=mgarel-nonfree --enablerepo=mgaup-nonfree"
+ fi
+ if [ ${TAINTED} -eq 1 ]; then
+ DNF_MIRROROPTS="${DNF_MIRROROPTS} --repofrompath=mgarel-tainted,${MIRROR}/media/tainted/release/ --repofrompath=mgaup-tainted,${MIRROR}/media/tainted/updates/ --enablerepo=mgarel-tainted --enablerepo=mgaup-tainted"
+ fi
+ fi
+ export DNF_MIRROROPTS
+ return 0
+}
+
+# enabling extra Mageia repositories
+function enableextrarepos()
+{
+ if [ "${MAGEIA_VERSION}" = "cauldron" ]; then
+ extrasect_baseprefix="cauldron"
+ extrasect_updatesprefix="cauldron-updates"
+ else
+ extrasect_baseprefix="mageia"
+ extrasect_updatesprefix="updates"
+ fi
+ if [ ${NONFREE} -eq 1 ]; then
+ title "activating non-free repos"
+ /usr/bin/dnf --installroot="${BUILD_PATH}" config-manager --set-enabled "${extrasect_baseprefix}-${ARM_VERSION}-nonfree" --set-enabled "${extrasect_updatesprefix}-${ARM_VERSION}-nonfree"
+ err=${?}
+ if [ ${err} -ne 0 ]; then
+ error "line ${LINENO} error ${err} - can't activate nonfree repositories : exiting"
+ exit ${ERR_1}
+ fi
+ fi
+ if [ ${TAINTED} -eq 1 ]; then
+ title "activating tainted repos"
+ /usr/bin/dnf --installroot="${BUILD_PATH}" config-manager --set-enabled "${extrasect_baseprefix}-${ARM_VERSION}-tainted" --set-enabled "${extrasect_updatesprefix}-${ARM_VERSION}-tainted"
+ err=${?}
+ if [ ${err} -ne 0 ]; then
+ error "line ${LINENO} error ${err} - can't activate tainted repositories : exiting"
+ exit ${ERR_1}
+ fi
+ fi
+ return 0
+}
-# adding Mageia repositories
-function addmedia()
+# adding Mageia urpmi repositories
+function addurpmimedia()
{
title "Creating media ${MIRROR}"
@@ -150,18 +196,6 @@ function addmedia()
}
-function updatemirror()
-{
- title "updating mirror"
- /sbin/urpmi.update -a --urpmi-root "${BUILD_PATH}"
- if [ ${?} -ne 0 ]; then
- error "line ${LINENO} can't update mirrors : exiting"
- exit ${ERR_1}
- fi
- return 0
-}
-
-
function installbasesystem()
{
# Create Build path
@@ -183,19 +217,24 @@ function installbasesystem()
fi
title "installing basesystem"
- /sbin/urpmi --urpmi-root "${BUILD_PATH}" --ignorearch --no-verify-rpm --auto --split-level 200 --split-length 0 shadow-utils basesystem-minimal
+ /usr/bin/dnf --installroot="${BUILD_PATH}" --setopt=ignorearch=True ${DNF_MIRROROPTS} --assumeyes install shadow-utils basesystem-minimal
if [ ${?} -ne 0 ]; then
error "line ${LINENO} error installing shadow-utils or basesystem-minimal : exiting"
exit ${ERR_1}
fi
- #/sbin/urpmi --urpmi-root "${BUILD_PATH}" --ignorearch --no-verify-rpm --auto --split-level 200 --split-length 0 basesystem-minimal
+ #/usr/bin/dnf --installroot="${BUILD_PATH}" --setopt=ignorearch=True ${DNF_MIRROROPTS} --assumeyes install basesystem-minimal
#if [ ${?} -ne 0 ]; then
# error "line ${LINENO} error installing basesystem-minimal : exiting"
# exit ${ERR_1}
#fi
- /sbin/urpmi --urpmi-root "${BUILD_PATH}" --ignorearch --no-verify-rpm --auto --split-level 200 --split-length 0 urpmi locales u-boot
+ /usr/bin/dnf --installroot="${BUILD_PATH}" --setopt=ignorearch=True ${DNF_MIRROROPTS} --assumeyes install dnf dnf-plugins-core locales u-boot
if [ ${?} -ne 0 ]; then
- error "line ${LINENO} error installing urpmi or locales.fr : exiting"
+ error "line ${LINENO} error installing dnf or locales : exiting"
+ exit ${ERR_1}
+ fi
+ /usr/bin/dnf --installroot="${BUILD_PATH}" --setopt=ignorearch=True ${DNF_MIRROROPTS} --assumeyes install urpmi
+ if [ ${?} -ne 0 ]; then
+ error "line ${LINENO} error installing urpmi : exiting"
exit ${ERR_1}
fi
return 0
@@ -705,7 +744,7 @@ fi
# parsing commandline
-TEMP=$(getopt -o h,a --long all,help,clean,create-chroot,addmedia,create-image,,config:,target:,target-version:,chroot,bootfs:,install-basesystem,update-mirror,build-path:,size:,nonfree,tainted -n ${CMDNAME} -- "${@}")
+TEMP=$(getopt -o h,a --long all,help,clean,create-chroot,add-urpmimedia,create-image,,config:,target:,target-version:,chroot,bootfs:,install-basesystem,update-mirror,build-path:,size:,nonfree,tainted -n ${CMDNAME} -- "${@}")
if [ ${?} -ne 0 ] ; then error "line ${LINENO} Failed parsing options." >&2 ; exit ${ERR_1} ; fi
eval set -- "${TEMP}"
@@ -745,9 +784,9 @@ while true; do
fi
shift
;;
- --addmedia)
+ --add-urpmimedia)
if [ -z ${OPT} ]; then
- OPT="addmedia"
+ OPT="addurpmimedia"
fi
shift
;;
@@ -926,16 +965,19 @@ case ${OPT} in
fi
createImageWrap #Create the empty .img
createchroot #Check qemu and activate it
- addmedia
- updatemirror
+ genusemirroroptions #Generate mirror options, if needed
installbasesystem #Generate the rootfs, rootfiles, ...
+ enableextrarepos
+ addurpmimedia
mkfstab
preparechroot
jumpchroot
#Check before is useless (with $MIRROR
info "Use mirrorlist to light one server."
MIRROR=
- addmedia
+ genusemirroroptions
+ enableextrarepos
+ addurpmimedia
mountPartitions
copyingsystem
unmountingPartitions
@@ -947,11 +989,8 @@ case ${OPT} in
"chroot")
jumpchroot
;;
- "addmedia")
- addmedia
- ;;
- "updatemirror")
- updatemirror
+ "addurpmimedia")
+ addurpmimedia
;;
"createimage")
verify_disk_space
diff --git a/platforms/bananaPro/README.md b/platforms/bananaPro/README.md
index 8b68d53..3d422ed 100644
--- a/platforms/bananaPro/README.md
+++ b/platforms/bananaPro/README.md
@@ -115,6 +115,6 @@ rm -f ./vmlinuz && ln -r -s ./vmlinuz-5.3.1-desktop-2.mga7 ./vmlinuz
```
## Commands used :
-./create_arm_img_urpmi.sh --clean --config bananaPro --build-path ./build
-./create_arm_img_urpmi.sh --all --target bananaPro --size 2 --tainted --nonfree --build-path ./build --config bananaPro 2>&1 | tee -a ./log/creation.log
+./create_arm_image.sh --clean --config bananaPro --build-path ./build
+./create_arm_image.sh --all --target bananaPro --size 2 --tainted --nonfree --build-path ./build --config bananaPro 2>&1 | tee -a ./log/creation.log
dd if=./build/Mageia-7-bananaPro1.img | pv | dd of=/dev/mmcblk0 ; sync
diff --git a/platforms/bananaPro/second_stage_install.sh b/platforms/bananaPro/second_stage_install.sh
index 1cec482..47cad5a 100644
--- a/platforms/bananaPro/second_stage_install.sh
+++ b/platforms/bananaPro/second_stage_install.sh
@@ -24,16 +24,16 @@ export ARCH=arm
/usr/bin/chown :systemd-journal -R /var/log/journal
#Install all packages you need
-/usr/sbin/urpmi --ignorearch --no-verify-rpm --auto --split-level 200 --split-length 0 basesystem chrony polkit lockdev rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make rsync binutils ldetect usbutils #kernel-desktop-latest # systemd-bootchart libcap-utils keyutils mindi-busybox plymouth-scripts lvm2 #dmsetup
+/usr/bin/dnf --setopt=ignorearch=True --nogpgcheck --assumeyes install basesystem chrony polkit lockdev rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make rsync binutils ldetect usbutils #kernel-desktop-latest # systemd-bootchart libcap-utils keyutils mindi-busybox plymouth-scripts lvm2 #dmsetup
#For dracut :
-# /usr/sbin/urpmi --ignorearch --no-verify-rpm --auto --split-level 200 --split-length 0 u-boot-tools mindi-busybox plymouth-scripts #systemd-bootchart libcap-utils keyutils lvm2 #dmsetup
+# /usr/bin/dnf --setopt=ignorearch=True --nogpgcheck --assumeyes install u-boot-tools mindi-busybox plymouth-scripts #systemd-bootchart libcap-utils keyutils lvm2 #dmsetup
# ############################
# ## For compiling a module ##
# ############################
# BUG : Make does not like to build inside chroot. It doesn't find tools. Impossible to build any module there.
-# /usr/sbin/urpmi --ignorearch --no-verify-rpm --auto --split-level 200 --split-length 0 kernel-source-latest
+# /usr/bin/dnf --setopt=ignorearch=True --nogpgcheck --assumeyes install kernel-source-latest
# #See if it is a Server or Desktop kernel :
# rpm -q kernel-serveur-latest
# if [ 0 -ne ${?} ]; then
@@ -79,13 +79,12 @@ ln -r -s /boot/initrd-${K_INST_VERSION}.img /boot/initrd.img
###########################################
## Install a package from testing repo : ##
###########################################
-# urpmi.update Testing
-# urpmi --auto --media Testing kernel-desktop-latest
+# dnf --refresh --enablerepo=updates_testing-\* --assumeyes install kernel-desktop-latest
############################################
## Installing the kernel (not on testing) ##
############################################
-# urpmi --auto kernel-desktop-latest
+# dnf --refresh --assumeyes install kernel-desktop-latest
###############################################
## Create a symlink for the lastest kernel : ##
diff --git a/platforms/rpi1/second_stage_install.sh b/platforms/rpi1/second_stage_install.sh
index 1848789..173692b 100644
--- a/platforms/rpi1/second_stage_install.sh
+++ b/platforms/rpi1/second_stage_install.sh
@@ -23,7 +23,7 @@
#Install all packages you need
# No verifying rpm due to a bug in packages, some are not signed
-/usr/sbin/urpmi --auto --no-verify-rpm basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make binutils dracut u-boot rsync kernel-desktop-latest mlocate drakx-kbd-mouse-x11
+/usr/bin/dnf --nogpgcheck --assumeyes install basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make binutils dracut u-boot rsync kernel-desktop-latest mlocate drakx-kbd-mouse-x11
/usr/bin/chown :chrony -R /etc/chrony.keys /var/log/chrony
diff --git a/platforms/rpi2/second_stage_install.sh b/platforms/rpi2/second_stage_install.sh
index eb105f7..0eea945 100644
--- a/platforms/rpi2/second_stage_install.sh
+++ b/platforms/rpi2/second_stage_install.sh
@@ -23,7 +23,7 @@
#Install all packages you need
# No verifying rpm due to a bug in packages, some are not signed
-/usr/sbin/urpmi --auto --no-verify-rpm basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make binutils dracut u-boot rsync kernel-desktop-latest mlocate drakx-kbd-mouse-x11 glibc-i18ndata
+/usr/bin/dnf --nogpgcheck --assumeyes install basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make binutils dracut u-boot rsync kernel-desktop-latest mlocate drakx-kbd-mouse-x11 glibc-i18ndata
/usr/bin/chown :chrony -R /etc/chrony.keys /var/log/chrony
diff --git a/platforms/rpi3+/second_stage_install.sh b/platforms/rpi3+/second_stage_install.sh
index eb105f7..0eea945 100644
--- a/platforms/rpi3+/second_stage_install.sh
+++ b/platforms/rpi3+/second_stage_install.sh
@@ -23,7 +23,7 @@
#Install all packages you need
# No verifying rpm due to a bug in packages, some are not signed
-/usr/sbin/urpmi --auto --no-verify-rpm basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make binutils dracut u-boot rsync kernel-desktop-latest mlocate drakx-kbd-mouse-x11 glibc-i18ndata
+/usr/bin/dnf --nogpgcheck --assumeyes install basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make binutils dracut u-boot rsync kernel-desktop-latest mlocate drakx-kbd-mouse-x11 glibc-i18ndata
/usr/bin/chown :chrony -R /etc/chrony.keys /var/log/chrony
diff --git a/platforms/rpi3+64/second_stage_install.sh b/platforms/rpi3+64/second_stage_install.sh
index eb105f7..0eea945 100644
--- a/platforms/rpi3+64/second_stage_install.sh
+++ b/platforms/rpi3+64/second_stage_install.sh
@@ -23,7 +23,7 @@
#Install all packages you need
# No verifying rpm due to a bug in packages, some are not signed
-/usr/sbin/urpmi --auto --no-verify-rpm basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make binutils dracut u-boot rsync kernel-desktop-latest mlocate drakx-kbd-mouse-x11 glibc-i18ndata
+/usr/bin/dnf --nogpgcheck --assumeyes install basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make binutils dracut u-boot rsync kernel-desktop-latest mlocate drakx-kbd-mouse-x11 glibc-i18ndata
/usr/bin/chown :chrony -R /etc/chrony.keys /var/log/chrony
diff --git a/platforms/rpi3/second_stage_install.sh b/platforms/rpi3/second_stage_install.sh
index eb105f7..0eea945 100644
--- a/platforms/rpi3/second_stage_install.sh
+++ b/platforms/rpi3/second_stage_install.sh
@@ -23,7 +23,7 @@
#Install all packages you need
# No verifying rpm due to a bug in packages, some are not signed
-/usr/sbin/urpmi --auto --no-verify-rpm basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make binutils dracut u-boot rsync kernel-desktop-latest mlocate drakx-kbd-mouse-x11 glibc-i18ndata
+/usr/bin/dnf --nogpgcheck --assumeyes install basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make binutils dracut u-boot rsync kernel-desktop-latest mlocate drakx-kbd-mouse-x11 glibc-i18ndata
/usr/bin/chown :chrony -R /etc/chrony.keys /var/log/chrony
diff --git a/platforms/xu4/second_stage_install.sh b/platforms/xu4/second_stage_install.sh
index c9f023f..0587135 100644
--- a/platforms/xu4/second_stage_install.sh
+++ b/platforms/xu4/second_stage_install.sh
@@ -22,9 +22,9 @@
#Install all packages you need
-/usr/sbin/urpmi --auto --no-verify-rpm /root/kernel-odroid-4.14.y-1.armv7hl.rpm basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make dracut u-boot-tools rsync kernel-desktop-latest
-#/usr/sbin/urpmi --urpmi-root "$BUILD_PATH" --ignorearch --no-verify-rpm --auto --split-level 200 --split-length 200
-/usr/sbin/urpmi --auto --no-verify-rpm /root/u-boot-20180507-3.mga7.armv7hl.rpm
+/usr/bin/dnf --nogpgcheck --assumeyes install /root/kernel-odroid-4.14.y-1.armv7hl.rpm basesystem chrony rng-tools man openssh-server rfkill wireless-tools bluez wpa_supplicant make dracut u-boot-tools rsync kernel-desktop-latest
+#/usr/bin/dnf --installroot="$BUILD_PATH" --setopt=ignorearch=True --nogpgcheck --assumeyes install
+/usr/bin/dnf --nogpgcheck --assumeyes install /root/u-boot-20180507-3.mga7.armv7hl.rpm
/usr/bin/chown :chrony -R /etc/chrony.keys /var/log/chrony
/usr/bin/chown :daemon /etc/wpa_supplicant.conf
/usr/bin/chown :tty /bin/write /bin/wall
diff --git a/tools/install_graphical.sh b/tools/install_graphical.sh
index 847d653..cb2c74d 100755
--- a/tools/install_graphical.sh
+++ b/tools/install_graphical.sh
@@ -25,7 +25,7 @@ else
echo "installing gstreamer"
. $PATH/install_gstreamer.sh
echo "installing task-$1"
- /usr/sbin/urpmi --auto --no-verify-rpm task-$1 sox sddm
+ /usr/bin/dnf --nogpgcheck --assumeyes install task-$1 sox sddm
/usr/bin/alternatives --config soundprofile
fi
/usr/bin/systemctl enable sddm
diff --git a/tools/install_gstreamer.sh b/tools/install_gstreamer.sh
index 5b39dbf..0e87530 100755
--- a/tools/install_gstreamer.sh
+++ b/tools/install_gstreamer.sh
@@ -17,4 +17,4 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-/usr/sbin/urpmi --auto --no-verify-rpm gstreamer1.0-gsm gstreamer1.0-plugins-ugly gstreamer1.0-opencv gstreamer1.0-vp8 gstreamer1.0-flac gstreamer1.0-amrnb gstreamer1.0-plugins-bad gstreamer1.0-lame gstreamer1.0-plugins-good gstreamer1.0-twolame gstreamer1.0-ofa gstreamer1.0-libav gstreamer1.0-pulse gstreamer1.0-transcoder gstreamer1.0-neon gstreamer1.0-mpeg gstreamer1.0-libvisual gstreamer1.0-wavpack gstreamer1.0-mpeg2enc gstreamer1.0-vaapi gstreamer1.0-x264 gstreamer1.0-tools gstreamer1.0-editing-services gstreamer1.0-speex x265 gstreamer1.0-soup gstreamer1.0-a52dec gstreamer1.0-libass gstreamer1.0-omx qt5-gstreamer task-codec-audio task-codec-video task-pulseaudio
+/usr/bin/dnf --nogpgcheck --assumeyes install gstreamer1.0-gsm gstreamer1.0-plugins-ugly gstreamer1.0-opencv gstreamer1.0-vp8 gstreamer1.0-flac gstreamer1.0-amrnb gstreamer1.0-plugins-bad gstreamer1.0-lame gstreamer1.0-plugins-good gstreamer1.0-twolame gstreamer1.0-ofa gstreamer1.0-libav gstreamer1.0-pulse gstreamer1.0-transcoder gstreamer1.0-neon gstreamer1.0-mpeg gstreamer1.0-libvisual gstreamer1.0-wavpack gstreamer1.0-mpeg2enc gstreamer1.0-vaapi gstreamer1.0-x264 gstreamer1.0-tools gstreamer1.0-editing-services gstreamer1.0-speex x265 gstreamer1.0-soup gstreamer1.0-a52dec gstreamer1.0-libass gstreamer1.0-omx qt5-gstreamer task-codec-audio task-codec-video task-pulseaudio
diff --git a/tools/install_video_driver.sh b/tools/install_video_driver.sh
index 97d7619..3b98020 100755
--- a/tools/install_video_driver.sh
+++ b/tools/install_video_driver.sh
@@ -17,7 +17,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-/usr/sbin/urpmi --auto --no-verify-rpm x11-driver-video-fbdev xinit xclock xorg-x11 xorg-x11-75dpi-fonts drakconf
+/usr/bin/dnf --nogpgcheck --assumeyes install x11-driver-video-fbdev xinit xclock xorg-x11 xorg-x11-75dpi-fonts drakconf
systemctl enable display-manager.service
#echo "#!/bin/sh
diff --git a/tools/resize_root.sh b/tools/resize_root.sh
index 99aee12..59a961f 100755
--- a/tools/resize_root.sh
+++ b/tools/resize_root.sh
@@ -9,7 +9,7 @@ if [ ${1} = "force" ]; then
#Check dependency
hash growpart
if [ ${?} -ne 0 ]; then
- echo "install cloud-utils-growpart first. Hint : urpmi cloud-utils-growpart"
+ echo "install cloud-utils-growpart first. Hint : dnf install cloud-utils-growpart"
exit 1
fi