14/05/2022

 Linux underground

Raspberry Pi 4 et Gentoo

Avertissement :
Document brouillon : rien n'a été testé
excepté le logiciel Pi Imager

Pour mémoire

Pour les OS officiellement supportés, je fais très facilement une cart SD bootable prêt à l'emploi avec Raspberry Pi Imager.

Mise à jour du programme de démarrage stocké dans la ROM du Raspberry Pi

Installez le paquet rpi-eeprom, puis lancez :
# rpi-eeprom-update -a

 Après la mise à jour, configurez l’Eeprom pour autoriser le démarrage depuis un disque dur externe. Le programme qui autorise cette configuration est rpi-eeprom-config --edit . Il faut changer la directive BOOT_ORDER. Plusieurs valeurs sont possibles. Le Raspberry Pi essaie de démarrer depuis les différentes options données, de droite vers gauche par priorité décroissante.

J’ai entré 0x41 comme valeur pour la directive BOOT_ORDER. Cela signifie:

    Essaie de démarrer sur la carte SD (valeur 1 la plus à droite);
    Si cela ne marche pas, essaie de démarrer sur le disque dur externe (valeur 4).

Si j’avais configuré le BOOT_ORDER à 0x242, le Raspberry Pi aurait essayé de démarrer, dans l’ordre:

    depuis la carte SD;
    depuis un disque dur externe
    depuis le réseau (valeur 2).

Source : https://michael.parienti.net/posts/2021/03/16/booter-en-arm64-sur-un-disque-externe-son-raspberrypi4/.

Gentoo

https://www.raspberrypi.org/documentation/linux/kernel/building.md#choosing_sources

https://www.stephenwagner.com/2020/03/17/how-to-compile-linux-kernel-raspberry-pi-4-raspbian/

cd linux
KERNEL=kernel7l
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig
make -j4 zImage modules dtbs

make modules_install

cp arch/arm/boot/dts/*.dtb /boot/
cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
cp arch/arm/boot/dts/overlays/README /boot/overlays/
cp arch/arm/boot/zImage /boot/kernel-stephen.img

Configure the PI to boot using the new kernel by modifying and adding the below line to “/boot/config.txt”.
kernel=kernel-stephen.img


u-boot
https://elinux.org/RPi_U-Boot

make rpi_defconfig
find rpi_*_defconfig ?

make rpi_arm64_defconfig (https://stackoverflow.com/questions/64014958/cant-get-u-boot-running-on-raspberry-pi-4b-what-are-the-absolute-necessities)


Contact