diff options
author | DTux <contact@librepc.com> | 2020-01-05 13:05:14 +0000 |
---|---|---|
committer | Gogs <gogs@fake.local> | 2020-01-05 13:05:14 +0000 |
commit | df81adfaa244343bff7bbb0554fd8f84b42dc0a6 (patch) | |
tree | f2cac5a3ac46bfdd6b11d97fafb41cfb723ed083 | |
parent | 415110895ec1ca7e32dc55ed3b3305359f9321c4 (diff) | |
parent | b4da22f2cf860bec7c185a57ba34dd253ac67b12 (diff) | |
download | mageia4arm-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
32 files changed, 604 insertions, 99 deletions
@@ -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 Binary files differnew file mode 100644 index 0000000..09b930b --- /dev/null +++ b/platforms/rpi3+64/brcmfmac43455-sdio.clm_blob 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 Binary files differnew file mode 100644 index 0000000..b8e29c3 --- /dev/null +++ b/platforms/rpi3+64/firmware-stable.zip 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 Binary files differnew file mode 100644 index 0000000..fd6dc63 --- /dev/null +++ b/platforms/rpi3+64/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 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 |