aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDTux <contact@librepc.com>2020-01-05 13:05:14 +0000
committerGogs <gogs@fake.local>2020-01-05 13:05:14 +0000
commitdf81adfaa244343bff7bbb0554fd8f84b42dc0a6 (patch)
treef2cac5a3ac46bfdd6b11d97fafb41cfb723ed083
parent415110895ec1ca7e32dc55ed3b3305359f9321c4 (diff)
parentb4da22f2cf860bec7c185a57ba34dd253ac67b12 (diff)
downloadmageia4arm-df81adfaa244343bff7bbb0554fd8f84b42dc0a6.tar
mageia4arm-df81adfaa244343bff7bbb0554fd8f84b42dc0a6.tar.gz
mageia4arm-df81adfaa244343bff7bbb0554fd8f84b42dc0a6.tar.bz2
mageia4arm-df81adfaa244343bff7bbb0554fd8f84b42dc0a6.tar.xz
mageia4arm-df81adfaa244343bff7bbb0554fd8f84b42dc0a6.zip
Merge branch 'dnfify' of ngompa/mageia4arm into master
-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/mageia4arm.cfg13
-rw-r--r--platforms/bananaPro/second_stage_install.sh11
-rw-r--r--platforms/rpi1/second_stage_install.sh2
-rwxr-xr-xplatforms/rpi1/specialFunctions.sh2
-rw-r--r--platforms/rpi2/second_stage_install.sh2
-rwxr-xr-xplatforms/rpi2/specialFunctions.sh2
-rw-r--r--platforms/rpi3+/mageia4arm.cfg23
-rw-r--r--platforms/rpi3+/second_stage_install.sh2
-rwxr-xr-xplatforms/rpi3+/specialFunctions.sh2
-rw-r--r--platforms/rpi3+64/10-vchiq-permissions.rules1
-rw-r--r--platforms/rpi3+64/brcmfmac43430-sdio.txt66
-rw-r--r--platforms/rpi3+64/brcmfmac43455-sdio.clm_blobbin0 -> 11231 bytes
-rw-r--r--platforms/rpi3+64/brcmfmac43455-sdio.txt92
-rw-r--r--platforms/rpi3+64/extlinux.conf10
-rw-r--r--platforms/rpi3+64/firmware-stable.zipbin0 -> 21999616 bytes
-rw-r--r--platforms/rpi3+64/mageia4arm.cfg65
-rw-r--r--platforms/rpi3+64/mageia4arm.cfg.original56
-rw-r--r--platforms/rpi3+64/modprobe.conf3
-rw-r--r--platforms/rpi3+64/second_stage_install.sh43
-rwxr-xr-xplatforms/rpi3+64/specialFunctions.sh149
-rw-r--r--platforms/rpi3+64/stable.zipbin0 -> 2945024 bytes
-rw-r--r--platforms/rpi3/second_stage_install.sh2
-rwxr-xr-xplatforms/rpi3/specialFunctions.sh2
-rw-r--r--platforms/xu4/second_stage_install.sh6
-rwxr-xr-xplatforms/xu4/specialFunctions.sh14
-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
32 files changed, 604 insertions, 99 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/mageia4arm.cfg b/platforms/bananaPro/mageia4arm.cfg
index b3c2e98..5e00da6 100644
--- a/platforms/bananaPro/mageia4arm.cfg
+++ b/platforms/bananaPro/mageia4arm.cfg
@@ -22,24 +22,19 @@
# FEX (DTS) : https://github.com/LeMaker/sunxi-boards
# Mageia version 7 or later, cauldron.
-# TO MODIFY
MAGEIA_VERSION="7"
# Arm version armv7hl, aarch64
-# TO MODIFY
ARM_VERSION="armv7hl"
# Target plateform (odroid or rpi)
-# TO MODIFY
TARGET="bananaPro"
# Target version (0,2,3 for raspi, 3 or 4 for odroid)
-#TO MODIFY
TARGET_VERSION="1"
# URL of the Mageia mirror used to install ( see mirrors.mageia.org )
MIRROR="http://ftp.free.fr/mirrors/mageia.org/distrib/${MAGEIA_VERSION}/${ARM_VERSION}"
# image will be created here
-# TO MODIFY
# INSTALL_PATH="./${TARGET}"
# Should not be in this configuration file, it isn't related to the configuration but to the build platform.
@@ -49,10 +44,6 @@ BUILD_PATH="${INSTALL_PATH}/build"
#name of the image
IMAGE="Mageia-${MAGEIA_VERSION}-${TARGET}.img"
-#Mount point of image's partitions
-BOOT="/mnt/boot"
-ROOT="/mnt/root"
-
# Default user
# If not set, no user will be defined.
# ID_USER="banana"
@@ -69,6 +60,10 @@ HOSTNAME="${TARGET}"
SEPARATE_BOOT_PARTITION=0
BOOTFS="ext4"
+#Mount point of image's partitions
+BOOT="/mnt/boot"
+ROOT="/mnt/root"
+
#kernel package to install
KERNEL="kernel-desktop"
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/rpi1/specialFunctions.sh b/platforms/rpi1/specialFunctions.sh
index d388bcd..3d09d3f 100755
--- a/platforms/rpi1/specialFunctions.sh
+++ b/platforms/rpi1/specialFunctions.sh
@@ -132,7 +132,7 @@ function copyingCustomSystem()
if ! [ -d "${ROOT}/usr/lib/firmware/brcm/" ]; then
/bin/mkdir -p "${ROOT}/usr/lib/firmware/brcm/"
fi
- if ! [ -f "${ROOT}/usr/lib/firmware/brcm/brcmfmac434"* ]; then
+ if ! [[ -f "${ROOT}/usr/lib/firmware/brcm/brcmfmac434"* ]]; then
/bin/cp --preserve=mode "${CONFIG_PATH}/brcmfmac434"* "${ROOT}/usr/lib/firmware/brcm/"
if [ ${?} -ne 0 ]; then
error "line ${LINENO} error copying wifi firmware in ${ROOTP}/usr/lib/firmware/brcm/ : exiting"
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/rpi2/specialFunctions.sh b/platforms/rpi2/specialFunctions.sh
index dec8c36..b63fa2a 100755
--- a/platforms/rpi2/specialFunctions.sh
+++ b/platforms/rpi2/specialFunctions.sh
@@ -131,7 +131,7 @@ function copyingCustomSystem()
if ! [ -d "${ROOT}/usr/lib/firmware/brcm/" ]; then
/bin/mkdir -p "${ROOT}/usr/lib/firmware/brcm/"
fi
- if ! [ -f "${ROOT}/usr/lib/firmware/brcm/brcmfmac434"* ]; then
+ if ! [[ -f "${ROOT}/usr/lib/firmware/brcm/brcmfmac434"* ]]; then
/bin/cp --preserve=mode "${CONFIG_PATH}/brcmfmac434"* "${ROOT}/usr/lib/firmware/brcm/"
if [ ${?} -ne 0 ]; then
error "line ${LINENO} error copying wifi firmware in ${ROOTP}/usr/lib/firmware/brcm/ : exiting"
diff --git a/platforms/rpi3+/mageia4arm.cfg b/platforms/rpi3+/mageia4arm.cfg
index bf8a58a..8667978 100644
--- a/platforms/rpi3+/mageia4arm.cfg
+++ b/platforms/rpi3+/mageia4arm.cfg
@@ -25,21 +25,17 @@ TARGET="rpi"
TARGET_VERSION="3+"
# URL of the Mageia mirror used to install ( see mirrors.mageia.org )
-MIRROR="http://ftp.free.fr/mirrors/mageia.org/distrib/$MAGEIA_VERSION/$ARM_VERSION"
+MIRROR="http://ftp.free.fr/mirrors/mageia.org/distrib/${MAGEIA_VERSION}/${ARM_VERSION}"
#MIRROR="/mnt/STOCK/mageia/distrib/$MAGEIA_VERSION/$ARM_VERSION"
-# image will be created here
-INSTALL_PATH="/mnt/perso/raspi-test"
+# image will be created here
+# INSTALL_PATH="/mnt/perso/raspi-test"
# Build directory will be created here
-BUILD_PATH="$INSTALL_PATH/build"
+BUILD_PATH="${INSTALL_PATH}/build"
#name of the image
-IMAGE="Mageia-${MAGEIA_VERSION}-$TARGET.img"
-
-#Mount point of image's partitions
-BOOT="/mnt/boot"
-ROOT="/mnt/root"
+IMAGE="Mageia-${MAGEIA_VERSION}-${TARGET}.img"
#Default user
ID_USER="pi"
@@ -49,16 +45,21 @@ PASSWORD="raspberry"
ROOT_PWD="piroot"
#Hostname
-HOSTNAME="$TARGET.$ID_USER"
+HOSTNAME="${TARGET}"
#Filesystem of boot partitions (default ext4 raspberry pi need vfat)
+SEPARATE_BOOT_PARTITION=1
BOOTFS="vfat"
+#Mount point of image's partitions
+BOOT="/mnt/boot"
+ROOT="/mnt/root"
+
#The arguments for the Kernel
BOOT_ARGS='dwc_otg.lpm_enable=0 console=ttyS0,115200 kgdboc=ttyS0,115200 console=tty1 rootwait fsck.repair=1 8250.nr_uarts=1 elevator=deadline cma=256M\@512M audit=0'
#Path where the raspberry pi firmware is/will be installed
-FIRMWARE_PATH="$INSTALL_PATH"
+FIRMWARE_PATH="${INSTALL_PATH}"
FIRMWARE_DIR="firmware-stable"
FIRMWARE_DOWNLOAD_URL="https://github.com/raspberrypi/firmware/archive/stable.zip"
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+/specialFunctions.sh b/platforms/rpi3+/specialFunctions.sh
index ad00c50..2dc08f5 100755
--- a/platforms/rpi3+/specialFunctions.sh
+++ b/platforms/rpi3+/specialFunctions.sh
@@ -132,7 +132,7 @@ function copyingCustomSystem()
if ! [ -d "${ROOT}/usr/lib/firmware/brcm/" ]; then
/bin/mkdir -p "${ROOT}/usr/lib/firmware/brcm/"
fi
- if ! [ -f "${ROOT}/usr/lib/firmware/brcm/brcmfmac434"* ]; then
+ if ! [[ -f "${ROOT}/usr/lib/firmware/brcm/brcmfmac434"* ]]; then
/bin/cp --preserve=mode "${CONFIG_PATH}/brcmfmac434"* "${ROOT}/usr/lib/firmware/brcm/"
if [ ${?} -ne 0 ]; then
error "line ${LINENO} error copying wifi firmware in ${ROOTP}/usr/lib/firmware/brcm/ : exiting"
diff --git a/platforms/rpi3+64/10-vchiq-permissions.rules b/platforms/rpi3+64/10-vchiq-permissions.rules
new file mode 100644
index 0000000..bacea0e
--- /dev/null
+++ b/platforms/rpi3+64/10-vchiq-permissions.rules
@@ -0,0 +1 @@
+SUBSYSTEM=="vchiq",GROUP="video",MODE="0660"
diff --git a/platforms/rpi3+64/brcmfmac43430-sdio.txt b/platforms/rpi3+64/brcmfmac43430-sdio.txt
new file mode 100644
index 0000000..ea4f648
--- /dev/null
+++ b/platforms/rpi3+64/brcmfmac43430-sdio.txt
@@ -0,0 +1,66 @@
+# NVRAM file for BCM943430WLPTH
+# 2.4 GHz, 20 MHz BW mode
+
+# The following parameter values are just placeholders, need to be updated.
+manfid=0x2d0
+prodid=0x0727
+vendid=0x14e4
+devid=0x43e2
+boardtype=0x0727
+boardrev=0x1101
+boardnum=22
+macaddr=00:90:4c:c5:12:38
+sromrev=11
+boardflags=0x00404201
+boardflags3=0x08000000
+xtalfreq=37400
+nocrc=1
+ag0=255
+aa2g=1
+ccode=ALL
+
+pa0itssit=0x20
+extpagain2g=0
+#PA parameters for 2.4GHz, measured at CHIP OUTPUT
+pa2ga0=-168,7161,-820
+AvVmid_c0=0x0,0xc8
+cckpwroffset0=5
+
+# PPR params
+maxp2ga0=84
+txpwrbckof=6
+cckbw202gpo=0
+legofdmbw202gpo=0x66111111
+mcsbw202gpo=0x77711111
+propbw202gpo=0xdd
+
+# OFDM IIR :
+ofdmdigfilttype=18
+ofdmdigfilttypebe=18
+# PAPD mode:
+papdmode=1
+papdvalidtest=1
+pacalidx2g=42
+papdepsoffset=-22
+papdendidx=58
+
+# LTECX flags
+ltecxmux=0
+ltecxpadnum=0x0102
+ltecxfnsel=0x44
+ltecxgcigpio=0x01
+
+il0macaddr=00:90:4c:c5:12:38
+wl0id=0x431b
+
+deadman_to=0xffffffff
+# muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG
+muxenab=0x1
+# CLDO PWM voltage settings - 0x4 - 1.1 volt
+#cldo_pwm=0x4
+
+#VCO freq 326.4MHz
+spurconfig=0x3
+
+edonthd20l=-75
+edoffthd20ul=-80
diff --git a/platforms/rpi3+64/brcmfmac43455-sdio.clm_blob b/platforms/rpi3+64/brcmfmac43455-sdio.clm_blob
new file mode 100644
index 0000000..09b930b
--- /dev/null
+++ b/platforms/rpi3+64/brcmfmac43455-sdio.clm_blob
Binary files differ
diff --git a/platforms/rpi3+64/brcmfmac43455-sdio.txt b/platforms/rpi3+64/brcmfmac43455-sdio.txt
new file mode 100644
index 0000000..260c929
--- /dev/null
+++ b/platforms/rpi3+64/brcmfmac43455-sdio.txt
@@ -0,0 +1,92 @@
+# Cloned from bcm94345wlpagb_p2xx.txt
+NVRAMRev=$Rev: 498373 $
+sromrev=11
+vendid=0x14e4
+devid=0x43ab
+manfid=0x2d0
+prodid=0x06e4
+#macaddr=00:90:4c:c5:12:38
+macaddr=b8:27:eb:74:f2:6c
+nocrc=1
+boardtype=0x6e4
+boardrev=0x1304
+
+#XTAL 37.4MHz
+xtalfreq=37400
+
+btc_mode=1
+#------------------------------------------------------
+#boardflags: 5GHz eTR switch by default
+# 2.4GHz eTR switch by default
+# bit1 for btcoex
+boardflags=0x00480201
+boardflags2=0x40800000
+boardflags3=0x48200100
+phycal_tempdelta=15
+rxchain=1
+txchain=1
+aa2g=1
+aa5g=1
+tssipos5g=1
+tssipos2g=1
+femctrl=0
+AvVmid_c0=1,165,2,100,2,100,2,100,2,100
+pa2ga0=-129,6525,-718
+pa2ga1=-149,4408,-601
+pa5ga0=-185,6836,-815,-186,6838,-815,-184,6859,-815,-184,6882,-818
+pa5ga1=-202,4285,-574,-201,4312,-578,-196,4391,-586,-201,4294,-575
+itrsw=1
+pdoffsetcckma0=2
+pdoffset2gperchan=0,-2,1,0,1,0,1,1,1,0,0,-1,-1,0
+pdoffset2g40ma0=16
+pdoffset40ma0=0x8888
+pdoffset80ma0=0x8888
+extpagain5g=2
+extpagain2g=2
+tworangetssi2g=1
+tworangetssi5g=1
+# LTECX flags
+# WCI2
+ltecxmux=0
+ltecxpadnum=0x0504
+ltecxfnsel=0x22
+ltecxgcigpio=0x32
+
+maxp2ga0=80
+ofdmlrbw202gpo=0x0022
+dot11agofdmhrbw202gpo=0x4442
+mcsbw202gpo=0x98444422
+mcsbw402gpo=0x98444422
+maxp5ga0=82,82,82,82
+mcsbw205glpo=0xb9555000
+mcsbw205gmpo=0xb9555000
+mcsbw205ghpo=0xb9555000
+mcsbw405glpo=0xb9555000
+mcsbw405gmpo=0xb9555000
+mcsbw405ghpo=0xb9555000
+mcsbw805glpo=0xb9555000
+mcsbw805gmpo=0xb9555000
+mcsbw805ghpo=0xb9555000
+
+swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff
+swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe
+swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3
+swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3
+
+vcodivmode=1
+deadman_to=481500000
+
+ed_thresh2g=-54
+ed_thresh5g=-54
+eu_edthresh2g=-54
+eu_edthresh5g=-54
+ldo1=4
+rawtempsense=0x1ff
+cckPwrIdxCorr=3
+cckTssiDelay=150
+ofdmTssiDelay=150
+txpwr2gAdcScale=1
+txpwr5gAdcScale=1
+dot11b_opts=0x3aa85
+cbfilttype=1
+fdsslevel_ch11=6
diff --git a/platforms/rpi3+64/extlinux.conf b/platforms/rpi3+64/extlinux.conf
new file mode 100644
index 0000000..bd8b64e
--- /dev/null
+++ b/platforms/rpi3+64/extlinux.conf
@@ -0,0 +1,10 @@
+menu Welcome to Mageia-Minimal.
+timeout 20
+default linux
+
+label linux
+ kernel /boot/vmlinuz
+ append root=UUID=<UUID> <BOOT_ARGS>
+ fdtdir /usr/lib/<FDTDIR>
+ initrd /boot/initrd
+
diff --git a/platforms/rpi3+64/firmware-stable.zip b/platforms/rpi3+64/firmware-stable.zip
new file mode 100644
index 0000000..b8e29c3
--- /dev/null
+++ b/platforms/rpi3+64/firmware-stable.zip
Binary files differ
diff --git a/platforms/rpi3+64/mageia4arm.cfg b/platforms/rpi3+64/mageia4arm.cfg
new file mode 100644
index 0000000..f852972
--- /dev/null
+++ b/platforms/rpi3+64/mageia4arm.cfg
@@ -0,0 +1,65 @@
+
+# Copyright (C) 2017-2018 Daniel Tartavel-jeannot <contact@librepc.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+MAGEIA_VERSION="7"
+ARM_VERSION="aarch64"
+
+#target plateform (xu3-4 or rpi)
+TARGET="rpi"
+#version of the target
+# 0, 1, 2 ,3_32 for rpi and 3 or 4 for odroid
+TARGET_VERSION="3+64"
+
+# URL of the Mageia mirror used to install ( see mirrors.mageia.org )
+MIRROR="http://ftp.free.fr/mirrors/mageia.org/distrib/${MAGEIA_VERSION}/${ARM_VERSION}"
+#MIRROR="/mnt/STOCK/mageia/distrib/$MAGEIA_VERSION/$ARM_VERSION"
+
+# image will be created here
+# INSTALL_PATH="/mnt/perso/raspi-test"
+
+# Build directory will be created here
+BUILD_PATH="${INSTALL_PATH}/build"
+
+#name of the image
+IMAGE="Mageia-${MAGEIA_VERSION}-${TARGET}.img"
+
+#Default user
+ID_USER="pi"
+PASSWORD="raspberry"
+
+#root password
+ROOT_PWD="piroot"
+
+#Hostname
+HOSTNAME="${TARGET}"
+
+#Mount point of image's partitions
+BOOT="/mnt/boot"
+ROOT="/mnt/root"
+
+#Filesystem of boot partitions (default ext4 raspberry pi need vfat)
+SEPARATE_BOOT_PARTITION=1
+BOOTFS="vfat"
+
+#The arguments for the Kernel
+BOOT_ARGS='dwc_otg.lpm_enable=0 console=ttyS0,115200 kgdboc=ttyS0,115200 console=tty1 rootwait fsck.repair=1 8250.nr_uarts=1 elevator=deadline cma=256M\@512M audit=0'
+
+#Path where the raspberry pi firmware is/will be installed
+FIRMWARE_PATH="$INSTALL_PATH"
+FIRMWARE_DIR="firmware-stable"
+FIRMWARE_DOWNLOAD_URL="https://github.com/raspberrypi/firmware/archive/stable.zip"
+
diff --git a/platforms/rpi3+64/mageia4arm.cfg.original b/platforms/rpi3+64/mageia4arm.cfg.original
new file mode 100644
index 0000000..e1b78d9
--- /dev/null
+++ b/platforms/rpi3+64/mageia4arm.cfg.original
@@ -0,0 +1,56 @@
+
+# Copyright (C) 2017-2018 Daniel Tartavel-jeannot <dtux@free.fr>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+MAGEIA_VERSION="7"
+ARM_VERSION="armv7hl"
+
+#target plateform (xu3-4 or rpi)
+TARGET="rpi"
+
+# URL of the Mageia mirror used to install ( see mirrors.mageia.org )
+MIRROR="http://ftp.free.fr/mirrors/mageia.org/distrib/$MAGEIA_VERSION/$ARM_VERSION"
+# image will be created here
+INSTALL_PATH="<change this>"
+
+# Build directory will be created here
+BUILD_PATH="$INSTALL_PATH/build"
+
+#name of the image
+IMAGE="Mageia-${MAGEIA_VERSION}-$TARGET.img"
+
+#Mount point of image's partitions
+#no need to be changed
+BOOT="/mnt/boot"
+ROOT="/mnt/root"
+
+#Default user
+ID_USER="pi"
+PASSWORD="raspberry"
+
+#root password
+ROOT_PWD="piroot"
+
+#Hostname
+HOSTNAME="$TARGET.$ID_USER"
+
+#Filesystem of boot partitions (default ext4 raspberry pi need vfat)
+#DO NOT CHANGE THIS
+BOOTFS="vfat"
+
+#Path where the raspberry pi firmware is/will be downloaded
+FIRMWARE_PATH="$INSTALL_PATH"
+FIRMWARE_DIR="firmware-stable"
diff --git a/platforms/rpi3+64/modprobe.conf b/platforms/rpi3+64/modprobe.conf
new file mode 100644
index 0000000..7725dae
--- /dev/null
+++ b/platforms/rpi3+64/modprobe.conf
@@ -0,0 +1,3 @@
+alias wlan0 brcmfmac
+alias eth0 smsc95xx
+alias usb0 rndis_host
diff --git a/platforms/rpi3+64/second_stage_install.sh b/platforms/rpi3+64/second_stage_install.sh
new file mode 100644
index 0000000..0eea945
--- /dev/null
+++ b/platforms/rpi3+64/second_stage_install.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+# Copyright (C) 2017-2018 Daniel Tartavel-jeannot <contact@librepc.com>
+#
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+/usr/bin/chown :shadow /etc/shadow /etc/gshadow /etc/login.defs /etc/pam.d/chage-chfn-chsh /etc/pam.d/chpasswd-newusers /etc/pam.d/system-auth /etc/pam.d/user-group-mod /bin/passwd /bin/chage
+
+/usr/bin/chown :systemd-journal -R /var/log/journal
+
+#Install all packages you need
+# No verifying rpm due to a bug in packages, some are not signed
+
+/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
+/usr/bin/chown :daemon /etc/wpa_supplicant.conf
+/usr/bin/chown :tty /bin/write /bin/wall
+/usr/bin/chown :lock /sbin/lockdev
+/usr/bin/chown :bin /sbin/traceroute
+/usr/bin/chown polkitd /etc/polkit-1/rules.d
+
+KV=`basename /boot/vmlinuz-*`
+KV=${KV#vmlinuz-}
+dracut --kver $KV
+rm -f $0
+cp /boot/vmlinuz-* /boot/vmlinuz
+cp /boot/initrd-* /boot/initrd
+
+alternatives --set soundprofile /etc/sound/profiles/alsa
diff --git a/platforms/rpi3+64/specialFunctions.sh b/platforms/rpi3+64/specialFunctions.sh
new file mode 100755
index 0000000..c239b89
--- /dev/null
+++ b/platforms/rpi3+64/specialFunctions.sh
@@ -0,0 +1,149 @@
+#!/bin/bash
+
+# Copyright (C) 2017-2018 Daniel Tartavel-jeannot <contact@librepc.com>
+# Copyright (C) 2019-2020 Jean-Baptiste Biernacki <j.biernacki@free.fr>
+#
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+#RPI partitionning :
+DEFAULT=""
+NEW_PART=n
+PRIMARY=p
+CHANGE_TYPE=t
+CHANGE_BOOTFLAG=a
+APPLY=w
+
+PART_BOOT=1
+PART_BOOT_FIRST_SECTOR=${DEFAULT}
+PART_BOOT_SIZE="+128M"
+
+PART_ROOT=2
+PART_ROOT_FIRST_SECTOR=${DEFAULT}
+PART_ROOT_SIZE=${DEFAULT}
+
+TYPE_FAT32LBA=c
+
+FDISK_SCRIPT="${NEW_PART}\n${PRIMARY}\n${PART_BOOT}\n${PART_BOOT_FIRST_SECTOR}\n${PART_BOOT_SIZE}\n${CHANGE_TYPE}\n${TYPE_FAT32LBA}\n${NEW_PART}\n${PRIMARY}\n${PART_ROOT}\n${PART_ROOT_FIRST_SECTOR}\n${PART_ROOT_SIZE}\n${CHANGE_BOOTFLAG}\n${PART_BOOT}\n${CHANGE_BOOTFLAG}\n${PART_ROOT}\n${APPLY}\n"
+
+
+function preImgCreation()
+{
+ title "Creating Pi image"
+
+ if ! [ -d "${FIRMWARE_PATH}/${FIRMWARE_DIR}" ]; then # the firmware directory does not exists
+ echo "$(ls *.zip| wc -l)"
+ if [ "$(ls *.zip| wc -l)" -eq 0 ]; then # the firmware archive does not exists
+ warning "The raspberry pi firmware need to be downloaded"
+ info "Downloading FIRMWARE_FILENAME"
+ wget ${FIRMWARE_DOWNLOAD_URL}
+# curl -L -O -J ${FIRMWARE_DOWNLOAD_URL}
+# curl -L ${FIRMWARE_DOWNLOAD_URL} -o firmware-stable.zip
+ if [ ${?} -ne 0 ]; then
+ error "line ${LINENO} error downloading raspberry firmware at ${FIRMWARE_DOWNLOAD_URL}: exiting"
+ exit 1
+ fi
+ fi
+ info "extracting firmware"
+ unzip -d "${FIRMWARE_PATH}" *.zip
+ if [ ${?} -ne 0 ]; then
+ error "line ${LINENO} error unzipping ${FIRMWARE_PATH} : exiting"
+ exit 1
+ fi
+ fi
+
+ title "Making raspberry pi image"
+ return 0
+}
+
+function postPrepareChroot()
+{
+ #Nothing to do. (Except replacing default function.)
+ return 0
+}
+
+
+function bunrningBootloader()
+{
+ #Nothing to do. (Except replacing default function.)
+ return 0
+}
+
+
+function copyingCustomSystem()
+{
+ info "copying 10-vchiq-permissions.rules"
+ cp --preserve=mode "${CONFIG_PATH}/10-vchiq-permissions.rules" "${BUILD_PATH}/etc/udev/rules.d/"
+ info "Making /etc/modules"
+ echo -e "vchiq\nsnd_bcm2835\nvc4\nbrcmfmac" >> "${BUILD_PATH}"/etc/modules
+
+ ARM_BOOT="${BUILD_PATH}/mnt/arm_boot"
+ if ! [ -d "${ARM_BOOT}" ]; then
+ mkdir -p "${ARM_BOOT}"
+ fi
+ info "copying modprobe.conf"
+ /usr/bin/cp -v --preserve=mode "${CONFIG_PATH}/modprobe.conf" "${BUILD_PATH}/etc/"
+ chown root:root "${BUILD_PATH}/etc/modprobe.conf"
+
+ info "copying firmware, overlays in rpi boot partition"
+# cp -v --preserve=mode "${BUILD_PATH}/usr/lib/linux-"* "${BOOT}/dtb"
+ cp -v --preserve=mode "${FIRMWARE_PATH}/${FIRMWARE_DIR}/boot/start"* "${ARM_BOOT}/"
+ cp -v --preserve=mode "${FIRMWARE_PATH}/${FIRMWARE_DIR}/boot/fixup"* "${ARM_BOOT}/"
+ cp -v --preserve=mode "${FIRMWARE_PATH}/${FIRMWARE_DIR}/boot/bootcode.bin"* "${ARM_BOOT}/"
+ cp -vR --preserve=mode "${FIRMWARE_PATH}/${FIRMWARE_DIR}/boot/overlays" "${ARM_BOOT}/"
+
+ info "copying u-boot binary to ${ARM_BOOT}"
+ case ${TARGET_VERSION} in
+ "0")
+ info "copying u-boot for ${TARGET} 0"
+ cp --preserve=mode "${BUILD_PATH}/usr/lib/u-boot/rpi_0_w/u-boot.bin" "${ARM_BOOT}/kernel.img"
+ ;;
+ "1")
+ info "copying u-boot for ${TARGET} 1"
+ cp --preserve=mode "${BUILD_PATH}/usr/lib/u-boot/rpi/u-boot.bin" "${ARM_BOOT}/kernel.img"
+ ;;
+ "2")
+ info "copying u-boot for ${TARGET} 2"
+ cp --preserve=mode "${BUILD_PATH}/usr/lib/u-boot/rpi_2/u-boot.bin" "${ARM_BOOT}/kernel.img"
+ ;;
+ "3_32")
+ info "copying u-boot for ${TARGET} 3 32 bits"
+ cp --preserve=mode "${BUILD_PATH}/usr/lib/u-boot/rpi_3_32b/u-boot.bin" "${ARM_BOOT}/kernel.img"
+ ;;
+ "3+")
+ info "copying u-boot for ${TARGET} 3b+ 32 bits"
+ cp --preserve=mode "${BUILD_PATH}/usr/lib/u-boot/rpi_3_32b/u-boot.bin" "${ARM_BOOT}/kernel.img"
+ ;;
+ esac
+
+# info "copying raspberry optionals files in opt"
+# /bin/rsync -rlptDH "${FIRMWARE_PATH}/${FIRMWARE_DIR}/opt/" "${BUILD_PATH}/opt/"
+
+ info "copying wifi firmware file missing in kernel-firmware-nonfree"
+ if ! [ -d "${ROOT}/usr/lib/firmware/brcm/" ]; then
+ /bin/mkdir -p "${ROOT}/usr/lib/firmware/brcm/"
+ fi
+ if ! [[ -f "${ROOT}/usr/lib/firmware/brcm/brcmfmac434"* ]]; then
+ /bin/cp --preserve=mode "${CONFIG_PATH}/brcmfmac434"* "${ROOT}/usr/lib/firmware/brcm/"
+ if [ ${?} -ne 0 ]; then
+ error "line ${LINENO} error copying wifi firmware in ${ROOTP}/usr/lib/firmware/brcm/ : exiting"
+ exit ${ERR_1}
+ fi
+ fi
+
+ info "copying Mageia image to root partition"
+ /bin/rsync -rlptogDH --exclude "${ARM_BOOT}/" --exclude "qemu-arm-static*" "${BUILD_PATH}/" "${ROOT}/"
+ /bin/rsync -rlptogDH "${ARM_BOOT}/" "${BOOT}/"
+ return 0
+}
diff --git a/platforms/rpi3+64/stable.zip b/platforms/rpi3+64/stable.zip
new file mode 100644
index 0000000..fd6dc63
--- /dev/null
+++ b/platforms/rpi3+64/stable.zip
Binary files differ
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/specialFunctions.sh b/platforms/rpi3/specialFunctions.sh
index dec8c36..b63fa2a 100755
--- a/platforms/rpi3/specialFunctions.sh
+++ b/platforms/rpi3/specialFunctions.sh
@@ -131,7 +131,7 @@ function copyingCustomSystem()
if ! [ -d "${ROOT}/usr/lib/firmware/brcm/" ]; then
/bin/mkdir -p "${ROOT}/usr/lib/firmware/brcm/"
fi
- if ! [ -f "${ROOT}/usr/lib/firmware/brcm/brcmfmac434"* ]; then
+ if ! [[ -f "${ROOT}/usr/lib/firmware/brcm/brcmfmac434"* ]]; then
/bin/cp --preserve=mode "${CONFIG_PATH}/brcmfmac434"* "${ROOT}/usr/lib/firmware/brcm/"
if [ ${?} -ne 0 ]; then
error "line ${LINENO} error copying wifi firmware in ${ROOTP}/usr/lib/firmware/brcm/ : exiting"
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/platforms/xu4/specialFunctions.sh b/platforms/xu4/specialFunctions.sh
index 640f18e..9860735 100755
--- a/platforms/xu4/specialFunctions.sh
+++ b/platforms/xu4/specialFunctions.sh
@@ -80,19 +80,11 @@ function bunrningBootloader()
function copyingCustomSystem()
{
-<<<<<<< HEAD
-# ODROID_BOOT="${BUILD_PATH}/mnt/odroid_boot"
-# if ! [ -d "${ODROID_BOOT}" ]; then
-# rm -rf "${ODROID_BOOT}"
-# mkdir -p "${ODROID_BOOT}"
-# fi
-=======
ODROID_BOOT="${BUILD_PATH}/mnt/odroid_boot"
if ! [ -d "${ODROID_BOOT}" ]; then
rm -rf "${ODROID_BOOT}"
mkdir -p "${ODROID_BOOT}"
fi
->>>>>>> d7c2376925bec483811b4bdada1c415b5a333b91
case ${TARGET_VERSION} in
"xu4")
info "copying u-boot for ${TARGET} ${TARGET_VERSION}"
@@ -103,15 +95,9 @@ function copyingCustomSystem()
info "Copying extlinux.conf on ${ODROID_BOOT}"
cp --preserve=mode -R "${BUILD_PATH}/boot/extlinux" "${ODROID_BOOT}/"
-<<<<<<< HEAD
-# info "copying Mageia image to root partition"
-# /bin/rsync -rlptogDH --exclude "${ODROID_BOOT}/" --exclude "qemu-arm-static*" "${BUILD_PATH}/" "${ROOT}/"
-# /bin/rsync -rlptogDH "${ODROID_BOOT}/" "${BOOT}/"
-=======
info "copying Mageia image to root partition"
/bin/rsync -rlptogDH --exclude "${ODROID_BOOT}/" --exclude "qemu-arm-static*" "${BUILD_PATH}/" "${ROOT}/"
/bin/rsync -rlptogDH "${ODROID_BOOT}/" "${BOOT}/"
->>>>>>> d7c2376925bec483811b4bdada1c415b5a333b91
return 0
}
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