]> git.zerfleddert.de Git - m1-debian/commitdiff
use pigz -9; fix wifi detection on usb stick
authorThomas Glanzmann <thomas@glanzmann.de>
Sat, 26 Feb 2022 18:00:49 +0000 (19:00 +0100)
committerThomas Glanzmann <thomas@glanzmann.de>
Sat, 26 Feb 2022 18:00:49 +0000 (19:00 +0100)
bootstrap.sh
files/wifi.pl [new file with mode: 0755]

index 5bfb47dfe6b373f01b94efe719751b6762bd7b65..356549dc78d62d61a0f6af0a64df11a6c99cdb1c 100644 (file)
@@ -112,7 +112,8 @@ build_live_stick()
 (
         rm -rf live-stick
         mkdir -p live-stick/efi/boot live-stick/efi/debian/
-        sudo bash -c 'cd testing; find . | cpio --quiet -H newc -o | pigz > ../live-stick/initrd.gz'
+        sudo cp ../files/wifi.pl testing/etc/rc.local
+        sudo bash -c 'cd testing; find . | cpio --quiet -H newc -o | pigz -9 > ../live-stick/initrd.gz'
         cp testing/usr/lib/grub/arm64-efi/monolithic/grubaa64.efi live-stick/efi/boot/bootaa64.efi
         cp testing/boot/vmlinuz* live-stick/vmlinuz
         cp ../files/grub.cfg live-stick/efi/debian/grub.cfg
@@ -132,7 +133,7 @@ build_dd()
         sudo cp -a testing/* mnt/
         sudo rm mnt/init
         sudo umount mnt
-        tar cf - media | pigz > m1.tgz
+        tar cf - media | pigz -9 > m1.tgz
 )
 }
 
@@ -167,7 +168,7 @@ build_di_stick()
         sudo cp -a testing/lib/modules/* initrd/lib/modules/
         sudo cp ../files/wifi.sh initrd/
         sudo cp ../files/boot.sh initrd/
-        (cd initrd; find . | cpio --quiet -H newc -o | pigz > ../di-stick/initrd.gz)
+        (cd initrd; find . | cpio --quiet -H newc -o | pigz -9 > ../di-stick/initrd.gz)
         sudo rm -rf initrd
         cp testing/usr/lib/grub/arm64-efi/monolithic/grubaa64.efi di-stick/efi/boot/bootaa64.efi
         cp testing/boot/vmlinuz* di-stick/vmlinuz
diff --git a/files/wifi.pl b/files/wifi.pl
new file mode 100755 (executable)
index 0000000..dad4758
--- /dev/null
@@ -0,0 +1,30 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings FATAL => 'all';
+
+my $firmware_tarball = '/mnt/linux-firmware.tar';
+my @vfat_devices;
+
+for (`blkid`) {
+        if (/^([^:]+):.*vfat/) {
+                push @vfat_devices, $1;
+        }
+}
+
+for my $dev (@vfat_devices) {
+        system("mount -o ro $dev /mnt");
+        if (test -f $firmware_tarball) {
+                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');
+        }
+        system('umount /mnt');
+
+}
Impressum, Datenschutz