Mir schon klar das es nicht um die Installation des Kernels geht. Jedoch muss das System ja wissen das sich der Kernel geändert hat damit das Treiberpaket neugebaut und installiert wird.
Vollautomatisch geht das denke ich nur mit einem hook in der mkinitcpio.conf. Halbautomatisch könntest du wohl auch einfach irgendwo eine Datei erstellen dessen Existenz dann in der rc.local abgefragt wird und das Paket erstellt wird.
Zusätzlich könntest du auch einen Eintrag in der rc.local.shutdown machen der die Quelldateien runterläd bevor das System beendet wird da du ja nach dem Neustart keine Netzverbindung hast.
Sowas könnte zb so aussehen:
#rc.local.shutdown
if [ -e "/etc/r8169-rebuild" ]; then
cd /var/abs/local/yaourtbuild/
rm -rf r8169.old
mv r8169{,.old}
yaourt -g r8169
cd r8169
makepkg -o
fi
#rc.local
if [ -e "/etc/r8169-rebuild" ]; then
cd /var/abs/local/yaourtbuild/r8169
makepkg
pacman --noconfirm -U r8169-*.pkg.tar.xz
rm /etc/r8169-rebuild
reboot
fi
Damit diese Skripte funktionieren muss du halt manuell die datei /etc/r8169-rebuild anlegen wenn du willst das beim nächsten neustart das Paket neugebaut wird.
Man könnte diese Skripte sicherlich noch um einiges schöner gestalten indem man zb abfragt ob der Source erfolgreich runtergeladen wurde oder sowas.
Benutz es aber nicht blind sondern lies es durch und versteh es bevor du irgendwas damit machst. Kann gut sein das ich dich missverstanden habe. 🙂