From f493aec296f00ac485a22e68a66c76ab4623796a Mon Sep 17 00:00:00 2001 From: Thomas Glanzmann Date: Sat, 26 Feb 2022 19:00:49 +0100 Subject: [PATCH 1/1] use pigz -9; fix wifi detection on usb stick --- bootstrap.sh | 7 ++++--- files/wifi.pl | 30 ++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 3 deletions(-) create mode 100755 files/wifi.pl diff --git a/bootstrap.sh b/bootstrap.sh index 5bfb47d..356549d 100644 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -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 index 0000000..dad4758 --- /dev/null +++ b/files/wifi.pl @@ -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'); + +} -- 2.39.5