+sub
+install_grub
+{
+ system('apt-get install -y grub-efi-arm64-signed-');
+ system("echo 'grub-efi-arm64 grub2/update_nvram boolean false' | debconf-set-selections");
+ system("echo 'grub-efi-arm64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections");
+ system("dpkg-reconfigure -fnoninteractive grub-efi-arm64");
+ system("update-grub");
+}
+
+sub
+update_wifi_firmware_if_necessary
+{
+ return unless -f $firmware_tarball;
+
+ if (-f $firmware_manifest) {
+ system("sha256sum -c $firmware_manifest --quiet");
+ return if $? == 0;
+ }
+
+ system("sha256sum $firmware_tarball > $firmware_manifest");
+ system("tar -C /lib/firmware/ -xf $firmware_tarball");
+
+ system('rmmod brcmfmac');
+ system('rmmod brcmutil');
+ sleep(1);
+ system('modprobe brcmfmac');
+ sleep(1);
+ system('rmmod brcmfmac');
+ sleep(1);
+ system('modprobe brcmfmac');
+}
+