Passaggi per configurare il kernel ottimizzato per l'utilizzo con hat Adafruit e hat Ublox per Raspberry Pi 4

attivazione di Kernel PPS ( flag3 1 ) per ntpsec/ntp

sudo apt install git bc bison flex libssl-dev make libncurses5-dev

git clone --depth=1 --branch rpi-5.10.y https://github.com/raspberrypi/linux

cd linux

make bcm2711_defconfig

make menuconfig

Ho ottenuto le migliori prestazioni modificando quanto segue

per evitare sovrascritture e comunque per identificare meglio con che kernel abbiamo avviato il sistema modificare Local version

General Setup:

 

Compiliamo kernel e moduli

make prepare

make -j4 zImage modules dtbs

sudo make modules_install

Impostiamo e popoliamo le cartelle che conterrano i nuovi file di avvio e il kernel

sudo mkdir /boot/NTP

sudo mkdir /boot/NTP/overlays-NTP

sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/ntp/overlays-NTP/

sudo cp arch/arm/boot/dts/overlays/README /boot/NTP/overlays-NTP/

sudo cp arch/arm/boot/dts/*.dtb /boot/NTP/

sudo cp arch/arm/boot/zImage /boot/kernel-ntp.img

Configuriamo il file config.txt in modo che avvii il nuovo kernel, in caso di problemi sarà sufficiente eliminare le tre righe seguenti dal file config.txt per tornare ad avviare il vecchio kernel

sudo sed -i '1ios_prefix=NTP/' /boot/config.txt

sudo sed -i '2ioverlay_prefix=overlays-NTP/' /boot/config.txt

sudo sed -i '3ikernel=/kernel-ntp.img' /boot/config.txt

Le tre righe presenti all'inizio del file config.txt saranno le seguenti:

os_prefix=NTP/
overlay_prefix=overlays-NTP/
kernel=/kernel-ntp.img

se tutto si avvia correttamente verifichiamo la presenza del pps

pi@raspberrypi:~ $ dmesg | grep pps
[    0.138967] pps_core: LinuxPPS API ver. 1 registered
[    0.138998] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.>
[    1.631236] pps_ldisc: PPS line discipline registered
[    1.631734] pps pps0: new PPS source Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
[    1.631842] pps pps0: Registered IRQ 62 as PPS source
[  104.033611] pps pps0: bound kernel consumer: edge=0x1

Possiamo quindi attivare il "flag3 1" su ntp.conf, ntpsec/ntp

server 127.127.20.0 mode 89 iburst prefer minpoll 2 maxpoll 4
fudge 127.127.20.0 flag1 1 flag3 1 time1 0.0 time2 0.025 refid GPS

ottenendo il risultato che potete vedere qui:

https://www.kiokoman.eu.org/index.php/server-ntp-stats