find-firmware.pl 562 B

1234567891011121314151617181920212223242526272829303132
  1. #!/usr/bin/perl -w
  2. use strict;
  3. my $dir = shift;
  4. die "no directory to scan" if !$dir;
  5. die "no such directory" if ! -d $dir;
  6. # die "strange directory name: $dir" if $dir !~ m|^(.*/)?(5.\d.\d+\-\d+\-pve)(/+)?$|;
  7. my $apiver = $2;
  8. open(TMP, "find '$dir' -name '*.ko'|");
  9. while (defined(my $fn = <TMP>)) {
  10. chomp $fn;
  11. my $relfn = $fn;
  12. $relfn =~ s|^$dir/*||;
  13. my $cmd = "/sbin/modinfo -F firmware '$fn'";
  14. open(MOD, "$cmd|");
  15. while (defined(my $fw = <MOD>)) {
  16. chomp $fw;
  17. print "$fw $relfn\n";
  18. }
  19. close(MOD);
  20. }
  21. close TMP;
  22. exit 0;