]> git.zerfleddert.de Git - m1-debian/commitdiff
Merge branch 'master' of a.gmvl.de:/git/m1-debian
authorThomas Glanzmann <thomas@glanzmann.de>
Tue, 8 Feb 2022 20:25:23 +0000 (21:25 +0100)
committerThomas Glanzmann <thomas@glanzmann.de>
Tue, 8 Feb 2022 20:25:23 +0000 (21:25 +0100)
LICENSE [new file with mode: 0644]
bootstrap.sh
pmdi.pl [new file with mode: 0644]

diff --git a/LICENSE b/LICENSE
new file mode 100644 (file)
index 0000000..b15f619
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,20 @@
+Copyright (c) 2022 The Asahi Linux contributors
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
index 475c20d006155bfeb9d86c23ebe71c8019bcc3ea..20b1c13648cb4abf77b6113bbbe905cf73e70e29 100644 (file)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+# SPDX-License-Identifier: MIT
+
 set -x
 set -e
 
diff --git a/pmdi.pl b/pmdi.pl
new file mode 100644 (file)
index 0000000..12884d4
--- /dev/null
+++ b/pmdi.pl
@@ -0,0 +1,71 @@
+#!/usr/bin/perl
+
+# SPDX-License-Identifier: MIT
+
+use strict;
+
+my ($identifier, $size);
+
+sub
+find_identifier_before_free_space
+{
+       my $identifier = undef;
+       my $size = undef;
+
+       for my $line (`diskutil list /dev/disk0`) {
+
+               if ($line =~ /^\s+\(free space\)\s+(\d+.\d GB)/) {
+                       $size = $1;
+                       $size =~ s/\s+//g;
+                       last;
+               }
+
+               if ($line =~ /(disk0s\d)$/) {
+                       $identifier = $1;
+               }
+       }
+
+       die if not defined $identifier;
+       die if not defined $size;
+
+       return ($identifier, $size);
+}
+
+($identifier, $size) = find_identifier_before_free_space();
+system("diskutil addPartition $identifier %EFI% LB 512MB");
+
+$identifier = undef;
+
+for my $line (`diskutil list /dev/disk0`) {
+       if ($line =~ /EFI.*(disk0s\d)/) {
+               $identifier = $1;
+       }
+}
+
+die if not defined $identifier;
+
+system("newfs_msdos /dev/$identifier");
+system("mkdir -p /Volumes/efi");
+system("mount -t msdos /dev/$identifier /Volumes/efi");
+chdir('/Volumes/efi');
+system('mkdir -p /Volumes/efi/efi/boot');
+system('curl -Lo /Volumes/efi/efi/boot/bootaa64.efi https://tg.st/u/grubaa64.efi');
+system('curl -sL tg.st/u/fwx.sh | bash');
+system('cp /tmp/linux-firmware.tar /Volumes/efi/');
+chdir('/var/root');
+system('umount /Volumes/efi');
+
+($identifier, $size) = find_identifier_before_free_space();
+system("diskutil addPartition $identifier %Linux% %noformat% $size");
+
+$identifier = undef;
+
+for my $line (`diskutil list /dev/disk0`) {
+       if ($line =~ /Linux Filesystem.*(disk0s\d)/) {
+               $identifier = $1;
+       }
+}
+
+die if not defined $identifier;
+
+system("curl -L https://tg.st/u/m1.tgz | tar -xOz | dd of=/dev/$identifier bs=8m");
Impressum, Datenschutz