added rpi 4 configuration
corrected bug in addmedia for cauldron need updating u-boot package
This commit is contained in:
parent
f6e6323bf7
commit
a27de93bfe
@ -128,12 +128,21 @@ function genusemirroroptions()
|
|||||||
|
|
||||||
DNF_MIRROROPTS="--config=${DNF_CONFIGPATH} --forcearch=${ARM_VERSION} --nogpgcheck --releasever=${MAGEIA_VERSION}"
|
DNF_MIRROROPTS="--config=${DNF_CONFIGPATH} --forcearch=${ARM_VERSION} --nogpgcheck --releasever=${MAGEIA_VERSION}"
|
||||||
if [ ! -z "${MIRROR}" ]; then
|
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"
|
DNF_MIRROROPTS="${DNF_MIRROROPTS} --disablerepo=* --repofrompath=mgarel,${MIRROR}/media/core/release/ --enablerepo=mgarel"
|
||||||
|
if [ "${MAGEIA_VERSION}" != "cauldron" ]; then
|
||||||
|
DNF_MIRROROPTS="${DNF_MIRROROPTS} --repofrompath=mgaup,${MIRROR}/media/core/updates/ --enablerepo=mgaup"
|
||||||
|
fi
|
||||||
if [ ${NONFREE} -eq 1 ]; then
|
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"
|
DNF_MIRROROPTS="${DNF_MIRROROPTS} --repofrompath=mgarel-nonfree,${MIRROR}/media/nonfree/release/ --enablerepo=mgarel-nonfree "
|
||||||
|
if [ "${MAGEIA_VERSION}" != "cauldron" ]; then
|
||||||
|
DNF_MIRROROPTS="${DNF_MIRROROPTS} --repofrompath=mgaup-nonfree,${MIRROR}/media/nonfree/updates/ --enablerepo=mgaup-nonfree"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if [ ${TAINTED} -eq 1 ]; then
|
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"
|
DNF_MIRROROPTS="${DNF_MIRROROPTS} --repofrompath=mgarel-tainted,${MIRROR}/media/tainted/release/ --enablerepo=mgarel-tainted "
|
||||||
|
if [ "${MAGEIA_VERSION}" != "cauldron" ]; then
|
||||||
|
DNF_MIRROROPTS="${DNF_MIRROROPTS} --repofrompath=mgaup-tainted,${MIRROR}/media/tainted/updates/ --enablerepo=mgaup-tainted"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
export DNF_MIRROROPTS
|
export DNF_MIRROROPTS
|
||||||
@ -143,16 +152,21 @@ function genusemirroroptions()
|
|||||||
# enabling extra Mageia repositories
|
# enabling extra Mageia repositories
|
||||||
function enableextrarepos()
|
function enableextrarepos()
|
||||||
{
|
{
|
||||||
if [ "${MAGEIA_VERSION}" = "cauldron" ]; then
|
extrasect_baseprefix="mageia"
|
||||||
extrasect_baseprefix="cauldron"
|
# if [ "${MAGEIA_VERSION}" = "cauldron" ]; then
|
||||||
extrasect_updatesprefix="cauldron-updates"
|
# extrasect_baseprefix="cauldron"
|
||||||
else
|
# extrasect_updatesprefix=""
|
||||||
extrasect_baseprefix="mageia"
|
# else
|
||||||
extrasect_updatesprefix="updates"
|
# extrasect_baseprefix="mageia"
|
||||||
fi
|
extrasect_updatesprefix="updates"
|
||||||
|
# fi
|
||||||
if [ ${NONFREE} -eq 1 ]; then
|
if [ ${NONFREE} -eq 1 ]; then
|
||||||
title "activating non-free repos"
|
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"
|
DNFPARAM=--installroot="${BUILD_PATH}" config-manager --set-enabled "${extrasect_baseprefix}-${ARM_VERSION}-nonfree"
|
||||||
|
if [ "${MAGEIA_VERSION}" != "cauldron" ]; then
|
||||||
|
DNFPARAM=$DNFPARAM" --set-enabled ${extrasect_updatesprefix}-${ARM_VERSION}-nonfree"
|
||||||
|
fi
|
||||||
|
/usr/bin/dnf $DNFPARAM;
|
||||||
err=${?}
|
err=${?}
|
||||||
if [ ${err} -ne 0 ]; then
|
if [ ${err} -ne 0 ]; then
|
||||||
error "line ${LINENO} error ${err} - can't activate nonfree repositories : exiting"
|
error "line ${LINENO} error ${err} - can't activate nonfree repositories : exiting"
|
||||||
@ -161,7 +175,11 @@ function enableextrarepos()
|
|||||||
fi
|
fi
|
||||||
if [ ${TAINTED} -eq 1 ]; then
|
if [ ${TAINTED} -eq 1 ]; then
|
||||||
title "activating tainted repos"
|
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"
|
DNFPARAM=--installroot="${BUILD_PATH}" config-manager --set-enabled "${extrasect_baseprefix}-${ARM_VERSION}-tainted"
|
||||||
|
if [ "${MAGEIA_VERSION}" != "cauldron" ]; then
|
||||||
|
DNFPARAM=$DNFPARAM" --set-enabled ${extrasect_updatesprefix}-${ARM_VERSION}-tainted"
|
||||||
|
fi
|
||||||
|
/usr/bin/dnf $DNFPARAM²
|
||||||
err=${?}
|
err=${?}
|
||||||
if [ ${err} -ne 0 ]; then
|
if [ ${err} -ne 0 ]; then
|
||||||
error "line ${LINENO} error ${err} - can't activate tainted repositories : exiting"
|
error "line ${LINENO} error ${err} - can't activate tainted repositories : exiting"
|
||||||
@ -992,7 +1010,7 @@ case ${OPT} in
|
|||||||
genusemirroroptions #Generate mirror options, if needed
|
genusemirroroptions #Generate mirror options, if needed
|
||||||
installbasesystem #Generate the rootfs, rootfiles, ...
|
installbasesystem #Generate the rootfs, rootfiles, ...
|
||||||
enableextrarepos
|
enableextrarepos
|
||||||
addurpmimedia
|
# addurpmimedia
|
||||||
mkfstab
|
mkfstab
|
||||||
preparechroot
|
preparechroot
|
||||||
jumpchroot
|
jumpchroot
|
||||||
@ -1001,7 +1019,7 @@ case ${OPT} in
|
|||||||
MIRROR=
|
MIRROR=
|
||||||
genusemirroroptions
|
genusemirroroptions
|
||||||
enableextrarepos
|
enableextrarepos
|
||||||
addurpmimedia
|
# addurpmimedia
|
||||||
mountPartitions
|
mountPartitions
|
||||||
copyingsystem
|
copyingsystem
|
||||||
unmountingPartitions
|
unmountingPartitions
|
||||||
|
66
platforms/mageia4arm.cfg
Normal file
66
platforms/mageia4arm.cfg
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
|
||||||
|
# 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 or later, cauldron.
|
||||||
|
# TO MODIFY
|
||||||
|
MAGEIA_VERSION=""
|
||||||
|
# Arm version armv7hl, aarch64
|
||||||
|
# TO MODIFY
|
||||||
|
ARM_VERSION=""
|
||||||
|
|
||||||
|
# Target plateform (odroid or rpi)
|
||||||
|
# TO MODIFY
|
||||||
|
TARGET=""
|
||||||
|
# Target version (0,2,3 for raspi, 3 or 4 for odroid)
|
||||||
|
#TO MODIFY
|
||||||
|
TARGET_VERSION=""
|
||||||
|
|
||||||
|
# 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="/path/to/$TARGET"
|
||||||
|
|
||||||
|
# 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
|
||||||
|
BOOT="/mnt/boot"
|
||||||
|
ROOT="/mnt/root"
|
||||||
|
|
||||||
|
# Default user
|
||||||
|
# TO MODIFY
|
||||||
|
ID_USER="user login"
|
||||||
|
PASSWORD="user password"
|
||||||
|
|
||||||
|
#root password
|
||||||
|
ROOT_PWD="root password"
|
||||||
|
|
||||||
|
#Hostname
|
||||||
|
HOSTNAME="$TARGET.$ID_USER"
|
||||||
|
|
||||||
|
#Filesystem of boot partitions (default ext4 raspberry pi need vfat)
|
||||||
|
#BOOTFS=ext4
|
||||||
|
|
||||||
|
#kernel package to install (just needed for odroid)
|
||||||
|
#KERNEL=kernel-odroid
|
||||||
|
|
||||||
|
#Path where the raspberry pi firmware is/will be installed ( just needed for raspberry pi )
|
||||||
|
FIRMWARE_PATH="$INSTALL_PATH/"
|
1
platforms/rpi4/10-vchiq-permissions.rules
Normal file
1
platforms/rpi4/10-vchiq-permissions.rules
Normal file
@ -0,0 +1 @@
|
|||||||
|
SUBSYSTEM=="vchiq",GROUP="video",MODE="0660"
|
BIN
platforms/rpi4/bcm2711-rpi-4-b.dtb
Normal file
BIN
platforms/rpi4/bcm2711-rpi-4-b.dtb
Normal file
Binary file not shown.
66
platforms/rpi4/brcmfmac43430-sdio.txt
Normal file
66
platforms/rpi4/brcmfmac43430-sdio.txt
Normal file
@ -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
|
BIN
platforms/rpi4/brcmfmac43455-sdio.clm_blob
Normal file
BIN
platforms/rpi4/brcmfmac43455-sdio.clm_blob
Normal file
Binary file not shown.
92
platforms/rpi4/brcmfmac43455-sdio.txt
Normal file
92
platforms/rpi4/brcmfmac43455-sdio.txt
Normal file
@ -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
|
10
platforms/rpi4/extlinux.conf
Normal file
10
platforms/rpi4/extlinux.conf
Normal file
@ -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
|
||||||
|
|
101
platforms/rpi4/mageia4arm.cfg
Normal file
101
platforms/rpi4/mageia4arm.cfg
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
|
||||||
|
# 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="cauldron"
|
||||||
|
ARM_VERSION="aarch64"
|
||||||
|
# ARM_VERSION="armv7hl"
|
||||||
|
|
||||||
|
#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="4"
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
INFORMATION="
|
||||||
|
https://elinux.org/RPi_Software
|
||||||
|
https://www.raspberrypi.org/documentation/configuration/config-txt/boot.md
|
||||||
|
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/bootcode.bin
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/bcm2710-rpi-3-b-plus.dtb
|
||||||
|
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/fixup.dat
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/start.elf
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/fixup4.dat #Rpi4
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/start4.elf #Rpi4
|
||||||
|
|
||||||
|
#Debug (implicitly used with start_debug=1)
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/fixup_db.dat
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/start_db.elf
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/start4db.elf #Rpi4
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/fixup4db.dat #Rpi4
|
||||||
|
|
||||||
|
#Low GPU Memory (=16MB)
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/fixup_cd.dat
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/start_cd.elf
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/start4cd.elf #Rpi4
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/fixup4cd.dat #Rpi4
|
||||||
|
|
||||||
|
#Testing versions (eXtra features) (like camera module) (implicitly used with start_x=1 ) :
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/fixup_x.dat
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/start_x.elf
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/start4x.elf #Rpi4
|
||||||
|
https://github.com/raspberrypi/firmware/blob/master/boot/fixup4x.dat #Rpi4
|
||||||
|
"
|
||||||
|
FIRMWARE_DOWNLOAD_URL="https://github.com/raspberrypi/firmware/raw/master/boot/bootcode.bin
|
||||||
|
https://github.com/raspberrypi/firmware/raw/master/boot/bcm2711-rpi-4-b.dtb
|
||||||
|
https://github.com/raspberrypi/firmware/raw/master/boot/fixup4.dat
|
||||||
|
https://github.com/raspberrypi/firmware/raw/master/boot/start4.elf
|
||||||
|
https://github.com/raspberrypi/firmware/raw/master/boot/fixup4x.dat
|
||||||
|
https://github.com/raspberrypi/firmware/raw/master/boot/start4x.elf
|
||||||
|
"
|
56
platforms/rpi4/mageia4arm.cfg.original
Normal file
56
platforms/rpi4/mageia4arm.cfg.original
Normal file
@ -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"
|
3
platforms/rpi4/modprobe.conf
Normal file
3
platforms/rpi4/modprobe.conf
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
alias wlan0 brcmfmac
|
||||||
|
alias eth0 smsc95xx
|
||||||
|
alias usb0 rndis_host
|
55
platforms/rpi4/second_stage_install.sh
Normal file
55
platforms/rpi4/second_stage_install.sh
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
#!/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/>.
|
||||||
|
|
||||||
|
export ARCH=arm
|
||||||
|
|
||||||
|
/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
|
||||||
|
|
||||||
|
VMLINUZ=$(ls --sort=time -1 /boot/vmlinuz-[[:digit:]]* | head -n 1)
|
||||||
|
# Normally, /boot/vmlinuz is generated with the /sbin/installkernel script, but it is not generated with chroot.
|
||||||
|
rm -f /boot/vmlinuz
|
||||||
|
ln -r -s "${VMLINUZ}" /boot/vmlinuz #For extlinux.conf
|
||||||
|
|
||||||
|
rm -f ${0}
|
||||||
|
|
||||||
|
K_INST_VERSION=$(rpm -q kernel-desktop-latest | sed -e 's/kernel-\([[:alnum:]]*\)-latest-\([\.[:digit:]]*\)-\([\.[:alnum:]]*\).*$/\2-\1-\3/')
|
||||||
|
dracut --no-compress --force --no-hostonly --local --no-early-microcode --confdir "/etc/dracut.conf.d" --kmoddir="/lib/modules/${K_INST_VERSION}" --xz --printsize --kernel-image /boot/vmlinuz --fstab /boot/initrd-${K_INST_VERSION}.img ${K_INST_VERSION}
|
||||||
|
ln -r -s /boot/initrd-${K_INST_VERSION}.img /boot/initrd.img
|
||||||
|
echo "Dracut done."
|
||||||
|
|
||||||
|
alternatives --set soundprofile /etc/sound/profiles/alsa
|
159
platforms/rpi4/specialFunctions.sh
Executable file
159
platforms/rpi4/specialFunctions.sh
Executable file
@ -0,0 +1,159 @@
|
|||||||
|
#!/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 "Download binary blob for Rpi"
|
||||||
|
for i in ${FIRMWARE_DOWNLOAD_URL}; do
|
||||||
|
info "Download ${i}"
|
||||||
|
curl -L -O -J ${i} -s
|
||||||
|
done
|
||||||
|
|
||||||
|
# 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 "Creating Pi image"
|
||||||
|
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"
|
||||||
|
;;
|
||||||
|
"4")
|
||||||
|
info "copying u-boot for ${TARGET} 4 64 bits"
|
||||||
|
cp --preserve=mode "${BUILD_PATH}/usr/lib/u-boot/rpi_4/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
|
||||||
|
}
|
Reference in New Issue
Block a user